Explorar el Código

钻石的重做

龙腾猫跃 hace 3 años
padre
commit
2aa280c74f
Se han modificado 61 ficheros con 215 adiciones y 168 borrados
  1. 4 4
      data/item/functions/bonus_item/add_score.mcfunction
  2. 4 4
      data/item/functions/shop/refresh_gold.mcfunction
  3. 2 2
      data/item/functions/shop/refresh_green.mcfunction
  4. 1 1
      data/item/loot_tables/gameparty/item/blue.json
  5. 1 1
      data/lib/functions/bossbar/set_slow20.mcfunction
  6. 1 1
      data/lib/functions/bossbar/show.mcfunction
  7. 1 1
      data/ltw/advancements/vs/emerald1.json
  8. 1 1
      data/ltw/advancements/vs/emerald2.json
  9. 1 1
      data/ltw/advancements/vs/emerald3.json
  10. 14 7
      data/ltw/functions/init.mcfunction
  11. 4 4
      data/ltw/functions/main/game_end.mcfunction
  12. 0 16
      data/ltw/functions/main/player_enter.mcfunction
  13. 2 2
      data/ltw/functions/state/0/tick5.mcfunction
  14. 1 1
      data/ltw/functions/state/3/state_enter.mcfunction
  15. 0 3
      data/mini/functions/diamond/game/give_diamond.mcfunction
  16. 0 4
      data/mini/functions/diamond/game/random_slot.mcfunction
  17. 0 4
      data/mini/functions/diamond/game_init2.mcfunction
  18. 0 29
      data/mini/functions/diamond/player_death.mcfunction
  19. 0 8
      data/mini/functions/diamond/player_intro.mcfunction
  20. 0 14
      data/mini/functions/diamond/tick5.mcfunction
  21. 1 1
      data/mini/functions/hotpm/game/pm_give.mcfunction
  22. 0 0
      data/mini/functions/iron/game/clear_effect.mcfunction
  23. 3 0
      data/mini/functions/iron/game/give_iron.mcfunction
  24. 1 1
      data/mini/functions/iron/game/pop_slot.mcfunction
  25. 4 0
      data/mini/functions/iron/game/random_slot.mcfunction
  26. 1 1
      data/mini/functions/iron/game/respawn.mcfunction
  27. 1 1
      data/mini/functions/iron/game_end.mcfunction
  28. 5 7
      data/mini/functions/iron/game_init.mcfunction
  29. 9 0
      data/mini/functions/iron/game_init2.mcfunction
  30. 0 0
      data/mini/functions/iron/game_init3.mcfunction
  31. 1 1
      data/mini/functions/iron/game_start.mcfunction
  32. 0 0
      data/mini/functions/iron/give_effect.mcfunction
  33. 4 2
      data/mini/functions/iron/init.mcfunction
  34. 30 0
      data/mini/functions/iron/player_death.mcfunction
  35. 4 4
      data/mini/functions/iron/player_enter.mcfunction
  36. 5 0
      data/mini/functions/iron/player_intro.mcfunction
  37. 0 0
      data/mini/functions/iron/tick2.mcfunction
  38. 2 2
      data/mini/functions/iron/tick20.mcfunction
  39. 8 0
      data/mini/functions/iron/tick5.mcfunction
  40. 0 0
      data/mini/functions/iron/watcher_limit.mcfunction
  41. 1 1
      data/mini/functions/main/game_end.mcfunction
  42. 1 1
      data/mini/functions/main/game_init.mcfunction
  43. 1 1
      data/mini/functions/main/game_start.mcfunction
  44. 1 1
      data/mini/functions/main/give_effect.mcfunction
  45. 1 1
      data/mini/functions/main/init.mcfunction
  46. 1 1
      data/mini/functions/main/player_death.mcfunction
  47. 1 1
      data/mini/functions/main/player_enter.mcfunction
  48. 1 1
      data/mini/functions/main/player_intro.mcfunction
  49. 1 1
      data/mini/functions/main/tick2.mcfunction
  50. 1 1
      data/mini/functions/main/tick20.mcfunction
  51. 1 1
      data/mini/functions/main/tick5.mcfunction
  52. 1 1
      data/mini/functions/main/watcher_limit.mcfunction
  53. 1 1
      data/mini/functions/phantom/tick5.mcfunction
  54. 60 0
      data/mini/functions/trade/document.txt
  55. 1 16
      data/mini/functions/trade/game_init.mcfunction
  56. 18 1
      data/mini/functions/trade/game_init2.mcfunction
  57. 1 4
      data/mini/functions/trade/player_intro.mcfunction
  58. 3 3
      data/mini/functions/trade/tick20.mcfunction
  59. 1 1
      data/mini/loot_tables/trade_s.json
  60. 1 1
      data/test/functions/mini/iron.mcfunction
  61. 1 1
      data/test/functions/mini/trade.mcfunction

+ 4 - 4
data/item/functions/bonus_item/add_score.mcfunction

@@ -10,11 +10,11 @@ execute if score #bonus_add_score mem matches ..10 run tellraw @a ["",{"text": "
 scoreboard players set $random_max mem 1
 scoreboard players set $random_min mem 0
 function lib:random
-execute if score #bonus_add_score mem matches 100..101 if score $random mem matches 1 run scoreboard players operation @s total_score *= #const_2 mem
-execute if score #bonus_add_score mem matches 100..101 if score $random mem matches 1 run scoreboard players operation @s total_score_disp *= #const_2 mem
+execute if score #bonus_add_score mem matches 100..101 if score $random mem matches 1 run scoreboard players operation @s total_score *= #2 mem
+execute if score #bonus_add_score mem matches 100..101 if score $random mem matches 1 run scoreboard players operation @s total_score_disp *= #2 mem
 execute if score #bonus_add_score mem matches 100..101 if score $random mem matches 1 run tellraw @a ["",{"text": ">> ","color":"green","bold": true},{"selector": "@s","color":"green"}," 的硬币投出了正面, 积分加倍, 当前共有 ",{"score": {"name": "@s","objective": "total_score"},"color":"green"},{"text": " 积分", "color":"green"}]
