game_init.mcfunction 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. scoreboard players set $remove_resistance mem 1
  15. team modify playing friendlyFire false
  16. team modify playing collisionRule never
  17. team modify playing deathMessageVisibility always
  18. gamerule fallDamage false
  19. gamerule fireDamage false
  20. gamerule drowningDamage true
  21. # Gamerule 调整
  22. gamerule doLimitedCrafting false
  23. gamerule keepInventory true
  24. gamerule doTileDrops true
  25. gamerule doEntityDrops true
  26. gamerule doMobLoot true
  27. # 生成实体
  28. kill @e[type=villager,tag=TradeMarker]
  29. summon villager 1000 5 5000 {NoAI:1b,Tags:["TradeMarker","TradeOrigin"],Invulnerable:1b,Silent:1b,Offers:{},CustomName:'{"text":"使用生物雷达是作弊行为哦!","color":"red"}'}
  30. # 设置交易列表
  31. execute as @e[type=villager,tag=TradeOrigin] at @s run function mini:trade/game/set_trade
  32. # 玩家村民生成
  33. execute as @a[team=playing] run function mini:trade/game/villager_init
  34. # 复制交易列表
  35. execute as @e[type=villager,tag=TradePlayer] run function mini:trade/game/villager_update_trade
  36. # 村民碰撞箱处理
  37. team join playing @e[type=villager,tag=TradePlayer]