game_init.mcfunction 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 day
  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 seeFriendlyInvisibles 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 调整
  25. gamerule doLimitedCrafting false
  26. gamerule keepInventory true
  27. gamerule doTileDrops true
  28. gamerule doEntityDrops true
  29. gamerule doMobLoot true
  30. # 生成实体
  31. summon villager 1000 5 5000 {NoAI:1b,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}}]},CustomName:'{"text":"使用生物雷达是作弊行为哦!","color":"red"}'}
  32. # 设置交易列表
  33. execute as @a[team=playing] run function mini:trade/game/villager_init
  34. # 复制交易列表
  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. 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]
  39. # 村民碰撞箱处理
  40. team join playing @e[type=villager,tag=TradePlayer]