Răsfoiți Sursa

第一次选择纸生成新村民

HerobrineXia 5 ani în urmă
părinte
comite
5406b824ad

+ 2 - 1
data/mini/functions/trade/game/villager_rebirth.mcfunction

@@ -1,5 +1,5 @@
 # 生成村民
-summon villager 1000 5 5000 {NoAI:1b,Tags:["TradeMarker","TradePlayer","newVillager"],Invulnerable:1b,Silent:1b,Offers:{},VillagerData:{level:2,type:"jungle"},Xp:10}
+execute at @s run summon villager ~ ~ ~ {NoAI:1b,Tags:["TradeMarker","TradePlayer","newVillager"],Invulnerable:1b,Silent:1b,Offers:{},VillagerData:{level:2,type:"jungle"},Xp:10}
 # 设置对应的积分
 scoreboard players operation @e[type=villager,tag=newVillager] player_id = @s player_id
 # 复制对应nbt
@@ -9,4 +9,5 @@ data modify entity @e[type=villager,tag=newVillager,limit=1] Offers set from ent
 # 清理tag
 tag @e[type=villager,tag=newVillager] remove newVillager
 # 清理旧村民
+execute at @s run tp @s ~ -100 ~
 kill @s

+ 2 - 1
data/mini/functions/trade/game/villager_tp2.mcfunction

@@ -2,4 +2,5 @@ tag @s add tpPlayer
 tp @s @a[tag=tempPlayerTp,limit=1]
 tag @s add tpTemp
 execute at @a[tag=tempPlayerTp,limit=1] run tp @s ~ ~ ~ ~ 0
-execute at @s run function mini:trade/game/villager_tp3
+execute at @s run function mini:trade/game/villager_tp3
+execute if entity @a[tag=noVillager,tag=tempPlayerTp] at @s run function mini:trade/game/villager_rebirth

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

@@ -1,5 +1,6 @@
 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[nbt={SelectedItemSlot:8}] run function mini:trade/game/villager_tp
 # 归位村民
 tp @e[type=villager,tag=TradePlayer,tag=!tpPlayer] 1000 5 5000