game_init.mcfunction 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # 初始化钻石地图
  2. forceload add 1000 5000 1064 5064
  3. scoreboard players reset * emerald
  4. scoreboard players set $finish_mode mem 0
  5. scoreboard players set $survival mem 1
  6. # 调整时间
  7. time set 8600t
  8. # 生成地图
  9. 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}
  10. setblock 1000 255 5001 redstone_block
  11. schedule function mini:trade/game_init2 1t append
  12. # 清理残余实体
  13. tp @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100] ~ -100 ~
  14. kill @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100]
  15. # 伤害管理
  16. scoreboard players set $remove_resistance mem 1
  17. team modify playing friendlyFire false
  18. team modify playing collisionRule never
  19. team modify playing deathMessageVisibility always
  20. gamerule fallDamage false
  21. gamerule fireDamage true
  22. gamerule drowningDamage true
  23. # Gamerule 调整
  24. gamerule doLimitedCrafting false
  25. gamerule keepInventory true
  26. gamerule doTileDrops true
  27. gamerule doEntityDrops true
  28. gamerule doMobLoot true
  29. # 生成实体
  30. summon villager 1000 5 5000 {Tags:["TradeMarker","TradeOrigin"],Invulnerable:1b,Silent:1b,Offers:{Recipes:[{buy:{id:"emerald",Count:4},maxUses:999999,rewardExp:false,xp:20,sell:{id:"spider_spawn_egg",Count:1b}}]},VillagerData:{level:5,type:"jungle",profession:"nitwit"},Xp:10}
  31. # 设置交易列表
  32. execute as @a[team=playing] run function mini:trade/villager_init
  33. # 复制交易列表
  34. execute as @e[type=villager,tag=TradePlayer] run data modify entity @s Offers.Recipes append from entity @e[type=villager,tag=TradeOrigin,limit=1] Offers.Recipes[0]
  35. execute as @e[type=villager,tag=TradePlayer] run data modify entity @s Offers.Recipes append from entity @e[type=villager,tag=TradeOrigin,limit=1] Offers.Recipes[0]
  36. execute as @e[type=villager,tag=TradePlayer] run data modify entity @s Offers.Recipes append from entity @e[type=villager,tag=TradeOrigin,limit=1] Offers.Recipes[0]
  37. execute as @e[type=villager,tag=TradePlayer] run data modify entity @s Offers.Recipes append from entity @e[type=villager,tag=TradeOrigin,limit=1] Offers.Recipes[0]
  38. # 村民碰撞箱处理
  39. team join playing @e[type=villager,tag=TradePlayer]
  40. # 村民隐身
  41. effect give @e[type=villager,tag=TradePlayer] invisibility 999999 0 true