-execute if score #bonus_add_score mem matches 100 if score $random mem matches 0 run scoreboard players operation @s total_score /= #const_2 mem
-execute if score #bonus_add_score mem matches 100 if score $random mem matches 0 run scoreboard players operation @s total_score_disp /= #const_2 mem
+execute if score #bonus_add_score mem matches 100 if score $random mem matches 0 run scoreboard players operation @s total_score /= #2 mem
+execute if score #bonus_add_score mem matches 100 if score $random mem matches 0 run scoreboard players operation @s total_score_disp /= #2 mem
 execute if score #bonus_add_score mem matches 100 if score $random mem matches 0 run tellraw @a ["",{"text": ">> ","color":"red","bold": true},{"selector": "@s","color":"red"}," 的硬币投出了反面, 积分减半, 当前共有 ",{"score": {"name": "@s","objective": "total_score"},"color":"red"},{"text": " 积分", "color":"red"}]
 execute if score #bonus_add_score mem matches 101 if score $random mem matches 0 run tellraw @a ["",{"text": ">> ","color":"red","bold": true},{"selector": "@s","color":"red"}," 的硬币投出了反面, 积分不变, 当前共有 ",{"score": {"name": "@s","objective": "total_score"},"color":"red"},{"text": " 积分", "color":"red"}]
 

+ 4 - 4
data/item/functions/shop/refresh_gold.mcfunction

@@ -8,17 +8,17 @@ clear @s gold_nugget
 
 # 获取金块数,存于 temp
 scoreboard players operation @s temp = @s gold
-scoreboard players operation @s temp /= #const_81 mem
+scoreboard players operation @s temp /= #81 mem
 # 给予金块
 execute if score @s temp matches 1.. at @s run function item:shop/summon_gold_block
 # 获取金锭数,存于 temp
 scoreboard players operation @s temp = @s gold
-scoreboard players operation @s temp %= #const_81 mem
-scoreboard players operation @s temp /= #const_9 mem
+scoreboard players operation @s temp %= #81 mem
+scoreboard players operation @s temp /= #9 mem
 # 给予金锭
 execute if score @s temp matches 1.. at @s run function item:shop/summon_gold
 # 获取金粒数,存于 temp
 scoreboard players operation @s temp = @s gold
-scoreboard players operation @s temp %= #const_9 mem
+scoreboard players operation @s temp %= #9 mem
 # 给予金粒
 execute if score @s temp matches 1.. at @s run function item:shop/summon_nugget

+ 2 - 2
data/item/functions/shop/refresh_green.mcfunction

@@ -7,11 +7,11 @@ clear @s emerald
 
 # 获取绿宝石块数,存于 temp
 scoreboard players operation @s temp = @s green
-scoreboard players operation @s temp /= #const_9 mem
+scoreboard players operation @s temp /= #9 mem
 # 给予绿宝石块
 execute if score @s temp matches 1.. at @s run function item:shop/summon_emerald_block
 # 获取绿宝石数,存于 temp
 scoreboard players operation @s temp = @s green
-scoreboard players operation @s temp %= #const_9 mem
+scoreboard players operation @s temp %= #9 mem
 # 给予绿宝石
 execute if score @s temp matches 1.. at @s run function item:shop/summon_emerald

+ 1 - 1
data/item/loot_tables/gameparty/item/blue.json

@@ -7,7 +7,7 @@
         "functions": [
             {
                 "function": "minecraft:set_nbt",
-                "tag": "{\"item_name\":\"{\\\"text\\\":\\\"地牢箱子\\\",\\\"color\\\":\\\"aqua\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"BlockEntityTag\":{\"LootTable\":\"mini:diamond\",\"id\":\"minecraft:chest\"}}"
+                "tag": "{\"item_name\":\"{\\\"text\\\":\\\"地牢箱子\\\",\\\"color\\\":\\\"aqua\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"BlockEntityTag\":{\"LootTable\":\"mini:iron\",\"id\":\"minecraft:chest\"}}"
             }
         ]
     },

+ 1 - 1
data/lib/functions/bossbar/set_slow20.mcfunction

@@ -1,6 +1,6 @@
 # 计算值
 scoreboard players operation #temp mem = $countdown mem
-scoreboard players operation #temp mem *= #const_10 mem
+scoreboard players operation #temp mem *= #10 mem
 
 # 设置值
 execute store result bossbar mini:red value run scoreboard players get #temp mem

+ 1 - 1
data/lib/functions/bossbar/show.mcfunction

@@ -2,7 +2,7 @@
 
 # 计算最大值
 scoreboard players operation #temp mem = $countdown_max mem
-execute if score $bossbar_type mem matches 2 run scoreboard players operation #temp mem *= #const_10 mem
+execute if score $bossbar_type mem matches 2 run scoreboard players operation #temp mem *= #10 mem
 
 # 设置最大值
 execute store result bossbar mini:red max run scoreboard players get #temp mem

+ 1 - 1
data/ltw/advancements/vs/emerald1.json

@@ -8,7 +8,7 @@
         "text": "商业新星        "
       },
       "description": [
-        {"text": "在贸易专家中获得 40 个绿宝石\n", "color":"gray"},
+        {"text": "在贸易专家中获得 7 个绿宝石\n", "color":"gray"},
         {"text": "奖励: ","color":"green"},
         {"text": "1 绿宝石","color":"white"}
       ],

+ 1 - 1
data/ltw/advancements/vs/emerald2.json

@@ -8,7 +8,7 @@
         "text": "商业鬼才        "
       },
       "description": [
-        {"text": "在贸易专家中获得 70 个绿宝石\n", "color":"gray"},
+        {"text": "在贸易专家中获得 10 个绿宝石\n", "color":"gray"},
         {"text": "奖励: ","color":"green"},
         {"text": "2 绿宝石","color":"white"}
       ],

+ 1 - 1
data/ltw/advancements/vs/emerald3.json

@@ -8,7 +8,7 @@
         "text": "商业奇迹        "
       },
       "description": [
-        {"text": "在贸易专家中获得 100 个绿宝石\n", "color":"gray"},
+        {"text": "在贸易专家中获得 13 个绿宝石\n", "color":"gray"},
         {"text": "奖励: ","color":"green"},
         {"text": "3 绿宝石","color":"white"}
       ],

+ 14 - 7
data/ltw/functions/init.mcfunction

@@ -97,13 +97,20 @@ scoreboard objectives add stat_win dummy "总胜场"
 
 # 常量与变量初始化
 scoreboard players set #mini_total mem 5
-scoreboard players set #const_2 mem 2
-scoreboard players set #const_4 mem 4
-scoreboard players set #const_5 mem 5
-scoreboard players set #const_9 mem 9
-scoreboard players set #const_10 mem 10
-scoreboard players set #const_81 mem 81
-scoreboard players set #const_100 mem 100
+scoreboard players set #-1 mem -1
+scoreboard players set #0 mem 0
+scoreboard players set #1 mem 1
+scoreboard players set #2 mem 2
+scoreboard players set #3 mem 3
+scoreboard players set #4 mem 4
+scoreboard players set #5 mem 5
+scoreboard players set #6 mem 6
+scoreboard players set #7 mem 7
+scoreboard players set #8 mem 8
+scoreboard players set #9 mem 9
+scoreboard players set #10 mem 10
+scoreboard players set #81 mem 81
+scoreboard players set #100 mem 100
 
 # 玩家队伍
 # team remove debugging

