Просмотр исходного кода

优化僵尸生成,更为随机

LTCatt 6 лет назад
Родитель
Сommit
4a7300c9dd

+ 1 - 1
data/mini/functions/zombie/game_init.mcfunction

@@ -8,7 +8,7 @@ setblock 1000 10 5000 minecraft:structure_block{mode:"LOAD",name:"mini:zombie"}
 setblock 1000 11 5000 minecraft:redstone_block
 
 # 清理残余实体
-tp @e[type=zombie] ~ -100 ~
+tp @e[tag=mini_mob] ~ -100 ~
 
 # 伤害管理
 team modify ltw friendlyFire false

+ 13 - 8
data/mini/functions/zombie/tick20.mcfunction

@@ -1,13 +1,18 @@
 # 随机召唤僵尸
 scoreboard players set $random_min mem 1
-scoreboard players set $random_max mem 10
+scoreboard players set $random_max mem 50
 function lib:random
 
-execute if score $random mem matches 1..2 positioned 1019.0 18.1 5013.0 unless entity @e[type=zombie,distance=..1] run summon zombie ~ ~ ~
-execute if score $random mem matches 3..4 positioned 1002.0 18.1 5013.0 unless entity @e[type=zombie,distance=..1] run summon zombie ~ ~ ~
-execute if score $random mem matches 5 positioned 1002.5 13.1 5002.5 unless entity @e[type=zombie,distance=..1] run summon zombie ~ ~ ~
-execute if score $random mem matches 6 positioned 1018.5 13.1 5023.5 unless entity @e[type=zombie,distance=..1] run summon zombie ~ ~ ~
+execute if score $random mem matches 1..3 positioned 1019.0 18.1 5013.0 unless entity @e[tag=mini_mob,distance=..1] run summon zombie ~ ~ ~ {Tags:["mini_mob"]}
+execute if score $random mem matches 4 positioned 1019.0 18.1 5013.0 unless entity @e[tag=mini_mob,distance=..1] run summon drowned ~ ~ ~ {Tags:["mini_mob"]}
+execute if score $random mem matches 5..7 positioned 1002.0 18.1 5013.0 unless entity @e[tag=mini_mob,distance=..1] run summon zombie ~ ~ ~ {Tags:["mini_mob"]}
+execute if score $random mem matches 8 positioned 1002.0 18.1 5013.0 unless entity @e[tag=mini_mob,distance=..1] run summon drowned ~ ~ ~ {Tags:["mini_mob"]}
+execute if score $random mem matches 9..11 positioned 1002.5 13.1 5002.5 unless entity @e[tag=mini_mob,distance=..1] run summon zombie ~ ~ ~ {Tags:["mini_mob"]}
+execute if score $random mem matches 12 positioned 1002.5 13.1 5002.5 unless entity @e[tag=mini_mob,distance=..1] run summon drowned ~ ~ ~ {Tags:["mini_mob"]}
+execute if score $random mem matches 13..15 positioned 1018.5 13.1 5023.5 unless entity @e[tag=mini_mob,distance=..1] run summon zombie ~ ~ ~ {Tags:["mini_mob"]}
+execute if score $random mem matches 16 positioned 1018.5 13.1 5023.5 unless entity @e[tag=mini_mob,distance=..1] run summon drowned ~ ~ ~ {Tags:["mini_mob"]}
 
-# team leave @e[type=zombie]
-# team join ltw @e[type=zombie,tag=new_zombie]
-# tag @e remove new_zombie
+attribute @e[tag=mini_mob,limit=1,sort=random] generic.movement_speed modifier remove 3d2ff588-63bb-458f-b5b7-a533169db5d9
+attribute @e[tag=mini_mob,limit=1,sort=random] generic.movement_speed modifier remove 3d2ff588-63bb-458f-b5b7-a533169db5d9
+attribute @e[type=drowned,limit=1,sort=random] generic.movement_speed modifier add 3d2ff588-63bb-458f-b5b7-a533169db5d9 mob_speed 0.15 multiply
+attribute @e[type=zombie,limit=1,sort=random] generic.movement_speed modifier add 3d2ff588-63bb-458f-b5b7-a533169db5d9 mob_speed -0.15 multiply