From 77b47c9a0912687df89af74f1bf68e61fd5dd626 Mon Sep 17 00:00:00 2001 From: Ponpon Date: Sun, 5 Oct 2025 13:52:08 +0900 Subject: [PATCH 1/9] =?UTF-8?q?GH-916=20Add=20=E8=87=AA=E7=84=B6=E6=B9=A7?= =?UTF-8?q?=E3=81=8D=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/enemy/function/natural_spawn.mcfunction | 9 ++++++ .../natural_spawn_condition.mcfunction | 14 +++++++++ .../natural_spawn_modify_level.mcfunction | 30 +++++++++++++++++++ .../natural_spawn_summon_vex.mcfunction | 8 +++++ .../function/natural_spawn_type.mcfunction | 9 ++++++ .../function/natural_villager.mcfunction | 9 ++++++ .../silverfish_spawn/condition.mcfunction | 14 +++++++++ .../silverfish_spawn/spawn.mcfunction | 8 +++++ .../warden_spawn/condition.mcfunction | 14 +++++++++ .../function/warden_spawn/spawn.mcfunction | 9 ++++++ 10 files changed, 124 insertions(+) create mode 100644 data/enemy/function/natural_spawn.mcfunction create mode 100644 data/enemy/function/natural_spawn_condition.mcfunction create mode 100644 data/enemy/function/natural_spawn_modify_level.mcfunction create mode 100644 data/enemy/function/natural_spawn_summon_vex.mcfunction create mode 100644 data/enemy/function/natural_spawn_type.mcfunction create mode 100644 data/enemy/function/natural_villager.mcfunction create mode 100644 data/enemy/function/silverfish_spawn/condition.mcfunction create mode 100644 data/enemy/function/silverfish_spawn/spawn.mcfunction create mode 100644 data/enemy/function/warden_spawn/condition.mcfunction create mode 100644 data/enemy/function/warden_spawn/spawn.mcfunction diff --git a/data/enemy/function/natural_spawn.mcfunction b/data/enemy/function/natural_spawn.mcfunction new file mode 100644 index 0000000000..719a3df867 --- /dev/null +++ b/data/enemy/function/natural_spawn.mcfunction @@ -0,0 +1,9 @@ +#自然湧きのVexにスポーンタグを付与 +tag @s add Spawn +tag @s add NaturalSpawn +loot replace entity @s armor.head loot settings:enemy/natural_spawn +# 村人召喚時処理 + execute if data entity @s ArmorItems[3].tag{SpawnEntities:[[{Tags:[Global,Friendly,Blow,CommonVillager],Level:1}]]} run function enemy:natural_villager +function enemy:natural_spawn_modify_level +#召喚に失敗した場合はそのまま残す +execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn \ No newline at end of file diff --git a/data/enemy/function/natural_spawn_condition.mcfunction b/data/enemy/function/natural_spawn_condition.mcfunction new file mode 100644 index 0000000000..23b4d69d56 --- /dev/null +++ b/data/enemy/function/natural_spawn_condition.mcfunction @@ -0,0 +1,14 @@ +#> enemy:natural_spawn_condition +# +# 自然湧き条件を満たしているかどうか、判定する +# +# @within function entity:initialize_entity + +# CreeperのNBTを変更 + data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",NoAI:1b,Health:0.01f,Attributes:[{Name:"generic.max_health",Base:0.01d}]} + +# プレイヤーが64m以内にいるかを判定 + execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:natural_spawn + +# Spawnタグが付いてなかった場合は地面に埋めてやる + execute if entity @s[tag=!Spawn] run function enemy:natural_spawn_summon_vex diff --git a/data/enemy/function/natural_spawn_modify_level.mcfunction b/data/enemy/function/natural_spawn_modify_level.mcfunction new file mode 100644 index 0000000000..5bd03d0da5 --- /dev/null +++ b/data/enemy/function/natural_spawn_modify_level.mcfunction @@ -0,0 +1,30 @@ +## 自然湧きレベル変更 +# @s _ 占有 +execute store result score @s _ run data get entity @s ArmorItems[3].tag.SpawnEntities[0][0].Level 1 +scoreboard players add @s _ 1 +# _ Calc 占有 +execute store result score _ Calc run function calc:island/clear_count_percent +scoreboard players operation _ Calc *= _ Calc +scoreboard players add _ Calc 2000 +# _ _ 占有 +execute store result score _ _ run function calc:random +scoreboard players operation _ Calc *= @s _ +# _ Calc 占有 +scoreboard players set @s Calc 2000 +scoreboard players operation _ Calc /= @s Calc +scoreboard players operation _ _ %= _ Calc +scoreboard players operation _ _ += @s _ +# _ Calc 解放 +scoreboard players operation _ _ >< @s _ +# _ _ 解放 + +# _ _ 占有 +execute store result score _ _ run function calc:random +execute if score _ _ matches 0..511 run scoreboard players set @s Calc 10 +execute if score _ _ matches 0..511 run scoreboard players add @s _ 10 +execute if score _ _ matches 0..511 run scoreboard players operation @s _ *= @s Calc +execute if score _ _ matches 0..511 run tag @s add MutatedSpawn +# @s Calc 解放 +# _ _ 解放 +scoreboard players operation @s Level = @s _ +# @s _ 解放 \ No newline at end of file diff --git a/data/enemy/function/natural_spawn_summon_vex.mcfunction b/data/enemy/function/natural_spawn_summon_vex.mcfunction new file mode 100644 index 0000000000..e1214d051f --- /dev/null +++ b/data/enemy/function/natural_spawn_summon_vex.mcfunction @@ -0,0 +1,8 @@ +#> enemy:natural_spawn_summon_vex +# +# Vexを召喚しておく +# +# @within function enemy:natural_spawn_condition + +kill @s +summon vex ~ ~-1 ~ {Silent:1b,DeathTime:19,DeathLootTable:"",NoAI:1b,Health:0.01f,LifeTicks:200,Tags:["NaturalSpawn"],HandItems:[{},{}],Attributes:[{Name:"generic.max_health",Base:0.01d}],active_effects:[{id:"minecraft:invisibility",amplifier:0b,duration:-1,show_particles:0b}]} diff --git a/data/enemy/function/natural_spawn_type.mcfunction b/data/enemy/function/natural_spawn_type.mcfunction new file mode 100644 index 0000000000..c1d4d21095 --- /dev/null +++ b/data/enemy/function/natural_spawn_type.mcfunction @@ -0,0 +1,9 @@ +#> enemy:natural_spawn_type +# +# creeperかsilverfishで自然湧き処理の分岐をする +# +# @within function entity:initialize_entity + +execute if entity @s[type=creeper] run function enemy:natural_spawn_condition +execute if entity @s[type=silverfish] run function enemy:silverfish_spawn/condition +execute if entity @s[type=warden] run function enemy:warden_spawn/condition \ No newline at end of file diff --git a/data/enemy/function/natural_villager.mcfunction b/data/enemy/function/natural_villager.mcfunction new file mode 100644 index 0000000000..5ead9dd4e7 --- /dev/null +++ b/data/enemy/function/natural_villager.mcfunction @@ -0,0 +1,9 @@ +#> enemy:natural_villager +# +# 村人召喚処理 +# +# @within function enemy:natural_spawn + +# 攻略率スコアを取得して + execute store result score @s Calc run function calc:island/clear_count_percent + loot replace entity @s armor.head loot settings:enemy/natural_villager \ No newline at end of file diff --git a/data/enemy/function/silverfish_spawn/condition.mcfunction b/data/enemy/function/silverfish_spawn/condition.mcfunction new file mode 100644 index 0000000000..c7e2cd1c9e --- /dev/null +++ b/data/enemy/function/silverfish_spawn/condition.mcfunction @@ -0,0 +1,14 @@ +#> enemy:silverfish_spawn/condition +# +# 条件分岐 +# +# @within function enemy:natural_spawn_type + +# NBT付与 + data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",Health:0.01f,Attributes:[{Name:"generic.max_health",Base:0.01d}]} + +# プレイヤーが64m以内にいるかを判定 + execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:silverfish_spawn/spawn + +# Spawnタグが付いてなかった場合はKillする + kill @s[tag=!Spawn] diff --git a/data/enemy/function/silverfish_spawn/spawn.mcfunction b/data/enemy/function/silverfish_spawn/spawn.mcfunction new file mode 100644 index 0000000000..bdb46de05f --- /dev/null +++ b/data/enemy/function/silverfish_spawn/spawn.mcfunction @@ -0,0 +1,8 @@ +#> enemy:silverfish_spawn/spawn +# @within function enemy:silverfish_spawn/condition + +#自然湧きのSliverfishにスポーンタグを付与 +tag @s add Spawn +loot replace entity @s armor.head loot settings:enemy/silverfish_spawn +#召喚に失敗した場合はそのまま残す +execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn \ No newline at end of file diff --git a/data/enemy/function/warden_spawn/condition.mcfunction b/data/enemy/function/warden_spawn/condition.mcfunction new file mode 100644 index 0000000000..52451cc23e --- /dev/null +++ b/data/enemy/function/warden_spawn/condition.mcfunction @@ -0,0 +1,14 @@ +#> enemy:warden_spawn/condition +# +# 条件分岐 +# +# @within function enemy:natural_spawn_type + +# NBT付与 + data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",Health:0.01f,Attributes:[{Name:"generic.max_health",Base:0.01d}]} + +# プレイヤーが64m以内にいるかを判定 + execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:warden_spawn/spawn + +# Spawnタグが付いてなかった場合はKillする + kill @s[tag=!Spawn] diff --git a/data/enemy/function/warden_spawn/spawn.mcfunction b/data/enemy/function/warden_spawn/spawn.mcfunction new file mode 100644 index 0000000000..65fd3ecae4 --- /dev/null +++ b/data/enemy/function/warden_spawn/spawn.mcfunction @@ -0,0 +1,9 @@ +#> enemy:warden_spawn/spawn +# @within function enemy:warden_spawn/condition + +#自然湧きのWardenにスポーンタグを付与 +tag @s add Spawn +loot replace entity @s armor.head loot settings:enemy/warden_spawn + +#召喚に失敗した場合はそのまま残す +execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn \ No newline at end of file From 32cf52f4b9a020e91a2e6669197fd14003130993 Mon Sep 17 00:00:00 2001 From: Ponpon Date: Sun, 5 Oct 2025 13:56:18 +0900 Subject: [PATCH 2/9] =?UTF-8?q?GH-916=20Modify=20=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E6=A7=8B=E9=80=A0=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{natural_spawn.mcfunction => natural_spawn/.mcfunction} | 0 .../condition.mcfunction} | 0 .../fork.mcfunction} | 0 .../modify_level.mcfunction} | 0 .../silverfish}/condition.mcfunction | 0 .../silverfish}/spawn.mcfunction | 0 .../summon_vex.mcfunction} | 0 .../villager.mcfunction} | 0 .../{warden_spawn => natural_spawn/warden}/condition.mcfunction | 0 .../{warden_spawn => natural_spawn/warden}/spawn.mcfunction | 0 10 files changed, 0 insertions(+), 0 deletions(-) rename data/enemy/function/{natural_spawn.mcfunction => natural_spawn/.mcfunction} (100%) rename data/enemy/function/{natural_spawn_condition.mcfunction => natural_spawn/condition.mcfunction} (100%) rename data/enemy/function/{natural_spawn_type.mcfunction => natural_spawn/fork.mcfunction} (100%) rename data/enemy/function/{natural_spawn_modify_level.mcfunction => natural_spawn/modify_level.mcfunction} (100%) rename data/enemy/function/{silverfish_spawn => natural_spawn/silverfish}/condition.mcfunction (100%) rename data/enemy/function/{silverfish_spawn => natural_spawn/silverfish}/spawn.mcfunction (100%) rename data/enemy/function/{natural_spawn_summon_vex.mcfunction => natural_spawn/summon_vex.mcfunction} (100%) rename data/enemy/function/{natural_villager.mcfunction => natural_spawn/villager.mcfunction} (100%) rename data/enemy/function/{warden_spawn => natural_spawn/warden}/condition.mcfunction (100%) rename data/enemy/function/{warden_spawn => natural_spawn/warden}/spawn.mcfunction (100%) diff --git a/data/enemy/function/natural_spawn.mcfunction b/data/enemy/function/natural_spawn/.mcfunction similarity index 100% rename from data/enemy/function/natural_spawn.mcfunction rename to data/enemy/function/natural_spawn/.mcfunction diff --git a/data/enemy/function/natural_spawn_condition.mcfunction b/data/enemy/function/natural_spawn/condition.mcfunction similarity index 100% rename from data/enemy/function/natural_spawn_condition.mcfunction rename to data/enemy/function/natural_spawn/condition.mcfunction diff --git a/data/enemy/function/natural_spawn_type.mcfunction b/data/enemy/function/natural_spawn/fork.mcfunction similarity index 100% rename from data/enemy/function/natural_spawn_type.mcfunction rename to data/enemy/function/natural_spawn/fork.mcfunction diff --git a/data/enemy/function/natural_spawn_modify_level.mcfunction b/data/enemy/function/natural_spawn/modify_level.mcfunction similarity index 100% rename from data/enemy/function/natural_spawn_modify_level.mcfunction rename to data/enemy/function/natural_spawn/modify_level.mcfunction diff --git a/data/enemy/function/silverfish_spawn/condition.mcfunction b/data/enemy/function/natural_spawn/silverfish/condition.mcfunction similarity index 100% rename from data/enemy/function/silverfish_spawn/condition.mcfunction rename to data/enemy/function/natural_spawn/silverfish/condition.mcfunction diff --git a/data/enemy/function/silverfish_spawn/spawn.mcfunction b/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction similarity index 100% rename from data/enemy/function/silverfish_spawn/spawn.mcfunction rename to data/enemy/function/natural_spawn/silverfish/spawn.mcfunction diff --git a/data/enemy/function/natural_spawn_summon_vex.mcfunction b/data/enemy/function/natural_spawn/summon_vex.mcfunction similarity index 100% rename from data/enemy/function/natural_spawn_summon_vex.mcfunction rename to data/enemy/function/natural_spawn/summon_vex.mcfunction diff --git a/data/enemy/function/natural_villager.mcfunction b/data/enemy/function/natural_spawn/villager.mcfunction similarity index 100% rename from data/enemy/function/natural_villager.mcfunction rename to data/enemy/function/natural_spawn/villager.mcfunction diff --git a/data/enemy/function/warden_spawn/condition.mcfunction b/data/enemy/function/natural_spawn/warden/condition.mcfunction similarity index 100% rename from data/enemy/function/warden_spawn/condition.mcfunction rename to data/enemy/function/natural_spawn/warden/condition.mcfunction diff --git a/data/enemy/function/warden_spawn/spawn.mcfunction b/data/enemy/function/natural_spawn/warden/spawn.mcfunction similarity index 100% rename from data/enemy/function/warden_spawn/spawn.mcfunction rename to data/enemy/function/natural_spawn/warden/spawn.mcfunction From d6a2e29c976dc8932e598b7c86c54cf465ac5a7a Mon Sep 17 00:00:00 2001 From: Ponpon Date: Sun, 5 Oct 2025 14:02:49 +0900 Subject: [PATCH 3/9] =?UTF-8?q?GH-916=20Modify=20=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E6=A7=8B=E9=80=A0=E5=A4=89=E6=9B=B4=E3=81=AB?= =?UTF-8?q?=E4=BC=B4=E3=81=86=E3=83=91=E3=82=B9=E3=81=AE=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/enemy/function/natural_spawn/.mcfunction | 7 ++++--- data/enemy/function/natural_spawn/condition.mcfunction | 6 +++--- data/enemy/function/natural_spawn/fork.mcfunction | 8 ++++---- data/enemy/function/natural_spawn/modify_level.mcfunction | 3 ++- .../natural_spawn/silverfish/condition.mcfunction | 6 +++--- .../function/natural_spawn/silverfish/spawn.mcfunction | 6 +++--- data/enemy/function/natural_spawn/summon_vex.mcfunction | 4 ++-- data/enemy/function/natural_spawn/villager.mcfunction | 6 +++--- .../function/natural_spawn/warden/condition.mcfunction | 6 +++--- data/enemy/function/natural_spawn/warden/spawn.mcfunction | 6 +++--- data/entity/function/initialize_entity.mcfunction | 2 +- 11 files changed, 31 insertions(+), 29 deletions(-) diff --git a/data/enemy/function/natural_spawn/.mcfunction b/data/enemy/function/natural_spawn/.mcfunction index 719a3df867..ea46c6e38a 100644 --- a/data/enemy/function/natural_spawn/.mcfunction +++ b/data/enemy/function/natural_spawn/.mcfunction @@ -1,9 +1,10 @@ +#> enemy:natural_spawn/ #自然湧きのVexにスポーンタグを付与 tag @s add Spawn tag @s add NaturalSpawn loot replace entity @s armor.head loot settings:enemy/natural_spawn # 村人召喚時処理 - execute if data entity @s ArmorItems[3].tag{SpawnEntities:[[{Tags:[Global,Friendly,Blow,CommonVillager],Level:1}]]} run function enemy:natural_villager -function enemy:natural_spawn_modify_level + execute if data entity @s ArmorItems[3].tag{SpawnEntities:[[{Tags:[Global,Friendly,Blow,CommonVillager],Level:1}]]} run function enemy:natural_spawn/villager +function enemy:natural_spawn/modify_level #召喚に失敗した場合はそのまま残す -execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn \ No newline at end of file +execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn diff --git a/data/enemy/function/natural_spawn/condition.mcfunction b/data/enemy/function/natural_spawn/condition.mcfunction index 23b4d69d56..c3e1b0faaf 100644 --- a/data/enemy/function/natural_spawn/condition.mcfunction +++ b/data/enemy/function/natural_spawn/condition.mcfunction @@ -1,4 +1,4 @@ -#> enemy:natural_spawn_condition +#> enemy:natural_spawn/condition # # 自然湧き条件を満たしているかどうか、判定する # @@ -8,7 +8,7 @@ data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",NoAI:1b,Health:0.01f,Attributes:[{Name:"generic.max_health",Base:0.01d}]} # プレイヤーが64m以内にいるかを判定 - execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:natural_spawn + execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:natural_spawn/ # Spawnタグが付いてなかった場合は地面に埋めてやる - execute if entity @s[tag=!Spawn] run function enemy:natural_spawn_summon_vex + execute if entity @s[tag=!Spawn] run function enemy:natural_spawn/summon_vex diff --git a/data/enemy/function/natural_spawn/fork.mcfunction b/data/enemy/function/natural_spawn/fork.mcfunction index c1d4d21095..37c48ed75e 100644 --- a/data/enemy/function/natural_spawn/fork.mcfunction +++ b/data/enemy/function/natural_spawn/fork.mcfunction @@ -1,9 +1,9 @@ -#> enemy:natural_spawn_type +#> enemy:natural_spawn/fork # # creeperかsilverfishで自然湧き処理の分岐をする # # @within function entity:initialize_entity -execute if entity @s[type=creeper] run function enemy:natural_spawn_condition -execute if entity @s[type=silverfish] run function enemy:silverfish_spawn/condition -execute if entity @s[type=warden] run function enemy:warden_spawn/condition \ No newline at end of file +execute if entity @s[type=creeper] run function enemy:natural_spawn/condition +execute if entity @s[type=silverfish] run function enemy:natural_spawn/silverfish/condition +execute if entity @s[type=warden] run function enemy:natural_spawn/warden/condition diff --git a/data/enemy/function/natural_spawn/modify_level.mcfunction b/data/enemy/function/natural_spawn/modify_level.mcfunction index 5bd03d0da5..d42d99a2ba 100644 --- a/data/enemy/function/natural_spawn/modify_level.mcfunction +++ b/data/enemy/function/natural_spawn/modify_level.mcfunction @@ -1,3 +1,4 @@ +#> enemy:natural_spawn/modify_level ## 自然湧きレベル変更 # @s _ 占有 execute store result score @s _ run data get entity @s ArmorItems[3].tag.SpawnEntities[0][0].Level 1 @@ -27,4 +28,4 @@ execute if score _ _ matches 0..511 run tag @s add MutatedSpawn # @s Calc 解放 # _ _ 解放 scoreboard players operation @s Level = @s _ -# @s _ 解放 \ No newline at end of file +# @s _ 解放 diff --git a/data/enemy/function/natural_spawn/silverfish/condition.mcfunction b/data/enemy/function/natural_spawn/silverfish/condition.mcfunction index c7e2cd1c9e..5fb524d888 100644 --- a/data/enemy/function/natural_spawn/silverfish/condition.mcfunction +++ b/data/enemy/function/natural_spawn/silverfish/condition.mcfunction @@ -1,14 +1,14 @@ -#> enemy:silverfish_spawn/condition +#> enemy:natural_spawn/silverfish/condition # # 条件分岐 # -# @within function enemy:natural_spawn_type +# @within function enemy:natural_spawn/fork # NBT付与 data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",Health:0.01f,Attributes:[{Name:"generic.max_health",Base:0.01d}]} # プレイヤーが64m以内にいるかを判定 - execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:silverfish_spawn/spawn + execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:natural_spawn/silverfish/spawn # Spawnタグが付いてなかった場合はKillする kill @s[tag=!Spawn] diff --git a/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction b/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction index bdb46de05f..a95ae53d02 100644 --- a/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction +++ b/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction @@ -1,8 +1,8 @@ -#> enemy:silverfish_spawn/spawn -# @within function enemy:silverfish_spawn/condition +#> enemy:natural_spawn/silverfish/spawn +# @within function enemy:natural_spawn/silverfish/condition #自然湧きのSliverfishにスポーンタグを付与 tag @s add Spawn loot replace entity @s armor.head loot settings:enemy/silverfish_spawn #召喚に失敗した場合はそのまま残す -execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn \ No newline at end of file +execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn diff --git a/data/enemy/function/natural_spawn/summon_vex.mcfunction b/data/enemy/function/natural_spawn/summon_vex.mcfunction index e1214d051f..925bfbe225 100644 --- a/data/enemy/function/natural_spawn/summon_vex.mcfunction +++ b/data/enemy/function/natural_spawn/summon_vex.mcfunction @@ -1,8 +1,8 @@ -#> enemy:natural_spawn_summon_vex +#> enemy:natural_spawn/summon_vex # # Vexを召喚しておく # -# @within function enemy:natural_spawn_condition +# @within function enemy:natural_spawn/condition kill @s summon vex ~ ~-1 ~ {Silent:1b,DeathTime:19,DeathLootTable:"",NoAI:1b,Health:0.01f,LifeTicks:200,Tags:["NaturalSpawn"],HandItems:[{},{}],Attributes:[{Name:"generic.max_health",Base:0.01d}],active_effects:[{id:"minecraft:invisibility",amplifier:0b,duration:-1,show_particles:0b}]} diff --git a/data/enemy/function/natural_spawn/villager.mcfunction b/data/enemy/function/natural_spawn/villager.mcfunction index 5ead9dd4e7..98d6789e1b 100644 --- a/data/enemy/function/natural_spawn/villager.mcfunction +++ b/data/enemy/function/natural_spawn/villager.mcfunction @@ -1,9 +1,9 @@ -#> enemy:natural_villager +#> enemy:natural_spawn/villager # # 村人召喚処理 # -# @within function enemy:natural_spawn +# @within function enemy:natural_spawn/ # 攻略率スコアを取得して execute store result score @s Calc run function calc:island/clear_count_percent - loot replace entity @s armor.head loot settings:enemy/natural_villager \ No newline at end of file + loot replace entity @s armor.head loot settings:enemy/natural_villager diff --git a/data/enemy/function/natural_spawn/warden/condition.mcfunction b/data/enemy/function/natural_spawn/warden/condition.mcfunction index 52451cc23e..2ca8ac8f05 100644 --- a/data/enemy/function/natural_spawn/warden/condition.mcfunction +++ b/data/enemy/function/natural_spawn/warden/condition.mcfunction @@ -1,14 +1,14 @@ -#> enemy:warden_spawn/condition +#> enemy:natural_spawn/warden/condition # # 条件分岐 # -# @within function enemy:natural_spawn_type +# @within function enemy:natural_spawn/fork # NBT付与 data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",Health:0.01f,Attributes:[{Name:"generic.max_health",Base:0.01d}]} # プレイヤーが64m以内にいるかを判定 - execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:warden_spawn/spawn + execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:natural_spawn/warden/spawn # Spawnタグが付いてなかった場合はKillする kill @s[tag=!Spawn] diff --git a/data/enemy/function/natural_spawn/warden/spawn.mcfunction b/data/enemy/function/natural_spawn/warden/spawn.mcfunction index 65fd3ecae4..04c69a029f 100644 --- a/data/enemy/function/natural_spawn/warden/spawn.mcfunction +++ b/data/enemy/function/natural_spawn/warden/spawn.mcfunction @@ -1,9 +1,9 @@ -#> enemy:warden_spawn/spawn -# @within function enemy:warden_spawn/condition +#> enemy:natural_spawn/warden/spawn +# @within function enemy:natural_spawn/warden/condition #自然湧きのWardenにスポーンタグを付与 tag @s add Spawn loot replace entity @s armor.head loot settings:enemy/warden_spawn #召喚に失敗した場合はそのまま残す -execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn \ No newline at end of file +execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn diff --git a/data/entity/function/initialize_entity.mcfunction b/data/entity/function/initialize_entity.mcfunction index e8905d6b20..c6144978c9 100644 --- a/data/entity/function/initialize_entity.mcfunction +++ b/data/entity/function/initialize_entity.mcfunction @@ -5,7 +5,7 @@ ################################################### ### 自然湧き処理 -execute if entity @s[type=#entity:natural_spawn,tag=] run function enemy:natural_spawn_type +execute if entity @s[type=#entity:natural_spawn,tag=] run function enemy:natural_spawn/fork ### モブ召喚 execute if entity @s[tag=Spawn] run function entity:spawn/ From dd01b4304cf1c429937d921825b6d4cc41a83530 Mon Sep 17 00:00:00 2001 From: Ponpon Date: Sun, 5 Oct 2025 14:05:10 +0900 Subject: [PATCH 4/9] =?UTF-8?q?GH-916=20Modify=20Attribute=E3=81=AE?= =?UTF-8?q?=E6=A7=8B=E6=96=87=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/enemy/function/natural_spawn/condition.mcfunction | 2 +- .../function/natural_spawn/silverfish/condition.mcfunction | 2 +- data/enemy/function/natural_spawn/summon_vex.mcfunction | 2 +- data/enemy/function/natural_spawn/warden/condition.mcfunction | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/enemy/function/natural_spawn/condition.mcfunction b/data/enemy/function/natural_spawn/condition.mcfunction index c3e1b0faaf..28b1d8a683 100644 --- a/data/enemy/function/natural_spawn/condition.mcfunction +++ b/data/enemy/function/natural_spawn/condition.mcfunction @@ -5,7 +5,7 @@ # @within function entity:initialize_entity # CreeperのNBTを変更 - data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",NoAI:1b,Health:0.01f,Attributes:[{Name:"generic.max_health",Base:0.01d}]} + data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",NoAI:1b,Health:0.01f,attributes:[{id:"max_health",base:0.01d}]} # プレイヤーが64m以内にいるかを判定 execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:natural_spawn/ diff --git a/data/enemy/function/natural_spawn/silverfish/condition.mcfunction b/data/enemy/function/natural_spawn/silverfish/condition.mcfunction index 5fb524d888..a546cfe973 100644 --- a/data/enemy/function/natural_spawn/silverfish/condition.mcfunction +++ b/data/enemy/function/natural_spawn/silverfish/condition.mcfunction @@ -5,7 +5,7 @@ # @within function enemy:natural_spawn/fork # NBT付与 - data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",Health:0.01f,Attributes:[{Name:"generic.max_health",Base:0.01d}]} + data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",Health:0.01f,attributes:[{id:"max_health",base:0.01d}]} # プレイヤーが64m以内にいるかを判定 execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:natural_spawn/silverfish/spawn diff --git a/data/enemy/function/natural_spawn/summon_vex.mcfunction b/data/enemy/function/natural_spawn/summon_vex.mcfunction index 925bfbe225..05fa6f68bd 100644 --- a/data/enemy/function/natural_spawn/summon_vex.mcfunction +++ b/data/enemy/function/natural_spawn/summon_vex.mcfunction @@ -5,4 +5,4 @@ # @within function enemy:natural_spawn/condition kill @s -summon vex ~ ~-1 ~ {Silent:1b,DeathTime:19,DeathLootTable:"",NoAI:1b,Health:0.01f,LifeTicks:200,Tags:["NaturalSpawn"],HandItems:[{},{}],Attributes:[{Name:"generic.max_health",Base:0.01d}],active_effects:[{id:"minecraft:invisibility",amplifier:0b,duration:-1,show_particles:0b}]} +summon vex ~ ~-1 ~ {Silent:1b,DeathTime:19,DeathLootTable:"",NoAI:1b,Health:0.01f,LifeTicks:200,Tags:["NaturalSpawn"],HandItems:[{},{}],attributes:[{id:"max_health",base:0.01d}],active_effects:[{id:"minecraft:invisibility",amplifier:0b,duration:-1,show_particles:0b}]} diff --git a/data/enemy/function/natural_spawn/warden/condition.mcfunction b/data/enemy/function/natural_spawn/warden/condition.mcfunction index 2ca8ac8f05..de80f27c47 100644 --- a/data/enemy/function/natural_spawn/warden/condition.mcfunction +++ b/data/enemy/function/natural_spawn/warden/condition.mcfunction @@ -5,7 +5,7 @@ # @within function enemy:natural_spawn/fork # NBT付与 - data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",Health:0.01f,Attributes:[{Name:"generic.max_health",Base:0.01d}]} + data merge entity @s {Silent:1b,DeathTime:19,DeathLootTable:"",Health:0.01f,attributes:[{id:"max_health",base:0.01d}]} # プレイヤーが64m以内にいるかを判定 execute unless data storage main: difficult{world:"debug"} if entity @a[predicate=entity:player,distance=..64] run function enemy:natural_spawn/warden/spawn From 5cee079cc9bcf927a8e8b81507c663fd9e21be6f Mon Sep 17 00:00:00 2001 From: Ponpon Date: Sun, 5 Oct 2025 14:07:50 +0900 Subject: [PATCH 5/9] =?UTF-8?q?GH-916=20Modify=20=E3=82=A2=E3=82=A4?= =?UTF-8?q?=E3=83=86=E3=83=A0=E3=82=92=E3=82=B3=E3=83=B3=E3=83=9D=E3=83=8D?= =?UTF-8?q?=E3=83=B3=E3=83=88=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/enemy/function/natural_spawn/.mcfunction | 4 ++-- data/enemy/function/natural_spawn/silverfish/spawn.mcfunction | 2 +- data/enemy/function/natural_spawn/warden/spawn.mcfunction | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/enemy/function/natural_spawn/.mcfunction b/data/enemy/function/natural_spawn/.mcfunction index ea46c6e38a..fd0e4c5cf7 100644 --- a/data/enemy/function/natural_spawn/.mcfunction +++ b/data/enemy/function/natural_spawn/.mcfunction @@ -4,7 +4,7 @@ tag @s add Spawn tag @s add NaturalSpawn loot replace entity @s armor.head loot settings:enemy/natural_spawn # 村人召喚時処理 - execute if data entity @s ArmorItems[3].tag{SpawnEntities:[[{Tags:[Global,Friendly,Blow,CommonVillager],Level:1}]]} run function enemy:natural_spawn/villager + execute if data entity @s ArmorItems[3].components."minecraft:custom_data"{SpawnEntities:[[{Tags:[Global,Friendly,Blow,CommonVillager],Level:1}]]} run function enemy:natural_spawn/villager function enemy:natural_spawn/modify_level #召喚に失敗した場合はそのまま残す -execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn +execute unless data entity @s ArmorItems[3].components."minecraft:custom_model_data" run tag @s remove Spawn diff --git a/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction b/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction index a95ae53d02..48827ceec4 100644 --- a/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction +++ b/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction @@ -5,4 +5,4 @@ tag @s add Spawn loot replace entity @s armor.head loot settings:enemy/silverfish_spawn #召喚に失敗した場合はそのまま残す -execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn +execute unless data entity @s ArmorItems[3].components."minecraft:custom_model_data" run tag @s remove Spawn diff --git a/data/enemy/function/natural_spawn/warden/spawn.mcfunction b/data/enemy/function/natural_spawn/warden/spawn.mcfunction index 04c69a029f..7431c7d85c 100644 --- a/data/enemy/function/natural_spawn/warden/spawn.mcfunction +++ b/data/enemy/function/natural_spawn/warden/spawn.mcfunction @@ -6,4 +6,4 @@ tag @s add Spawn loot replace entity @s armor.head loot settings:enemy/warden_spawn #召喚に失敗した場合はそのまま残す -execute unless data entity @s ArmorItems[3].tag.CustomModelData run tag @s remove Spawn +execute unless data entity @s ArmorItems[3].components."minecraft:custom_model_data" run tag @s remove Spawn From 9238c28f500a859eeca3c21e6a40a68356d479ae Mon Sep 17 00:00:00 2001 From: Ponpon Date: Sun, 5 Oct 2025 14:08:11 +0900 Subject: [PATCH 6/9] =?UTF-8?q?GH-916=20Remove=20=E3=82=A8=E3=83=AA?= =?UTF-8?q?=E3=83=BC=E3=83=88Mob=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/enemy/function/natural_spawn/modify_level.mcfunction | 8 -------- 1 file changed, 8 deletions(-) diff --git a/data/enemy/function/natural_spawn/modify_level.mcfunction b/data/enemy/function/natural_spawn/modify_level.mcfunction index d42d99a2ba..25ce660111 100644 --- a/data/enemy/function/natural_spawn/modify_level.mcfunction +++ b/data/enemy/function/natural_spawn/modify_level.mcfunction @@ -19,13 +19,5 @@ scoreboard players operation _ _ += @s _ scoreboard players operation _ _ >< @s _ # _ _ 解放 -# _ _ 占有 -execute store result score _ _ run function calc:random -execute if score _ _ matches 0..511 run scoreboard players set @s Calc 10 -execute if score _ _ matches 0..511 run scoreboard players add @s _ 10 -execute if score _ _ matches 0..511 run scoreboard players operation @s _ *= @s Calc -execute if score _ _ matches 0..511 run tag @s add MutatedSpawn -# @s Calc 解放 -# _ _ 解放 scoreboard players operation @s Level = @s _ # @s _ 解放 From 5ca263534880450a542ec2c17a8dd9ba0445f196 Mon Sep 17 00:00:00 2001 From: Ponpon Date: Sun, 5 Oct 2025 23:09:31 +0900 Subject: [PATCH 7/9] =?UTF-8?q?GH-916=20Add=20=E8=87=AA=E7=84=B6=E6=B9=A7?= =?UTF-8?q?=E3=81=8D=E3=81=AEMob=E3=83=87=E3=83=BC=E3=82=BF=E3=83=AB?= =?UTF-8?q?=E3=83=BC=E3=83=88=E3=83=86=E3=83=BC=E3=83=96=E3=83=AB=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../loot_table/entity/natural_villager.json | 358 ++++++++++++++++++ .../loot_table/entity/silverfish_spawn.json | 83 ++++ .../loot_table/entity/warden_spawn.json | 20 + 3 files changed, 461 insertions(+) create mode 100644 data/settings/loot_table/entity/natural_villager.json create mode 100644 data/settings/loot_table/entity/silverfish_spawn.json create mode 100644 data/settings/loot_table/entity/warden_spawn.json diff --git a/data/settings/loot_table/entity/natural_villager.json b/data/settings/loot_table/entity/natural_villager.json new file mode 100644 index 0000000000..efcc8a8291 --- /dev/null +++ b/data/settings/loot_table/entity/natural_villager.json @@ -0,0 +1,358 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,SoupMerchant,SpawnParticles],Level:1}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,Daizo,Main,SpawnParticles],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,CarrotHodohodoski,SpawnParticles],Level:10}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,MountainMaruMan,SpawnParticles],Level:10}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,ShiningMabuo,SpawnParticles],Level:10}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,ClayEdible,SpawnParticles],Level:10}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Friendly,Blow,EyeLove,SpawnParticles],Level:20}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,EtherMerchant,SpawnParticles],Level:1}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 15 + } + } + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,Enigma,SpawnParticles],Level:100}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 15 + } + } + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Neutrality,Shoot,GoblinMerchantMixcooker,Main,SpawnParticles],Level:45}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 15 + } + } + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Neutrality,Summon,JobSearchAgents,SpawnParticles],Level:100}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 15 + } + } + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,ElixirMerchant,SpawnParticles],Level:1}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 30 + } + } + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,HolyHoriHollick,SpawnParticles],Level:30}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 30 + } + } + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Neutrality,Shoot,GoblinMerchantJunksfika,Main,SpawnParticles],Level:25}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 30 + } + } + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Neutrality,Summon,BombThreatMan,Main,SpawnParticles],Level:50}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 45 + } + } + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Neutrality,Blow,Emon,Main,SpawnParticles],Level:60}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 45 + } + } + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Neutrality,Shoot,GoblinMerchantMetaltinka,MainA,SpawnParticles],Level:75}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 45 + } + } + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,Vogue,SpawnParticles],Level:10}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 75 + } + } + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,ThoughtPot,Main,SpawnParticles],Level:100}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 75 + } + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:location_check", + "predicate": { + "dimension": "area:skylands" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/data/settings/loot_table/entity/silverfish_spawn.json b/data/settings/loot_table/entity/silverfish_spawn.json new file mode 100644 index 0000000000..289c4e684b --- /dev/null +++ b/data/settings/loot_table/entity/silverfish_spawn.json @@ -0,0 +1,83 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Ground,Blow,Combat,Silverfish],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Ground,Blow,Ignore,Innore],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverWarrior,Main,SpawnParticles],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverTank,Main,SpawnParticles],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverHealer,Main,SpawnParticles],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverSorcerer,Main,SpawnParticles],Level:5}]]}" + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:location_check", + "predicate": { + "dimension": "area:skylands" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/data/settings/loot_table/entity/warden_spawn.json b/data/settings/loot_table/entity/warden_spawn.json new file mode 100644 index 0000000000..beb2a6bd9c --- /dev/null +++ b/data/settings/loot_table/entity/warden_spawn.json @@ -0,0 +1,20 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Ground,Shoot,FakeWarden,Main,SpawnParticles],Level:111}],[{Tags:[Global,Ground,Shoot,AssaultWarden,HealMarker],Level:111}]]}" + } + ] + } + ] + } + ] +} \ No newline at end of file From ada9e5e66238dbfcd6874841ff15e73d9dbf321e Mon Sep 17 00:00:00 2001 From: Ponpon Date: Sun, 5 Oct 2025 23:14:25 +0900 Subject: [PATCH 8/9] =?UTF-8?q?GH-916=20Modify=20=E3=83=AB=E3=83=BC?= =?UTF-8?q?=E3=83=88=E3=83=86=E3=83=BC=E3=83=96=E3=83=AB=E5=86=85=E3=81=AE?= =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=9D=E3=83=BC=E3=83=8D=E3=83=B3=E3=83=88?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../loot_table/entity/natural_villager.json | 814 +++++++++++------- .../loot_table/entity/silverfish_spawn.json | 208 +++-- .../loot_table/entity/warden_spawn.json | 46 +- 3 files changed, 664 insertions(+), 404 deletions(-) diff --git a/data/settings/loot_table/entity/natural_villager.json b/data/settings/loot_table/entity/natural_villager.json index efcc8a8291..36838af152 100644 --- a/data/settings/loot_table/entity/natural_villager.json +++ b/data/settings/loot_table/entity/natural_villager.json @@ -1,358 +1,548 @@ { - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,SoupMerchant,SpawnParticles],Level:1}]]}" + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,Daizo,Main,SpawnParticles],Level:5}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,SoupMerchant,SpawnParticles],Level:1}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,CarrotHodohodoski,SpawnParticles],Level:10}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,Daizo,Main,SpawnParticles],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,MountainMaruMan,SpawnParticles],Level:10}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,CarrotHodohodoski,SpawnParticles],Level:10}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,ShiningMabuo,SpawnParticles],Level:10}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,MountainMaruMan,SpawnParticles],Level:10}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,ClayEdible,SpawnParticles],Level:10}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,ShiningMabuo,SpawnParticles],Level:10}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Friendly,Blow,EyeLove,SpawnParticles],Level:20}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,ClayEdible,SpawnParticles],Level:10}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,EtherMerchant,SpawnParticles],Level:1}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Skylands,Friendly,Blow,EyeLove,SpawnParticles],Level:20}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 15 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,EtherMerchant,SpawnParticles],Level:1}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 15 } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,Enigma,SpawnParticles],Level:100}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 15 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,Enigma,SpawnParticles],Level:100}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 15 } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Neutrality,Shoot,GoblinMerchantMixcooker,Main,SpawnParticles],Level:45}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 15 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Neutrality,Shoot,GoblinMerchantMixcooker,Main,SpawnParticles],Level:45}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 15 } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Neutrality,Summon,JobSearchAgents,SpawnParticles],Level:100}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 15 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Neutrality,Summon,JobSearchAgents,SpawnParticles],Level:100}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 15 } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,ElixirMerchant,SpawnParticles],Level:1}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 30 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,ElixirMerchant,SpawnParticles],Level:1}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 30 } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,HolyHoriHollick,SpawnParticles],Level:30}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 30 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,HolyHoriHollick,SpawnParticles],Level:30}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 30 } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Neutrality,Shoot,GoblinMerchantJunksfika,Main,SpawnParticles],Level:25}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 30 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Neutrality,Shoot,GoblinMerchantJunksfika,Main,SpawnParticles],Level:25}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 30 } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Neutrality,Summon,BombThreatMan,Main,SpawnParticles],Level:50}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 45 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Neutrality,Summon,BombThreatMan,Main,SpawnParticles],Level:50}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 45 } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Neutrality,Blow,Emon,Main,SpawnParticles],Level:60}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 45 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Skylands,Neutrality,Blow,Emon,Main,SpawnParticles],Level:60}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 45 } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Neutrality,Shoot,GoblinMerchantMetaltinka,MainA,SpawnParticles],Level:75}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 45 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Neutrality,Shoot,GoblinMerchantMetaltinka,MainA,SpawnParticles],Level:75}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 45 } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,Vogue,SpawnParticles],Level:10}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 75 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,Vogue,SpawnParticles],Level:10}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 75 } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Friendly,Blow,ThoughtPot,Main,SpawnParticles],Level:100}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ], - "conditions": [ - { - "condition": "minecraft:entity_scores", - "entity": "this", - "scores": { - "Calc": { - "min": 75 - } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Friendly,Blow,ThoughtPot,Main,SpawnParticles],Level:100}]]}" + } + ], + "conditions": [ + { + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "Calc": { + "min": 75 } } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:location_check", - "predicate": { - "dimension": "area:skylands" } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:location_check", + "predicate": { + "dimension": "area:skylands" } - ] - } - ] -} \ No newline at end of file + } + ] + } + ] +} diff --git a/data/settings/loot_table/entity/silverfish_spawn.json b/data/settings/loot_table/entity/silverfish_spawn.json index 289c4e684b..da8be2b641 100644 --- a/data/settings/loot_table/entity/silverfish_spawn.json +++ b/data/settings/loot_table/entity/silverfish_spawn.json @@ -1,83 +1,143 @@ { - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Ground,Blow,Combat,Silverfish],Level:5}]]}" + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Ground,Blow,Ignore,Innore],Level:5}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Ground,Blow,Combat,Silverfish],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverWarrior,Main,SpawnParticles],Level:5}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Ground,Blow,Ignore,Innore],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverTank,Main,SpawnParticles],Level:5}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverWarrior,Main,SpawnParticles],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverHealer,Main,SpawnParticles],Level:5}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverTank,Main,SpawnParticles],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - }, - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverSorcerer,Main,SpawnParticles],Level:5}]]}" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverHealer,Main,SpawnParticles],Level:5}]]}" + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - } - ], - "conditions": [ - { - "condition": "minecraft:location_check", - "predicate": { - "dimension": "area:skylands" + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Skylands,Ground,Blow,SilverSorcerer,Main,SpawnParticles],Level:5}]]}" } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:location_check", + "predicate": { + "dimension": "area:skylands" } - ] - } - ] -} \ No newline at end of file + } + ] + } + ] +} diff --git a/data/settings/loot_table/entity/warden_spawn.json b/data/settings/loot_table/entity/warden_spawn.json index beb2a6bd9c..e1f6eeecbe 100644 --- a/data/settings/loot_table/entity/warden_spawn.json +++ b/data/settings/loot_table/entity/warden_spawn.json @@ -1,20 +1,30 @@ { - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "weight": 1, - "name": "minecraft:stick", - "functions": [ - { - "function": "minecraft:set_nbt", - "tag": "{CustomModelData:1,SpawnEntities:[[{Tags:[Global,Ground,Shoot,FakeWarden,Main,SpawnParticles],Level:111}],[{Tags:[Global,Ground,Shoot,AssaultWarden,HealMarker],Level:111}]]}" + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:stick", + "functions": [ + { + "function": "minecraft:set_components", + "components": { + "minecraft:custom_model_data": { + "floats": [ + 1 + ] + } } - ] - } - ] - } - ] -} \ No newline at end of file + }, + { + "function": "minecraft:set_custom_data", + "tag": "{SpawnEntities:[[{Tags:[Global,Ground,Shoot,FakeWarden,Main,SpawnParticles],Level:111}],[{Tags:[Global,Ground,Shoot,AssaultWarden,HealMarker],Level:111}]]}" + } + ] + } + ] + } + ] +} From d7d13720f981e84df93886fafa608e15d50ca645 Mon Sep 17 00:00:00 2001 From: Ponpon Date: Sun, 5 Oct 2025 23:17:44 +0900 Subject: [PATCH 9/9] =?UTF-8?q?GH-916=20Modify=20=E3=83=AB=E3=83=BC?= =?UTF-8?q?=E3=83=88=E3=83=86=E3=83=BC=E3=83=96=E3=83=AB=E3=81=AE=E5=8F=82?= =?UTF-8?q?=E7=85=A7=E3=83=91=E3=82=B9=E3=82=92=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/enemy/function/natural_spawn/.mcfunction | 2 +- data/enemy/function/natural_spawn/silverfish/spawn.mcfunction | 2 +- data/enemy/function/natural_spawn/villager.mcfunction | 2 +- data/enemy/function/natural_spawn/warden/spawn.mcfunction | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/enemy/function/natural_spawn/.mcfunction b/data/enemy/function/natural_spawn/.mcfunction index fd0e4c5cf7..46b74fb69e 100644 --- a/data/enemy/function/natural_spawn/.mcfunction +++ b/data/enemy/function/natural_spawn/.mcfunction @@ -2,7 +2,7 @@ #自然湧きのVexにスポーンタグを付与 tag @s add Spawn tag @s add NaturalSpawn -loot replace entity @s armor.head loot settings:enemy/natural_spawn +loot replace entity @s armor.head loot settings:entity/natural_spawn # 村人召喚時処理 execute if data entity @s ArmorItems[3].components."minecraft:custom_data"{SpawnEntities:[[{Tags:[Global,Friendly,Blow,CommonVillager],Level:1}]]} run function enemy:natural_spawn/villager function enemy:natural_spawn/modify_level diff --git a/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction b/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction index 48827ceec4..531cf8f74e 100644 --- a/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction +++ b/data/enemy/function/natural_spawn/silverfish/spawn.mcfunction @@ -3,6 +3,6 @@ #自然湧きのSliverfishにスポーンタグを付与 tag @s add Spawn -loot replace entity @s armor.head loot settings:enemy/silverfish_spawn +loot replace entity @s armor.head loot settings:entity/silverfish_spawn #召喚に失敗した場合はそのまま残す execute unless data entity @s ArmorItems[3].components."minecraft:custom_model_data" run tag @s remove Spawn diff --git a/data/enemy/function/natural_spawn/villager.mcfunction b/data/enemy/function/natural_spawn/villager.mcfunction index 98d6789e1b..7325b61695 100644 --- a/data/enemy/function/natural_spawn/villager.mcfunction +++ b/data/enemy/function/natural_spawn/villager.mcfunction @@ -6,4 +6,4 @@ # 攻略率スコアを取得して execute store result score @s Calc run function calc:island/clear_count_percent - loot replace entity @s armor.head loot settings:enemy/natural_villager + loot replace entity @s armor.head loot settings:entity/natural_villager diff --git a/data/enemy/function/natural_spawn/warden/spawn.mcfunction b/data/enemy/function/natural_spawn/warden/spawn.mcfunction index 7431c7d85c..76769e64a0 100644 --- a/data/enemy/function/natural_spawn/warden/spawn.mcfunction +++ b/data/enemy/function/natural_spawn/warden/spawn.mcfunction @@ -3,7 +3,7 @@ #自然湧きのWardenにスポーンタグを付与 tag @s add Spawn -loot replace entity @s armor.head loot settings:enemy/warden_spawn +loot replace entity @s armor.head loot settings:entity/warden_spawn #召喚に失敗した場合はそのまま残す execute unless data entity @s ArmorItems[3].components."minecraft:custom_model_data" run tag @s remove Spawn