+ 4 - 4
data/ltw/functions/main/game_end.mcfunction

@@ -38,13 +38,13 @@ scoreboard players operation #total_gold mem /= #total_weight mem
 # 计算名次奖励
 scoreboard players set #rank1_gold mem 3
 scoreboard players operation #rank1_gold mem *= #total_gold mem
-scoreboard players operation #rank1_gold mem /= #const_100 mem
+scoreboard players operation #rank1_gold mem /= #100 mem
 scoreboard players set #rank2_gold mem 2
 scoreboard players operation #rank2_gold mem *= #total_gold mem
-scoreboard players operation #rank2_gold mem /= #const_100 mem
+scoreboard players operation #rank2_gold mem /= #100 mem
 scoreboard players set #rank3_gold mem 1
 scoreboard players operation #rank3_gold mem *= #total_gold mem
-scoreboard players operation #rank3_gold mem /= #const_100 mem
+scoreboard players operation #rank3_gold mem /= #100 mem
 # 如果因为掉线强制结束则无名次奖励
 execute store result score #count mem if entity @a[team=playing]
 execute if score #count mem matches ..2 run scoreboard players set #rank1_gold mem 0
@@ -60,7 +60,7 @@ tellraw @a ""
 
 # 积分金粒奖励
 execute as @a[team=playing] run scoreboard players operation @s temp2 = @s total_score
-execute as @a[team=playing] run scoreboard players operation @s temp2 /= #const_2 mem
+execute as @a[team=playing] run scoreboard players operation @s temp2 /= #2 mem
 execute as @a[team=playing] run scoreboard players operation @s gold += @s temp2
 execute as @a[team=playing] run scoreboard players operation @s gold_total += @s temp2
 tellraw @a[team=playing] [" ",{"text": "积分奖励: ","color":"gold"},{"score":{"name": "*","objective": "temp2"}}," 金粒"]

+ 0 - 16
data/ltw/functions/main/player_enter.mcfunction

@@ -23,22 +23,6 @@ execute if entity @s[team=playing] if score @s game_id = $ game_id run function
 bossbar set ltw:notice players @a
 function lib:bossbar/show
 
-# 无指定人员
-# FIXME: 如果服务器异常关闭,玩家在再次加入的时候不会触发进入事件(由于没有离开游戏计数)
-# FIXME: 通过在每次进入阶段 3 时 kill 使用过不死图腾的玩家来解决不死图腾假死
-# FIXME: {贸易} 确认是否能进行三次交易?
-# FIXME: 如果玩家隐身,则不显示尾迹
-
-# 龙猫
-# TODO: {钻石/贸易} 减少水;分别刷出不同的额外方块;增加一个池子
-# TODO: {土豆} 移除黄色指示器
-# TODO: 确认玩家看不到隐身玩家
-# FIXME: 再次确认音乐 Bug,是否不能在同 tick 执行?
-# FIXME: {钻石} 玩家会列入钻石的记分板(由于在 belowName 里显示)
-
-# HIM
-
-
 # ——————————————
 #  小游戏最佳实践
 # ——————————————

+ 2 - 2
data/ltw/functions/state/0/tick5.mcfunction

@@ -31,9 +31,9 @@ execute if score $count mem matches ..2 if score #start_countdown mem matches ..
 # 播放音效
 scoreboard players remove #start_countdown mem 1
 scoreboard players operation #start_sec mem = #start_countdown mem
-scoreboard players operation #start_sec mem /= #const_4 mem
+scoreboard players operation #start_sec mem /= #4 mem
 scoreboard players operation #start_div mem = #start_countdown mem
-scoreboard players operation #start_div mem %= #const_4 mem
+scoreboard players operation #start_div mem %= #4 mem
 execute if score #start_sec mem matches 1..10 if score #start_div mem matches 3 run execute as @a at @s run function lib:sounds/hit2
 
 # 20s:提示未准备

+ 1 - 1
data/ltw/functions/state/3/state_enter.mcfunction

