Procházet zdrojové kódy

其他玩家使用别人村民重置机制

HerobrineXia před 5 roky
rodič
revize
0ba6dc31d4

+ 1 - 0
data/mini/functions/trade/game_init.mcfunction

@@ -2,6 +2,7 @@
 forceload add 1000 5000 1064 5064
 
 scoreboard players reset * emerald
+scoreboard players reset * interactVillager
 scoreboard players set $finish_mode mem 0
 scoreboard players set $survival mem 1
 

+ 2 - 6
data/mini/functions/trade/init.mcfunction

@@ -2,9 +2,5 @@
 scoreboard objectives remove emerald
 scoreboard objectives add emerald dummy "绿宝石数"
 
-scoreboard objectives remove posX
-scoreboard objectives add posX dummy "坐标X"
-scoreboard objectives remove posY
-scoreboard objectives add posY dummy "坐标Y"
-scoreboard objectives remove posZ
-scoreboard objectives add posZ dummy "坐标Z"
+scoreboard objectives remove interactVillager
+scoreboard objectives add interactVillager minecraft.custom:minecraft.talked_to_villager "村民交互"

+ 2 - 0
data/mini/functions/trade/tick2.mcfunction

@@ -1,6 +1,8 @@
 tag @e[type=villager,tag=TradePlayer] remove tpPlayer
 # 处理村民糊脸
 execute as @a[team=playing,gamemode=survival] unless entity @s[nbt={SelectedItemSlot:8}] run tag @s add noVillager
+execute as @a[team=playing,gamemode=survival] if entity @s[tag=noVillager] if score @s interactVillager matches 1.. at @s as @e[type=villager,tag=TradePlayer,distance=..5] run function mini:trade/game/villager_rebirth
+execute as @a[team=playing,gamemode=survival] if entity @s[tag=noVillager] if score @s interactVillager matches 1.. run scoreboard players reset @s interactVillager
 execute as @a[team=playing,gamemode=survival] if entity @s[nbt={SelectedItemSlot:8}] run function mini:trade/game/villager_tp
 # 归位村民
 tp @e[type=villager,tag=TradePlayer,tag=!tpPlayer] 1000 5 5000