game_init.mcfunction 1.9 KB

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