@@ -28,7 +28,7 @@ execute if score $round mem matches ..4 run data remove storage ltw:mini types[0
 
 # 前置/后置小游戏
 # 如果为第 1 轮,则有一半概率选用刺客,一半概率不变
-# 如果为第 5 轮,则有一半概率选用钻石,一半概率选用贸易
+# 如果为第 5 轮,则有一半概率选用钢铁,一半概率选用贸易
 scoreboard players set $random_max mem 1
 scoreboard players set $random_min mem 0
 function lib:random

+ 0 - 3
data/mini/functions/diamond/game/give_diamond.mcfunction

@@ -1,3 +0,0 @@
-give @s diamond
-scoreboard players remove #diamond_count temp 1
-execute if score #diamond_count temp matches 1.. run function mini:diamond/game/give_diamond

+ 0 - 4
data/mini/functions/diamond/game/random_slot.mcfunction

@@ -1,4 +0,0 @@
-setblock 1000 0 5000 minecraft:structure_block{posX:0,posY:0,posZ:1,mode:"LOAD",name:"item:inventory",integrity:0.5f}
-fill 1000 0 5001 1009 0 5004 air
-setblock 1000 1 5000 air
-setblock 1000 1 5000 redstone_block

+ 0 - 4
data/mini/functions/diamond/game_init2.mcfunction

@@ -1,4 +0,0 @@
-
-# 矿物生成
-setblock 1028 252 5030 minecraft:redstone_block
-schedule function mini:diamond/game_init3 7t

+ 0 - 29
data/mini/functions/diamond/player_death.mcfunction

@@ -1,29 +0,0 @@
-# 执行重生方法
-function mini:diamond/game/respawn
-
-# 复活特效
-execute as @a at @s run function lib:sounds/error
-effect give @s blindness 3 0 true
-
-# 处理玩家掉落物品
-# 获取玩家死亡位置
-kill @e[type=armor_stand,tag=dead_marker]
-summon armor_stand 1000 0 5000 {Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,NoGravity:1b,Tags:["dead_marker"]}
-execute store result entity @e[type=armor_stand,tag=dead_marker,limit=1] Pos[0] double 1 run scoreboard players get @s posX
-execute store result entity @e[type=armor_stand,tag=dead_marker,limit=1] Pos[1] double 1 run scoreboard players get @s posY
-execute store result entity @e[type=armor_stand,tag=dead_marker,limit=1] Pos[2] double 1 run scoreboard players get @s posZ
-# 单独处理钻石
-execute store result score #diamond_count temp run clear @s diamond
-scoreboard players add #diamond_count temp 1
-execute if score #diamond_count temp matches 2.. at @e[type=armor_stand,tag=dead_marker,limit=1] run summon item ~ ~ ~ {Tags:["temp_diamond"],Item:{id:"minecraft:diamond",Count:1b},Glowing:1b}
-execute as @e[type=item,tag=temp_diamond,limit=1] store result entity @s Item.Count byte 0.5 run scoreboard players get #diamond_count temp
-tag @e[type=item,tag=temp_diamond,limit=1] remove temp_diamond
-# 随机槽位掉落
-function mini:diamond/game/random_slot
-function mini:diamond/game/pop_slot
-# 返还钻石
-scoreboard players remove #diamond_count temp 1
-scoreboard players operation #diamond_count temp /= #const_2 mem
-execute if score #diamond_count temp matches 1.. run function mini:diamond/game/give_diamond
-# 删除marker
-kill @e[type=armor_stand,tag=dead_marker]

+ 0 - 8
data/mini/functions/diamond/player_intro.mcfunction

@@ -1,8 +0,0 @@
-# 向单个玩家展示小游戏介绍
-tp @s[team=!debugging] 1013.47 247.63 5045.62 -178.86 17.18
-worldborder set 1000000
-effect give @s[team=!debugging] night_vision 1000000 0 true
-tellraw @s ["",{"text":"\n >> 钻石风暴 >>\n\n","color":"gold","bold":true}," 制作铁镐, 挖取钻石, 然后保住自己的小命!\n 不过, 或许也可以去地牢碰碰运气……\n"]
-tellraw @s ["",{"text": " <积分制> ","color":"red","bold": true}, {"text":"太阳落山时游戏即会结束, 然后根据持有的钻石数排名。","color":"gray"}]
-tellraw @s ["",{"text": " <PVP> ","color":"light_purple","bold": true}, {"text":"死亡会掉落一半物品, 被击杀后能立即复活。","color":"gray"}]
-tellraw @s ""

+ 0 - 14
data/mini/functions/diamond/tick5.mcfunction

@@ -1,14 +0,0 @@
-
-# 更新钻石数量
-execute as @a[team=playing] store result score @s diamond run clear @s diamond 0
-execute if score $countdown mem matches ..60 run effect give @a[team=playing] glowing 1000000 0 true
-# effect give @a[scores={diamond=1..}] glowing 5 0 true
-
-# 显示提示
-execute as @a[scores={diamond=1..},tag=!diamond_got,x=1000,y=0,z=5000,dx=32,dy=253,dz=32] run tellraw @a ["",{"text": ">> ","color":"aqua","bold": true},{"selector": "@s"},{"text":" 获得了闪闪发光的钻石","color":"aqua"}]
-execute as @a[scores={diamond=1..},tag=!diamond_got,x=1000,y=0,z=5000,dx=32,dy=253,dz=32] as @a run function lib:sounds/hit
-tag @a remove diamond_got
-tag @a[scores={diamond=1..}] add diamond_got
-
-# 钻石发光
-execute as @e[type=minecraft:item,nbt={Item:{id:"minecraft:diamond"}}] run data modify entity @s Glowing set value 1b

+ 1 - 1
data/mini/functions/hotpm/game/pm_give.mcfunction

@@ -1,7 +1,7 @@
 # 计算权重
 scoreboard players reset @a temp
 execute as @a[team=!debugging] run scoreboard players operation @s temp = @s mini_heart
-execute as @a[team=!debugging] run scoreboard players operation @s temp *= #const_100 mem
+execute as @a[team=!debugging] run scoreboard players operation @s temp *= #100 mem
 execute as @a[team=!debugging] run scoreboard players operation @s temp += @s total_score_disp
 scoreboard players add @a[tag=!pm_explode_last] temp 10000
 

+ 0 - 0
data/mini/functions/diamond/game/clear_effect.mcfunction → data/mini/functions/iron/game/clear_effect.mcfunction


+ 3 - 0
data/mini/functions/iron/game/give_iron.mcfunction

@@ -0,0 +1,3 @@
+give @s iron_ingot
+scoreboard players remove #iron_count temp 1
+execute if score #iron_count temp matches 1.. run function mini:iron/game/give_iron

+ 1 - 1
data/mini/functions/diamond/game/pop_slot.mcfunction → data/mini/functions/iron/game/pop_slot.mcfunction

@@ -79,6 +79,6 @@ execute if block 1009 0 5003 minecraft:bedrock at @e[type=armor_stand,tag=dead_m
 execute if block 1009 0 5004 minecraft:bedrock run scoreboard players set @s item_slot 103
 execute if block 1009 0 5004 minecraft:bedrock at @e[type=armor_stand,tag=dead_marker,limit=1] run function item:pop_slot/pop_item
 execute store result score #fill_count temp run fill 1000 0 5001 1009 0 5004 air
-scoreboard players operation #fill_count temp %= #const_2 temp
+scoreboard players operation #fill_count temp %= #2 temp
 execute if score #fill_count temp matches 1 run scoreboard players set @s item_slot -106
 execute if score #fill_count temp matches 1 at @e[type=armor_stand,tag=dead_marker,limit=1] run function item:pop_slot/pop_item

+ 4 - 0
data/mini/functions/iron/game/random_slot.mcfunction

@@ -0,0 +1,4 @@
+fill 1000 0 5000 1009 0 5004 air
+setblock 1000 0 5000 minecraft:structure_block{posX:0,posY:0,posZ:1,mode:"LOAD",name:"item:inventory",integrity:0.33f}
+setblock 1000 1 5000 air
+setblock 1000 1 5000 redstone_block

+ 1 - 1
data/mini/functions/diamond/game/respawn.mcfunction → data/mini/functions/iron/game/respawn.mcfunction

@@ -1,6 +1,6 @@
 
 # 给予状态效果
-function mini:diamond/give_effect
+function mini:iron/give_effect
 effect give @s slow_falling 4
 effect give @s weakness 5 10 true
 effect give @s resistance 5 10 true

+ 1 - 1
data/mini/functions/diamond/game_end.mcfunction → data/mini/functions/iron/game_end.mcfunction

@@ -13,7 +13,7 @@ gamerule fireDamage false
 gamerule drowningDamage false
 
 # 计算积分
-execute as @a[team=playing] run scoreboard players operation @s mini_score += @s diamond
+execute as @a[team=playing] run scoreboard players operation @s mini_score += @s iron_count
 
 # 清理物品栏
 clear @a[team=playing]

+ 5 - 7
data/mini/functions/diamond/game_init.mcfunction → data/mini/functions/iron/game_init.mcfunction

@@ -1,7 +1,8 @@
-# 初始化钻石地图
+# 初始化钢铁地图
 forceload add 1000 5000 1064 5064
 
-scoreboard players reset * diamond
+scoreboard players reset * iron_count
+scoreboard players reset * iron_disp
 scoreboard players set $finish_mode mem 0
 scoreboard players set $survival mem 1
 
@@ -11,11 +12,6 @@ time set 8600t
 # 生成地图
 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}
 setblock 1000 255 5001 redstone_block
-schedule function mini:diamond/game_init2 1t append
-
-# 清理残余实体
-tp @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100] ~ -100 ~
-kill @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100]
 
 # 伤害管理
 scoreboard players set $remove_resistance mem 1
