2
0
HerobrineXia 5 жил өмнө
parent
commit
c74eea5387

+ 4 - 3
data/mini/functions/trade/game/villager_init.mcfunction

@@ -1,5 +1,6 @@
 # 每个玩家生成村民
-summon villager 1000 5 5000 {NoAI:1b,Tags:["TradeMarker","TradePlayer","newVillager"],Invulnerable:1b,Silent:1b,Offers:{Recipes:[]},VillagerData:{level:2,type:"jungle"},Xp:10}
+summon minecraft:area_effect_cloud ~.5 ~ ~.5 {Age: -2147483648, Duration: -1, WaitTime: -2147483648, Tags: ["VillagerMarker","newVillagerMarker"],Passengers:[{id:"villager",NoAI:1b,Tags:["TradeMarker","TradePlayer"],Invulnerable:1b,Silent:1b,Offers:{Recipes:[]},VillagerData:{level:2,type:"jungle"},Xp:10}]}
+# summon villager 1000 5 5000 {NoAI:1b,Tags:["TradeMarker","TradePlayer","newVillager"],Invulnerable:1b,Silent:1b,Offers:{Recipes:[]},VillagerData:{level:2,type:"jungle"},Xp:10}
 # 设置对应的积分
-scoreboard players operation @e[type=villager,tag=newVillager] player_id = @s player_id
-tag @e[type=villager,tag=newVillager] remove newVillager
+scoreboard players operation @e[type=area_effect_cloud,tag=newVillagerMarker] player_id = @s player_id
+tag @e[type=area_effect_cloud,tag=newVillagerMarker] remove newVillagerMarker

+ 4 - 5
data/mini/functions/trade/game/villager_tp.mcfunction

@@ -1,8 +1,7 @@
 tag @s add tempPlayerTp
-execute as @e[type=villager,tag=TradePlayer] if score @s player_id = @a[tag=tempPlayerTp,limit=1] player_id run tag @s add tempVillagerTp
-execute as @e[type=villager,tag=TradePlayer] if score @s player_id = @a[tag=tempPlayerTp,limit=1] player_id run tag @s add tpPlayer
+execute as @e[type=area_effect_cloud,tag=VillagerMarker] if score @s player_id = @a[tag=tempPlayerTp,limit=1] player_id run tag @s add tempVillagerTp
+execute as @e[type=area_effect_cloud,tag=VillagerMarker] if score @s player_id = @a[tag=tempPlayerTp,limit=1] player_id run tag @s add tpPlayer
 # execute at @s anchored feet run tp @e[type=villager,tag=tempVillagerTp] ^ ^ ^0.5
-execute as @e[type=villager,tag=tempVillagerTp,limit=1] at @s run tp @s ~ 9999 ~
-data modify entity @e[type=villager,tag=tempVillagerTp,limit=1] Pos set from entity @s Pos
-tag @e[type=villager,tag=tempVillagerTp] remove tempVillagerTp
+data modify entity @e[type=area_effect_cloud,tag=tempVillagerTp,limit=1] Pos set from entity @s Pos
+tag @e[type=area_effect_cloud,tag=tempVillagerTp] remove tempVillagerTp
 tag @s remove tempPlayerTp

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

@@ -1,5 +1,5 @@
-tag @e[type=villager,tag=TradePlayer] remove tpPlayer
+tag @e[type=area_effect_cloud,tag=VillagerMarker] remove tpPlayer
 # 处理村民糊脸
 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
+tp @e[type=area_effect_cloud,tag=VillagerMarker,tag=!tpPlayer] 1000 5 5000