Răsfoiți Sursa

修改trade的tp函数

HerobrineXia 5 ani în urmă
părinte
comite
561400c3c6

+ 0 - 1
data/mini/functions/main/tick1.mcfunction

@@ -1,2 +1 @@
 execute if score $mini_type mem matches 2 run function mini:tntrun/tick1
-execute if score $mini_type mem matches 8 run function mini:trade/tick1

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

@@ -1,6 +1,5 @@
 # 每个玩家生成村民
-summon minecraft:armor_stand ~.5 ~ ~.5 {NoGravity:1b, 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}
+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=armor_stand,tag=newVillagerMarker] player_id = @s player_id
-tag @e[type=armor_stand,tag=newVillagerMarker] remove newVillagerMarker
+scoreboard players operation @e[type=villager,tag=newVillager] player_id = @s player_id
+tag @e[type=villager,tag=newVillager] remove newVillager

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

@@ -1,7 +1,3 @@
 tag @s add tempPlayerTp
-execute as @e[type=armor_stand,tag=VillagerMarker] if score @s player_id = @a[tag=tempPlayerTp,limit=1] player_id run tag @s add tempVillagerTp
-execute as @e[type=armor_stand,tag=VillagerMarker] if score @s player_id = @a[tag=tempPlayerTp,limit=1] player_id run tag @s add tpPlayer
-execute at @s run tp @e[type=armor_stand,tag=tempVillagerTp] ~ ~ ~
-# data modify entity @e[type=armor_stand,tag=tempVillagerTp,limit=1] Pos set from entity @s Pos
-tag @e[type=armor_stand,tag=tempVillagerTp] remove tempVillagerTp
+execute as @e[type=villager,tag=TradePlayer] if score @s player_id = @a[tag=tempPlayerTp,limit=1] player_id run function mini:trade/game/villager_tp2
 tag @s remove tempPlayerTp

+ 3 - 0
data/mini/functions/trade/game/villager_tp2.mcfunction

@@ -0,0 +1,3 @@
+tag @s add tpPlayer
+execute in the_nether run tp @s 0 0 0
+tp @s @a[tag=tempPlayerTp,limit=1]

+ 0 - 8
data/mini/functions/trade/tick1.mcfunction

@@ -1,8 +0,0 @@
-scoreboard players add $1tick mem 1
-# execute if score $1tick mem matches 1 as @e[type=villager,tag=TradePlayer] run data modify entity @s CustomName set value '{"text":"BABA IS MORE"}'
-# execute if score $1tick mem matches 2 as @e[type=villager,tag=TradePlayer] run data modify entity @s CustomName set value '{"text":"BABA IS LESS"}'
-
-execute if score $1tick mem matches 1 as @e[type=villager,tag=TradePlayer] run data modify entity @s VillagerData.type set value "minecraft:snow"
-execute if score $1tick mem matches 2 as @e[type=villager,tag=TradePlayer] run data modify entity @s VillagerData.type set value "minecraft:swamp"
-
-execute if score $1tick mem matches 2 run scoreboard players set $1tick mem 0

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

@@ -1,5 +1,5 @@
-tag @e[type=armor_stand,tag=VillagerMarker] remove tpPlayer
+tag @e[type=villager,tag=TradePlayer] 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=armor_stand,tag=VillagerMarker,tag=!tpPlayer] 1000 5 5000
+tp @e[type=villager,tag=TradePlayer,tag=!tpPlayer] 1000 5 5000