@@ -32,3 +28,5 @@ gamerule keepInventory true
 gamerule doTileDrops true
 gamerule doEntityDrops true
 gamerule doMobLoot true
+
+schedule function mini:iron/game_init2 1t append

+ 9 - 0
data/mini/functions/iron/game_init2.mcfunction

@@ -0,0 +1,9 @@
+
+# 清理残余实体
+tp @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100] ~ -100 ~
+kill @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100]
+
+# 矿物生成
+setblock 1028 252 5030 minecraft:redstone_block
+
+schedule function mini:iron/game_init3 7t

+ 0 - 0
data/mini/functions/diamond/game_init3.mcfunction → data/mini/functions/iron/game_init3.mcfunction


+ 1 - 1
data/mini/functions/diamond/game_start.mcfunction → data/mini/functions/iron/game_start.mcfunction

@@ -4,7 +4,7 @@ scoreboard players set $countdown mem 270
 # HUD
 scoreboard objectives setdisplay list total_score_disp
 scoreboard objectives setdisplay belowName health_disp
-scoreboard objectives setdisplay sidebar diamond
+scoreboard objectives setdisplay sidebar iron_disp
 scoreboard players set $bossbar_color mem 4
 scoreboard players set $countdown_max mem 270
 scoreboard players set $bossbar_type mem 2

+ 0 - 0
data/mini/functions/diamond/give_effect.mcfunction → data/mini/functions/iron/give_effect.mcfunction


+ 4 - 2
data/mini/functions/diamond/init.mcfunction → data/mini/functions/iron/init.mcfunction

@@ -1,6 +1,8 @@
 # 重置计分板
-scoreboard objectives remove diamond
-scoreboard objectives add diamond dummy "钻石数"
+scoreboard objectives remove iron_count
+scoreboard objectives add iron_count dummy "铁锭数"
+scoreboard objectives remove iron_disp
+scoreboard objectives add iron_disp dummy "铁锭数"
 
 scoreboard objectives remove posX
 scoreboard objectives add posX dummy "坐标X"

+ 30 - 0
data/mini/functions/iron/player_death.mcfunction

@@ -0,0 +1,30 @@
+# 执行重生方法
+function mini:iron/game/respawn
+
+# 复活特效
+execute as @a at @s run function lib:sounds/error
+effect give @s blindness 3 0 true
+
+# 处理玩家掉落物品
+# 获取玩家死亡位置
+kill @e[type=armor_stand,tag=dead_marker]
+summon armor_stand 1000 0 5000 {Marker:1b,Invisible:1b,Invulnerable:1b,Small:1b,NoGravity:1b,Tags:["dead_marker"]}
+execute store result entity @e[type=armor_stand,tag=dead_marker,limit=1] Pos[0] double 1 run scoreboard players get @s posX
+execute store result entity @e[type=armor_stand,tag=dead_marker,limit=1] Pos[1] double 1 run scoreboard players get @s posY
+execute store result entity @e[type=armor_stand,tag=dead_marker,limit=1] Pos[2] double 1 run scoreboard players get @s posZ
+# 生成铁锭物品
+execute store result score #iron_count temp run clear @s iron_ingot
+scoreboard players add #iron_count temp 2
+execute if score #iron_count temp matches 3.. at @e[type=armor_stand,tag=dead_marker,limit=1] run summon item ~ ~ ~ {Tags:["temp_iron"],Item:{id:"minecraft:iron_ingot",Count:1b},Glowing:1b}
+execute as @e[type=item,tag=temp_iron,limit=1] store result entity @s Item.Count byte 0.33334 run scoreboard players get #iron_count temp
+tag @e[type=item,tag=temp_iron,limit=1] remove temp_iron
+# 随机槽位掉落
+function mini:iron/game/random_slot
+function mini:iron/game/pop_slot
+# 返还剩余铁锭给玩家
+scoreboard players remove #iron_count temp 2
+scoreboard players operation #iron_count temp *= #2 mem
+scoreboard players operation #iron_count temp /= #3 mem
+execute if score #iron_count temp matches 1.. run function mini:iron/game/give_iron
+# 删除marker
+kill @e[type=armor_stand,tag=dead_marker]

+ 4 - 4
data/mini/functions/diamond/player_enter.mcfunction → data/mini/functions/iron/player_enter.mcfunction

@@ -11,9 +11,9 @@ attribute @s generic.max_health base set 20
 gamerule naturalRegeneration false
 
 # 计分板重置
-tag @s remove diamond_got
-scoreboard players reset @s diamond
-scoreboard players set @s[team=playing,tag=!rejoining] diamond 0
+tag @s remove iron_got
+scoreboard players reset @s iron_count
+scoreboard players set @s[team=playing,tag=!rejoining] iron_count 0
 
 # 调整模式
 gamemode spectator @s[team=!debugging]
@@ -21,4 +21,4 @@ gamemode survival @s[team=playing,tag=!rejoining]
 
 # 执行重生方法
 tag @s remove respawning
-function mini:diamond/game/respawn
+function mini:iron/game/respawn

+ 5 - 0
data/mini/functions/iron/player_intro.mcfunction

