2
0

game_init.mcfunction 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # 初始化交易地图
  2. forceload add 1000 5000 1064 5064
  3. scoreboard players reset * emerald
  4. scoreboard players reset * interactVillager
  5. scoreboard players set $finish_mode mem 0
  6. scoreboard players set $survival mem 1
  7. # 调整时间
  8. time set day
  9. # 生成地图
  10. setblock 1000 255 5000 minecraft:structure_block[mode=load]{metadata:"",mirror:"NONE",ignoreEntities:1b,powered:0b,seed:0L,author:"LTCat",rotation:"NONE",posX:0,mode:"LOAD",posY:-24,sizeX:32,posZ:0,integrity:1.0f,showair:0b,name:"mini:diamond_base",sizeY:25,sizeZ:32,showboundingbox:1b}
  11. setblock 1000 255 5001 redstone_block
  12. schedule function mini:trade/game_init2 1t append
  13. # 清理残余实体
  14. tp @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100] ~ -100 ~
  15. kill @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100]
  16. # 伤害管理
  17. scoreboard players set $remove_resistance mem 1
  18. team modify playing friendlyFire false
  19. team modify playing collisionRule never
  20. team modify playing deathMessageVisibility always
  21. gamerule fallDamage false
  22. gamerule fireDamage false
  23. gamerule drowningDamage true
  24. # Gamerule 调整
  25. gamerule doLimitedCrafting false
  26. gamerule keepInventory true
  27. gamerule doTileDrops true
  28. gamerule doEntityDrops true
  29. gamerule doMobLoot true
  30. # 生成实体
  31. kill @e[type=villager,tag=TradeMarker]
  32. summon villager 1000 5 5000 {NoAI:1b,Tags:["TradeMarker","TradeOrigin"],Invulnerable:1b,Silent:1b,Offers:{},CustomName:'{"text":"使用生物雷达是作弊行为哦!","color":"red"}'}
  33. # 设置交易列表
  34. execute as @e[type=villager,tag=TradeOrigin] at @s run function mini:trade/game/set_trade
  35. # 玩家村民生成
  36. execute as @a[team=playing] run function mini:trade/game/villager_init
  37. # 复制交易列表
  38. execute as @e[type=villager,tag=TradePlayer] run function mini:trade/game/villager_update_trade
  39. # 村民碰撞箱处理
  40. team join playing @e[type=villager,tag=TradePlayer]