LTCatt 6 年之前
父節點
當前提交
05fb700d7a

+ 1 - 0
data/item/functions/bonus_item/rank/blue.mcfunction

@@ -4,4 +4,5 @@ loot spawn ~ ~ ~ loot item:gameparty/ranks/blue
 data merge entity @e[distance=..1,limit=1,type=item] {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0]}
 execute as @e[tag=new_item] run data modify entity @s CustomName set from entity @s Item.tag.item_name
 team join blue @e[tag=new_item]
+tag @e[tag=new_item] add item_blue
 tag @e[tag=new_item] remove new_item

+ 1 - 0
data/item/functions/bonus_item/rank/green.mcfunction

@@ -4,4 +4,5 @@ loot spawn ~ ~ ~ loot item:gameparty/ranks/green
 data merge entity @e[distance=..1,limit=1,type=item] {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0]}
 execute as @e[tag=new_item] run data modify entity @s CustomName set from entity @s Item.tag.item_name
 team join green @e[tag=new_item]
+tag @e[tag=new_item] add item_green
 tag @e[tag=new_item] remove new_item

+ 1 - 0
data/item/functions/bonus_item/rank/purple.mcfunction

@@ -4,4 +4,5 @@ loot spawn ~ ~ ~ loot item:gameparty/ranks/purple
 data merge entity @e[distance=..1,limit=1,type=item] {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0]}
 execute as @e[tag=new_item] run data modify entity @s CustomName set from entity @s Item.tag.item_name
 team join purple @e[tag=new_item]
+tag @e[tag=new_item] add item_purple
 tag @e[tag=new_item] remove new_item

+ 1 - 0
data/item/functions/bonus_item/rank/white.mcfunction

@@ -4,4 +4,5 @@ loot spawn ~ ~ ~ loot item:gameparty/ranks/white
 data merge entity @e[distance=..1,limit=1,type=item] {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0]}
 execute as @e[tag=new_item] run data modify entity @s CustomName set from entity @s Item.tag.item_name
 team join white @e[tag=new_item]
+tag @e[tag=new_item] add item_white
 tag @e[tag=new_item] remove new_item

+ 4 - 14
data/ltw/functions/state/7/state_enter.mcfunction

@@ -27,21 +27,11 @@ execute if score $t_player_count mem matches 6.. positioned 9.0 13.0 2000.0 run
 execute if score $t_player_count mem matches 7.. positioned 14.0 13.0 2005.0 run function item:bonus_item/rank/random
 execute if score $t_player_count mem matches 8.. positioned 14.0 13.0 2009.0 run function item:bonus_item/rank/random
 
-# 生成奖励物品背景
-execute as @e[type=item,team=white] at @s run fill ~-0.5 ~-0.5 ~-0.5 ~0.5 ~0.5 ~0.5 white_concrete_powder
-execute as @e[type=item,team=green] at @s run fill ~-0.5 ~-0.5 ~-0.5 ~0.5 ~0.5 ~0.5 lime_concrete_powder
-execute as @e[type=item,team=blue] at @s run fill ~-0.5 ~-0.5 ~-0.5 ~0.5 ~0.5 ~0.5 light_blue_concrete_powder
-execute as @e[type=item,team=purple] at @s run fill ~-0.5 ~-0.5 ~-0.5 ~0.5 ~0.5 ~0.5 purple_concrete_powder
+# 清空区域
+execute as @e[type=item] at @s run fill ~-0.5 ~-0.5 ~-0.5 ~0.5 ~0.5 ~0.5 air
 
-# 传送回原位
-execute as @e[type=item,x=-1,y=12,z=1999,dx=2,dy=2,dz=50] at @s run tp @s ~1.5 ~-0.5 ~
-execute as @e[type=item,x=13,y=12,z=1999,dx=2,dy=2,dz=50] at @s run tp @s ~-1.5 ~-0.5 ~
-execute as @e[type=item,x=-1,y=12,z=1999,dx=50,dy=2,dz=2] at @s run tp @s ~ ~-0.5 ~1.5
-execute as @e[type=item,x=-1,y=12,z=2013,dx=50,dy=2,dz=2] at @s run tp @s ~ ~-0.5 ~-1.5
-
-# 生成拿取窗口
-execute as @e[type=item] at @s run fill ~-0.1 ~ ~-0.1 ~0.1 ~ ~0.1 air
-execute as @e[type=item] at @s run fill ~-0.1 ~1 ~-0.1 ~0.1 ~1 ~0.1 barrier
+# 防止幽灵实体分 tick 执行
+schedule function ltw:state/7/state_enter2 1t
 
 # 判断进入下一轮小游戏或结束
 # execute if score $game_type mem matches 1 if score $round mem matches ..5 run function ltw:state/7/continue_gameparty

+ 16 - 0
data/ltw/functions/state/7/state_enter2.mcfunction

@@ -0,0 +1,16 @@
+
+# 生成奖励物品背景
+execute as @e[type=item,tag=item_white] at @s run fill ~-0.5 ~-0.5 ~-0.5 ~0.5 ~0.5 ~0.5 white_concrete_powder
+execute as @e[type=item,tag=item_green] at @s run fill ~-0.5 ~-0.5 ~-0.5 ~0.5 ~0.5 ~0.5 lime_concrete_powder
+execute as @e[type=item,tag=item_blue] at @s run fill ~-0.5 ~-0.5 ~-0.5 ~0.5 ~0.5 ~0.5 light_blue_concrete_powder
+execute as @e[type=item,tag=item_purple] at @s run fill ~-0.5 ~-0.5 ~-0.5 ~0.5 ~0.5 ~0.5 purple_concrete_powder
+
+# 传送回原位
+execute as @e[type=item,x=-1,y=12,z=1999,dx=2,dy=2,dz=50] at @s run tp @s ~1.5 ~-0.5 ~
+execute as @e[type=item,x=13,y=12,z=1999,dx=2,dy=2,dz=50] at @s run tp @s ~-1.5 ~-0.5 ~
+execute as @e[type=item,x=-1,y=12,z=1999,dx=50,dy=2,dz=2] at @s run tp @s ~ ~-0.5 ~1.5
+execute as @e[type=item,x=-1,y=12,z=2013,dx=50,dy=2,dz=2] at @s run tp @s ~ ~-0.5 ~-1.5
+
+# 生成拿取窗口
+execute as @e[type=item] at @s run fill ~-0.1 ~ ~-0.1 ~0.1 ~ ~0.1 air
+execute as @e[type=item] at @s run fill ~-0.1 ~1 ~-0.1 ~0.1 ~1 ~0.1 barrier