@@ -0,0 +1,5 @@
+# 向单个玩家展示小游戏介绍
+tp @s[team=!debugging] 1013.47 247.63 5045.62 -178.86 17.18
+worldborder set 1000000
+effect give @s[team=!debugging] night_vision 1000000 0 true
+tellraw @s ["",{"text":"\n >> 钢铁狂潮 >>\n\n","color":"gold","bold":true}," 铁锭最多的玩家将会获胜!\n 不过, 被击杀的玩家会掉落 1/3 的物品。\n 努力挖矿冶铁, 或是成为杀人狂魔……\n\n",{"text": " <生存模式> ","color":"red","bold": true},{"text": " <完全允许 PVP> ","color":"light_purple","bold": true},"\n"]

+ 0 - 0
data/mini/functions/diamond/tick2.mcfunction → data/mini/functions/iron/tick2.mcfunction


+ 2 - 2
data/mini/functions/diamond/tick20.mcfunction → data/mini/functions/iron/tick20.mcfunction

@@ -15,7 +15,7 @@ execute if score $countdown mem matches 90 run function lib:bossbar/show
 execute if score $countdown mem matches 61 as @a run function lib:sounds/music/mini_fast
 execute if score $countdown mem matches 60 run tellraw @a ["",{"text": ">> ","color": "gold","bold": true},{"text": "玩家雷达已开启, 游戏将在 ","color": "gold"},"60 秒 ", {"text": "后结束","color": "gold"}]
 execute if score $countdown mem matches 60 run scoreboard players set $bossbar_color mem 1
-execute if score $countdown mem matches 60 run scoreboard objectives setdisplay belowName diamond
+execute if score $countdown mem matches 60 run scoreboard objectives setdisplay belowName iron_count
 execute if score $countdown mem matches 60 run function lib:bossbar/show
 
 # 0s:游戏结束
@@ -23,4 +23,4 @@ execute if score $countdown mem matches 0 run function mini:main/game_end
 
 # 回复生命值
 execute if score $foursec mem matches 1 run effect give @a[team=playing] regeneration 1 10 true
-execute if score $foursec mem matches 1 run schedule function mini:diamond/game/clear_effect 1t replace
+execute if score $foursec mem matches 1 run schedule function mini:iron/game/clear_effect 1t replace

+ 8 - 0
data/mini/functions/iron/tick5.mcfunction

@@ -0,0 +1,8 @@
+
+# 更新铁锭数量
+execute as @a[team=playing] store result score @s iron_count run clear @s iron_ingot 0
+execute as @a[team=playing] run scoreboard players operation @s iron_disp = @s iron_count
+execute if score $countdown mem matches ..60 run effect give @a[team=playing] glowing 1000000 0 true
+
+# 铁锭发光
+execute as @e[type=item,nbt={Item:{id:"minecraft:iron_ingot"}}] run data modify entity @s Glowing set value 1b

+ 0 - 0
data/mini/functions/diamond/watcher_limit.mcfunction → data/mini/functions/iron/watcher_limit.mcfunction


+ 1 - 1
data/mini/functions/main/game_end.mcfunction

@@ -5,7 +5,7 @@ execute if score $mini_type mem matches 3 run function mini:hotpm/game_end
 execute if score $mini_type mem matches 4 run function mini:colormatch/game_end
 execute if score $mini_type mem matches 5 run function mini:phantom/game_end
 execute if score $mini_type mem matches 201 run function mini:ass/game_end
-execute if score $mini_type mem matches 101 run function mini:diamond/game_end
+execute if score $mini_type mem matches 101 run function mini:iron/game_end
 execute if score $mini_type mem matches 102 run function mini:trade/game_end
 
 # 计算排名

+ 1 - 1
data/mini/functions/main/game_init.mcfunction

@@ -10,6 +10,6 @@ execute if score $mini_type mem matches 3 run function mini:hotpm/game_init
 execute if score $mini_type mem matches 4 run function mini:colormatch/game_init
 execute if score $mini_type mem matches 5 run function mini:phantom/game_init
 execute if score $mini_type mem matches 201 run function mini:ass/game_init
-execute if score $mini_type mem matches 101 run function mini:diamond/game_init
+execute if score $mini_type mem matches 101 run function mini:iron/game_init
 execute if score $mini_type mem matches 102 run function mini:trade/game_init
 

+ 1 - 1
data/mini/functions/main/game_start.mcfunction

@@ -4,5 +4,5 @@ execute if score $mini_type mem matches 3 run function mini:hotpm/game_start
 execute if score $mini_type mem matches 4 run function mini:colormatch/game_start
 execute if score $mini_type mem matches 5 run function mini:phantom/game_start
 execute if score $mini_type mem matches 201 run function mini:ass/game_start
-execute if score $mini_type mem matches 101 run function mini:diamond/game_start
+execute if score $mini_type mem matches 101 run function mini:iron/game_start
 execute if score $mini_type mem matches 102 run function mini:trade/game_start

+ 1 - 1
data/mini/functions/main/give_effect.mcfunction

@@ -3,6 +3,6 @@ execute if score $mini_type mem matches 2 run function mini:tntrun/give_effect
 execute if score $mini_type mem matches 3 run function mini:hotpm/give_effect
 execute if score $mini_type mem matches 4 run function mini:colormatch/give_effect
 execute if score $mini_type mem matches 5 run function mini:phantom/give_effect
-execute if score $mini_type mem matches 101 run function mini:diamond/give_effect
+execute if score $mini_type mem matches 101 run function mini:iron/give_effect
 execute if score $mini_type mem matches 102 run function mini:trade/give_effect
 execute if score $mini_type mem matches 201 run function mini:ass/give_effect

+ 1 - 1
data/mini/functions/main/init.mcfunction

@@ -3,7 +3,7 @@ function mini:tntrun/init
 function mini:parkour/init
 function mini:hotpm/init
 function mini:phantom/init
-function mini:diamond/init
+function mini:iron/init
 function mini:ass/init
 function mini:trade/init
 

+ 1 - 1
data/mini/functions/main/player_death.mcfunction

@@ -1,5 +1,5 @@
 # 玩家死亡后触发
 execute if score $mini_type mem matches 5 run function mini:phantom/player_failed
 execute if score $mini_type mem matches 201 run function mini:ass/player_death
-execute if score $mini_type mem matches 101 run function mini:diamond/player_death
+execute if score $mini_type mem matches 101 run function mini:iron/player_death
 execute if score $mini_type mem matches 102 run function mini:trade/player_death

+ 1 - 1
data/mini/functions/main/player_enter.mcfunction

@@ -17,5 +17,5 @@ execute if score $mini_type mem matches 3 run function mini:hotpm/player_enter
 execute if score $mini_type mem matches 4 run function mini:colormatch/player_enter
 execute if score $mini_type mem matches 5 run function mini:phantom/player_enter
 execute if score $mini_type mem matches 201 run function mini:ass/player_enter
-execute if score $mini_type mem matches 101 run function mini:diamond/player_enter
+execute if score $mini_type mem matches 101 run function mini:iron/player_enter
 execute if score $mini_type mem matches 102 run function mini:trade/player_enter

+ 1 - 1
data/mini/functions/main/player_intro.mcfunction

@@ -5,5 +5,5 @@ execute if score $mini_type mem matches 3 run function mini:hotpm/player_intro
 execute if score $mini_type mem matches 4 run function mini:colormatch/player_intro
 execute if score $mini_type mem matches 5 run function mini:phantom/player_intro
 execute if score $mini_type mem matches 201 run function mini:ass/player_intro
-execute if score $mini_type mem matches 101 run function mini:diamond/player_intro
+execute if score $mini_type mem matches 101 run function mini:iron/player_intro
 execute if score $mini_type mem matches 102 run function mini:trade/player_intro

+ 1 - 1
data/mini/functions/main/tick2.mcfunction

@@ -5,5 +5,5 @@ execute if score $mini_type mem matches 3 run function mini:hotpm/tick2
 execute if score $mini_type mem matches 4 run function mini:colormatch/tick2
 execute if score $mini_type mem matches 5 run function mini:phantom/tick2
 execute if score $mini_type mem matches 201 run function mini:ass/tick2
-execute if score $mini_type mem matches 101 run function mini:diamond/tick2
+execute if score $mini_type mem matches 101 run function mini:iron/tick2
 execute if score $mini_type mem matches 102 run function mini:trade/tick2

+ 1 - 1
data/mini/functions/main/tick20.mcfunction

@@ -3,7 +3,7 @@
 execute if score $mini_type mem matches 1 run function mini:parkour/tick20
 execute if score $mini_type mem matches 5 run function mini:phantom/tick20
 execute if score $mini_type mem matches 201 run function mini:ass/tick20
-execute if score $mini_type mem matches 101 run function mini:diamond/tick20
+execute if score $mini_type mem matches 101 run function mini:iron/tick20
 execute if score $mini_type mem matches 102 run function mini:trade/tick20
 
 # 结束游戏判定

+ 1 - 1
data/mini/functions/main/tick5.mcfunction

@@ -4,7 +4,7 @@ execute if score $mini_type mem matches 1 run function mini:parkour/tick5
 execute if score $mini_type mem matches 2 run function mini:tntrun/tick5
 execute if score $mini_type mem matches 3 run function mini:hotpm/tick5
 execute if score $mini_type mem matches 5 run function mini:phantom/tick5
-execute if score $mini_type mem matches 101 run function mini:diamond/tick5
+execute if score $mini_type mem matches 101 run function mini:iron/tick5
 
 # 同步生命值
 scoreboard players reset * temp

+ 1 - 1
data/mini/functions/main/watcher_limit.mcfunction

@@ -5,5 +5,5 @@ execute if score $mini_type mem matches 3 run function mini:hotpm/watcher_limit
 execute if score $mini_type mem matches 4 run function mini:colormatch/watcher_limit
 execute if score $mini_type mem matches 5 run function mini:phantom/watcher_limit
 execute if score $mini_type mem matches 201 run function mini:ass/watcher_limit
-execute if score $mini_type mem matches 101 run function mini:diamond/watcher_limit
+execute if score $mini_type mem matches 101 run function mini:iron/watcher_limit
 execute if score $mini_type mem matches 102 run function mini:trade/watcher_limit

+ 1 - 1
data/mini/functions/phantom/tick5.mcfunction

@@ -3,7 +3,7 @@
 execute as @a[team=playing] run scoreboard players operation @s temp = @s kill_phantom
 execute as @a[team=playing] run scoreboard players operation @s temp -= @s kill_phantom2
 execute as @a[team=playing] run scoreboard players operation @s kill_phantom2 = @s kill_phantom
-execute as @a[team=playing] run scoreboard players operation @s kill_phantom2 %= #const_5 mem
+execute as @a[team=playing] run scoreboard players operation @s kill_phantom2 %= #5 mem
 execute as @a[team=playing,scores={temp=1..,kill_phantom2=1..}] run function lib:sounds/hit
 execute as @a[team=playing,scores={temp=1..,kill_phantom2=0}] run function lib:sounds/levelup
 execute as @a[team=playing,scores={temp=1..,kill_phantom2=0}] run tellraw @a ["",{"text": ">> ","color":"gold","bold": true},{"selector": "@s","color":"gold"}," 已击杀 ",{"score": { "name": "@s","objective": "kill_phantom"},"color":"gold"}," 只幻翼!"]

+ 60 - 0
data/mini/functions/trade/document.txt

@@ -0,0 +1,60 @@
+
+a/木
+4碗 - 1
+2种子 - 1
+2淡灰色染料 - 1
+1木船 - 1
+3木栅栏 - 1
+6泥土 - 1
+1燧石 - 1
+6沙砾 - 2
+
+b/石
+1石镐 - 1
+4火把 - 1
+2石头 - 1
+1熔炉 - 1
+1煤炭 - 1
+8橡木楼梯 - 1
+3树苗 - 2
+8苔石 - 2
+
+c/石+/铁
+2玻璃 - 1
+18铁粒 - 1
+1盾牌 - 1
+2藤蔓 - 1
+1水瓶 - 1
+8草 - 1
+1打火石 - 2
+32泥土 - 2
+
+d/铁+/钻
+4蓝色染料 - 1
+1铁镐 - 1
+1岩浆桶 - 1
+64树叶 - 1
+1箱子矿车 - 1
+16去皮橡木 - 2
+2唱片机 - 2
+8黄色玻璃 - 2
+
+e/钻+
+1铁胸甲 - 1
+12藤蔓 - 1
+1熔炉矿车 - 1
+1钻石靴子 - 1
+64石头 - 1积分
+1钻石护腿 - 1积分
+32苔石 - 1积分
+1黑曜石 - 1积分
+
+s
+1 - 3煤炭块
+1 - 16橡木原木
+1 - 32圆石
+1 - 8粗铁
+1 - 4铁锭
+1 - 4钻石矿
+2 - 1积分
+3 - 1地牢箱子

+ 1 - 16
data/mini/functions/trade/game_init.mcfunction

@@ -12,11 +12,6 @@ time set day
 # 生成地图
 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}
 setblock 1000 255 5001 redstone_block
-schedule function mini:trade/game_init2 1t append
-
-# 清理残余实体
-tp @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100] ~ -100 ~
-kill @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100]
 
 # 伤害管理
 scoreboard players set $remove_resistance mem 1
@@ -34,14 +29,4 @@ gamerule doTileDrops true
 gamerule doEntityDrops true
 gamerule doMobLoot true
 
-# 生成实体
-kill @e[type=villager,tag=TradeMarker]
-summon villager 1 0 1 {NoAI:1b,Tags:["TradeMarker","TradeOrigin"],Invulnerable:1b,Silent:1b,Offers:{},CustomName:'{"text":"使用生物雷达是作弊行为哦!","color":"red"}'}
-# 设置交易列表
-execute as @e[type=villager,tag=TradeOrigin] at @s run function mini:trade/game/set_trade
-# 玩家村民生成
-execute as @a[team=playing] run function mini:trade/game/villager_init
-# 复制交易列表
-execute as @e[type=villager,tag=TradePlayer] run function mini:trade/game/villager_update_trade
-# 村民碰撞箱处理
-team join playing @e[type=villager,tag=TradePlayer]
+schedule function mini:trade/game_init2 1t append

+ 18 - 1
data/mini/functions/trade/game_init2.mcfunction

@@ -1,4 +1,21 @@
 
+# 清理残余实体
+tp @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100] ~ -100 ~
+kill @e[type=!player,x=950,y=-200,z=4950,dx=100,dy=600,dz=100]
+
+# 生成实体
+kill @e[type=villager,tag=TradeMarker]
+summon villager 1 0 1 {NoAI:1b,Tags:["TradeMarker","TradeOrigin"],Invulnerable:1b,Silent:1b,Offers:{},CustomName:'{"text":"使用生物雷达是作弊行为哦!","color":"red"}'}
+# 设置交易列表
+execute as @e[type=villager,tag=TradeOrigin] at @s run function mini:trade/game/set_trade
+# 玩家村民生成
+execute as @a[team=playing] run function mini:trade/game/villager_init
+# 复制交易列表
+execute as @e[type=villager,tag=TradePlayer] run function mini:trade/game/villager_update_trade
+# 村民碰撞箱处理
+team join playing @e[type=villager,tag=TradePlayer]
+
 # 矿物生成
 setblock 1028 252 5030 minecraft:redstone_block
-schedule function mini:trade/game_init3 7t
+
+schedule function mini:trade/game_init3 7t

+ 1 - 4
data/mini/functions/trade/player_intro.mcfunction

@@ -2,7 +2,4 @@
 tp @s[team=!debugging] 1013.47 247.63 5045.62 -178.86 17.18
 worldborder set 1000000
 effect give @s[team=!debugging] night_vision 1000000 0 true
-tellraw @s ["",{"text":"\n >> 贸易专家 >>\n\n","color":"gold","bold":true}," 手持交易契约唤出村民, 与村民交易, 尽快获取绿宝石!\n 每项交易都可以进行 2 次, 进行交易可以增加经验值, 解锁更多交易!\n"]
-tellraw @s ["",{"text": " <积分制> ","color":"red","bold": true}, {"text":"太阳落山时游戏即会结束, 然后根据持有的绿宝石数排名。","color":"gray"}]
-tellraw @s ["",{"text": " <PVE> ","color":"light_purple","bold": true}, {"text":"无法攻击其他玩家, 死亡不掉落且能立即复活。","color":"gray"}]
-tellraw @s ""
+tellraw @s ["",{"text":"\n >> 贸易专家 >>\n\n","color":"gold","bold":true}," 手持最后一格的交易契约, 即可召唤村民。\n 与村民进行交易, 绿宝石最多的玩家将会获胜!\n\n",{"text": " <生存模式> ","color":"red","bold": true},{"text": " <完全禁止 PVP> ","color":"light_purple","bold": true},"\n"]

+ 3 - 3
data/mini/functions/trade/tick20.mcfunction

@@ -32,6 +32,6 @@ execute if score $countdown mem matches 60 run scoreboard players set $bossbar_c
 execute if score $countdown mem matches 60 run function lib:bossbar/show
 
 # 给予进度
-execute as @a[team=playing] if score @s emerald matches 40.. run advancement grant @s only ltw:vs/emerald1
-execute as @a[team=playing] if score @s emerald matches 70.. run advancement grant @s only ltw:vs/emerald2
-execute as @a[team=playing] if score @s emerald matches 100.. run advancement grant @s only ltw:vs/emerald3
+execute as @a[team=playing] if score @s emerald matches 7.. run advancement grant @s only ltw:vs/emerald1
+execute as @a[team=playing] if score @s emerald matches 10.. run advancement grant @s only ltw:vs/emerald2
+execute as @a[team=playing] if score @s emerald matches 13.. run advancement grant @s only ltw:vs/emerald3

+ 1 - 1
data/mini/loot_tables/trade_s.json

@@ -74,7 +74,7 @@
             "type": "item", "name": "stone", "functions": [{ "function": "set_nbt",
                 "tag": "{buy:{id:\"emerald\",Count:3}}"
             }, { "function": "set_nbt",
-                "tag":"{sell:{id:\"chest\",Count:1,tag:{BlockEntityTag:{LootTable:\"mini:diamond\",id:\"minecraft:chest\"},display:{Name:'{\"text\":\"地牢箱子\",\"color\":\"aqua\",\"italic\":false}'}}}}"
+                "tag":"{sell:{id:\"chest\",Count:1,tag:{BlockEntityTag:{LootTable:\"mini:iron\",id:\"minecraft:chest\"},display:{Name:'{\"text\":\"地牢箱子\",\"color\":\"aqua\",\"italic\":false}'}}}}"
             }], "conditions": [{ "condition": "inverted", "term": { "condition": "minecraft:entity_properties", "entity": "this", "predicate": {
                 "nbt": "{Offers:{Recipes:[{sell:{id:\"minecraft:chest\"}}]}}"
             }}}]

+ 1 - 1
data/test/functions/mini/diamond.mcfunction → data/test/functions/mini/iron.mcfunction

@@ -1,4 +1,4 @@
-# 测试用:快速开始钻石风暴
+# 测试用:快速开始钢铁狂潮
 team join playing @a[team=watching]
 clear @a[team=!debugging]
 function ltw:state/0/start_game

+ 1 - 1
data/test/functions/mini/trade.mcfunction

@@ -1,4 +1,4 @@
-# 测试用:快速开始不是钻石风暴
+# 测试用:快速开始贸易
 team join playing @a[team=watching]
 clear @a[team=!debugging]
 function ltw:state/0/start_game