Преглед изворни кода

Merge branch 'master' of github.com:00ll00/LTW3 into final

00ll00 пре 5 година
родитељ
комит
f9fe41d2c1
100 измењених фајлова са 1495 додато и 661 уклоњено
  1. 14 22
      data/item/functions/bonus_item/add_score.mcfunction
  2. 1 0
      data/item/functions/bonus_item/bonus_item_tag.json
  3. 4 2
      data/item/functions/bonus_item/gameparty/auto/blue.mcfunction
  4. 4 2
      data/item/functions/bonus_item/gameparty/auto/green.mcfunction
  5. 4 2
      data/item/functions/bonus_item/gameparty/auto/purple.mcfunction
  6. 4 2
      data/item/functions/bonus_item/gameparty/auto/white.mcfunction
  7. 0 16
      data/item/functions/bonus_item/gameparty/last/random.mcfunction
  8. 13 14
      data/item/functions/bonus_item/gameparty/normal/random.mcfunction
  9. 4 2
      data/item/functions/bonus_item/gameparty/random.mcfunction
  10. 1 1
      data/item/functions/bonus_item/gameparty/score/blue.mcfunction
  11. 1 1
      data/item/functions/bonus_item/gameparty/score/green.mcfunction
  12. 1 1
      data/item/functions/bonus_item/gameparty/score/purple.mcfunction
  13. 17 0
      data/item/functions/bonus_item/gameparty/score/random.mcfunction
  14. 1 1
      data/item/functions/bonus_item/gameparty/score/white.mcfunction
  15. 21 0
      data/item/functions/bonus_item/stole_score.mcfunction
  16. 0 2
      data/item/functions/disable_slot/check_slot.mcfunction
  17. 2 1
      data/item/functions/disable_slot/disable_slot_7.mcfunction
  18. 2 1
      data/item/functions/disable_slot/disable_slot_8.mcfunction
  19. 2 2
      data/item/functions/disable_throw.mcfunction
  20. 4 1
      data/item/functions/init.mcfunction
  21. 0 10
      data/item/functions/lobby_state/check_slot.mcfunction
  22. 17 0
      data/item/functions/particle/show_particle.mcfunction
  23. 85 0
      data/item/functions/pop_slot/pop_all.mcfunction
  24. 9 0
      data/item/functions/pop_slot/pop_item.mcfunction
  25. 10 0
      data/item/functions/pop_slot/return_item.mcfunction
  26. 85 0
      data/item/functions/pop_slot/select_item.mcfunction
  27. 0 7
      data/item/functions/return_slot/return_slot_7.mcfunction
  28. 0 7
      data/item/functions/return_slot/return_slot_8.mcfunction
  29. 3 4
      data/item/functions/shop/buy_dice.mcfunction
  30. 11 0
      data/item/functions/shop/buy_particle0.mcfunction
  31. 11 0
      data/item/functions/shop/buy_particle1.mcfunction
  32. 25 0
      data/item/functions/shop/buy_particle2.mcfunction
  33. 25 0
      data/item/functions/shop/buy_particle3.mcfunction
  34. 25 0
      data/item/functions/shop/buy_particle4.mcfunction
  35. 25 0
      data/item/functions/shop/buy_particle5.mcfunction
  36. 25 0
      data/item/functions/shop/buy_particle6.mcfunction
  37. 17 0
      data/item/functions/shop/buy_particle_system.mcfunction
  38. 0 1
      data/item/functions/shop/buy_pig.mcfunction
  39. 9 0
      data/item/functions/shop/check.mcfunction
  40. 1 5
      data/item/functions/shop/refresh_equip.mcfunction
  41. 2 1
      data/item/functions/shop/refresh_gold.mcfunction
  42. 17 0
      data/item/functions/shop/refresh_green.mcfunction
  43. 0 5
      data/item/functions/shop/special_dice.mcfunction
  44. 10 0
      data/item/functions/shop/summon_emerald.mcfunction
  45. 10 0
      data/item/functions/shop/summon_emerald_block.mcfunction
  46. 1 1
      data/item/functions/shop/summon_gold_block.mcfunction
  47. 0 1
      data/item/functions/tick1.mcfunction
  48. 4 4
      data/item/functions/tick2.mcfunction
  49. 0 30
      data/item/loot_tables/gameparty/last/blue.json
  50. 0 30
      data/item/loot_tables/gameparty/last/green.json
  51. 0 52
      data/item/loot_tables/gameparty/last/white.json
  52. 7 22
      data/item/loot_tables/gameparty/normal/blue.json
  53. 14 45
      data/item/loot_tables/gameparty/normal/green.json
  54. 7 81
      data/item/loot_tables/gameparty/normal/purple.json
  55. 23 117
      data/item/loot_tables/gameparty/normal/white.json
  56. 56 0
      data/item/loot_tables/gameparty/score/blue.json
  57. 34 8
      data/item/loot_tables/gameparty/score/green.json
  58. 34 0
      data/item/loot_tables/gameparty/score/purple.json
  59. 78 0
      data/item/loot_tables/gameparty/score/white.json
  60. 3 1
      data/item/tags/items/bonus.json
  61. 3 2
      data/lib/functions/effect/floating.mcfunction
  62. 1 0
      data/lib/functions/sounds/dragon_growl.mcfunction
  63. 3 0
      data/lib/functions/sounds/music/lobby.mcfunction
  64. 3 1
      data/lib/functions/sounds/music/mini_fast.mcfunction
  65. 3 1
      data/lib/functions/sounds/music/mini_middle.mcfunction
  66. 6 0
      data/lib/functions/sounds/music/mini_secret.mcfunction
  67. 3 1
      data/lib/functions/sounds/music/mini_slow.mcfunction
  68. 3 1
      data/lib/functions/sounds/music/rest.mcfunction
  69. 2 1
      data/lib/functions/sounds/music/stop.mcfunction
  70. 22 0
      data/lib/functions/sounds/music/tick20.mcfunction
  71. 5 5
      data/ltw/advancements/combat/phantom1.json
  72. 6 6
      data/ltw/advancements/combat/phantom2.json
  73. 6 6
      data/ltw/advancements/combat/phantom3.json
  74. 0 28
      data/ltw/advancements/combat/phantom_1.json
  75. 1 1
      data/ltw/advancements/combat/root.json
  76. 33 0
      data/ltw/advancements/parkour/colormatch2.json
  77. 0 28
      data/ltw/advancements/parkour/explore_1.json
  78. 0 33
      data/ltw/advancements/parkour/explore_3.json
  79. 2 2
      data/ltw/advancements/parkour/root.json
  80. 33 0
      data/ltw/advancements/parkour/tnt2.json
  81. 33 0
      data/ltw/advancements/parkour/tnt3.json
  82. 5 5
      data/ltw/advancements/parkour/treasure1.json
  83. 33 0
      data/ltw/advancements/parkour/treasure2.json
  84. 33 0
      data/ltw/advancements/parkour/treasure3.json
  85. 0 28
      data/ltw/advancements/parkour/treasure_1.json
  86. 28 0
      data/ltw/advancements/story/root.json
  87. 33 0
      data/ltw/advancements/story/score1.json
  88. 33 0
      data/ltw/advancements/story/score2.json
  89. 33 0
      data/ltw/advancements/story/score3.json
  90. 33 0
      data/ltw/advancements/story/total1.json
  91. 33 0
      data/ltw/advancements/story/total2.json
  92. 33 0
      data/ltw/advancements/story/total3.json
  93. 7 7
      data/ltw/advancements/story/win1.json
  94. 33 0
      data/ltw/advancements/story/win2.json
  95. 33 0
      data/ltw/advancements/story/win3.json
  96. 40 0
      data/ltw/advancements/vs/diamond1.json
  97. 40 0
      data/ltw/advancements/vs/diamond2.json
  98. 33 0
      data/ltw/advancements/vs/potato2.json
  99. 33 0
      data/ltw/advancements/vs/potato3.json
  100. 28 0
      data/ltw/advancements/vs/root.json

+ 14 - 22
data/item/functions/bonus_item/add_score.mcfunction

@@ -6,35 +6,27 @@ execute if score #bonus_add_score mem matches ..10 run scoreboard players operat
 execute if score #bonus_add_score mem matches ..10 run scoreboard players operation @s total_score_disp += #bonus_add_score mem
 execute if score #bonus_add_score mem matches ..10 run tellraw @a ["",{"text": ">> ","color":"aqua","bold": true},{"selector": "@s","color":"aqua"}," 获得了 ",{"score": {"name":"#bonus_add_score","objective": "mem"},"color":"aqua"},{"text": " 分","color":"aqua"},", 当前共有 ",{"score": {"name": "@s","objective": "total_score"}}, " 分"]
 
-# 100:硬币
+# 100:普通硬币 / 101:高级硬币
 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 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 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 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..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 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 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"}]
 
 # 200:偷分
-function ltw:main/get_max_score
-tag @a remove highest
-tag @a remove may_highest
-execute as @a if score @s total_score = #score_max mem run tag @s add may_highest
-execute at @s run tag @a[tag=may_highest,limit=1,sort=furthest,scores={total_score=1..}] add highest
-execute unless entity @a[tag=highest] run tag @s add highest
+execute if score #bonus_add_score mem matches 200 run function item:bonus_item/stole_score
 
-execute if score #bonus_add_score mem matches 200 run scoreboard players add @s total_score 1
-execute if score #bonus_add_score mem matches 200 run scoreboard players add @s total_score_disp 1
-execute if score #bonus_add_score mem matches 200 run scoreboard players remove @a[tag=highest] total_score 1
-execute if score #bonus_add_score mem matches 200 run scoreboard players remove @a[tag=highest] total_score_disp 1
+# 300:金粒 +3
+execute if score #bonus_add_score mem matches 300 run scoreboard players add @s gold 3
+execute if score #bonus_add_score mem matches 300 run scoreboard players add @s gold_total 3
+execute if score #bonus_add_score mem matches 300 run tellraw @a ["",{"text": ">> ","color":"aqua","bold": true},{"selector": "@s","color":"aqua"}," 获得了 3 金粒"]
 
-execute if score #bonus_add_score mem matches 200 if entity @s[tag=highest] run tellraw @a ["",{"text": ">> ","color":"aqua","bold": true},{"selector": "@s","color":"aqua"}," 试图偷取自己的分数……"]
-execute if score #bonus_add_score mem matches 200 if entity @s[tag=!highest] run tellraw @a ["",{"text": ">> ","color":"red","bold": true},{"selector": "@p[tag=highest]","color":"red"}," 被偷取了 ",{"text": "1 分","color":"red"},", 当前共有 ",{"score": {"name": "@p[tag=highest]","objective": "total_score"}}, " 分"]
-execute if score #bonus_add_score mem matches 200 if entity @s[tag=!highest] run tellraw @a ["",{"text": ">> ","color":"green","bold": true},{"selector": "@s","color":"green"}," 偷取了 ",{"text": "1 分","color":"green"},", 当前共有 ",{"score": {"name": "@s","objective": "total_score"}}, " 分"]
-
-# 300:金粒 +2
-execute if score #bonus_add_score mem matches 300 run scoreboard players add @s gold 2
-execute if score #bonus_add_score mem matches 300 run scoreboard players add @s gold_total 2
-execute if score #bonus_add_score mem matches 300 run tellraw @a ["",{"text": ">> ","color":"aqua","bold": true},{"selector": "@s","color":"aqua"}," 获得了 2 金粒"]
+# 给予进度
+execute if entity @s[scores={total_score=10..}] run advancement grant @s only ltw:story/score1
+execute if entity @s[scores={total_score=18..}] run advancement grant @s only ltw:story/score2
+execute if entity @s[scores={total_score=26..}] run advancement grant @s only ltw:story/score3

+ 1 - 0
data/item/functions/bonus_item/bonus_item_tag.json

@@ -5,6 +5,7 @@
     "bonus_return": true,
     "item_name":"{\"text\": \"破损的钓鱼竿\",\"color\": \"green\"}",
     "bonus_add_score":15,
+    "bonus_stole_score":3,
     "bonus_give_items":[
         {"id":"minecraft:stone","Count":64,"tag":{"is_bonus":true,"display":{"Name":"\"普通的石头\""}}},
         {"id":"minecraft:arrow","Count":64,"tag":{"is_bonus":true}}

+ 4 - 2
data/item/functions/bonus_item/gameparty/auto/blue.mcfunction

@@ -1,7 +1,9 @@
 # 生成蓝色品质的物品实体
 
-execute if score $round mem matches ..5 run loot spawn ~ ~ ~ loot item:gameparty/normal/blue
-execute if score $round mem matches 6 run loot spawn ~ ~ ~ loot item:gameparty/last/blue
+execute if score $round mem matches ..2 run function item:bonus_item/gameparty/normal/blue
+execute if score $round mem matches 3 run function item:bonus_item/gameparty/score/blue
+execute if score $round mem matches 4 run function item:bonus_item/gameparty/normal/blue
+execute if score $round mem matches 5.. run function item:bonus_item/gameparty/score/blue
 summon item ~ ~ ~ {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"gold_nugget",Count:1}}
 data modify entity @e[tag=new_item,limit=1] Item set from entity @e[limit=1,type=item,sort=nearest,tag=!new_item] Item
 kill @e[limit=1,type=item,sort=nearest,tag=!new_item]

+ 4 - 2
data/item/functions/bonus_item/gameparty/auto/green.mcfunction

@@ -1,7 +1,9 @@
 # 生成绿色品质的物品实体
 
-execute if score $round mem matches ..5 run loot spawn ~ ~ ~ loot item:gameparty/normal/green
-execute if score $round mem matches 6 run loot spawn ~ ~ ~ loot item:gameparty/last/green
+execute if score $round mem matches ..2 run function item:bonus_item/gameparty/normal/green
+execute if score $round mem matches 3 run function item:bonus_item/gameparty/score/green
+execute if score $round mem matches 4 run function item:bonus_item/gameparty/normal/green
+execute if score $round mem matches 5.. run function item:bonus_item/gameparty/score/green
 summon item ~ ~ ~ {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"gold_nugget",Count:1}}
 data modify entity @e[tag=new_item,limit=1] Item set from entity @e[limit=1,type=item,sort=nearest,tag=!new_item] Item
 kill @e[limit=1,type=item,sort=nearest,tag=!new_item]

+ 4 - 2
data/item/functions/bonus_item/gameparty/auto/purple.mcfunction

@@ -1,7 +1,9 @@
 # 生成紫色品质的物品实体
 
-execute if score $round mem matches ..5 run loot spawn ~ ~ ~ loot item:gameparty/normal/purple
-execute if score $round mem matches 6 run loot spawn ~ ~ ~ loot item:gameparty/last/purple
+execute if score $round mem matches ..2 run function item:bonus_item/gameparty/normal/purple
+execute if score $round mem matches 3 run function item:bonus_item/gameparty/score/purple
+execute if score $round mem matches 4 run function item:bonus_item/gameparty/normal/purple
+execute if score $round mem matches 5.. run function item:bonus_item/gameparty/score/purple
 summon item ~ ~ ~ {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"gold_nugget",Count:1}}
 data modify entity @e[tag=new_item,limit=1] Item set from entity @e[limit=1,type=item,sort=nearest,tag=!new_item] Item
 kill @e[limit=1,type=item,sort=nearest,tag=!new_item]

+ 4 - 2
data/item/functions/bonus_item/gameparty/auto/white.mcfunction

@@ -1,7 +1,9 @@
 # 生成白色品质的物品实体
 
-execute if score $round mem matches ..5 run loot spawn ~ ~ ~ loot item:gameparty/normal/white
-execute if score $round mem matches 6 run loot spawn ~ ~ ~ loot item:gameparty/last/white
+execute if score $round mem matches ..2 run function item:bonus_item/gameparty/normal/white
+execute if score $round mem matches 3 run function item:bonus_item/gameparty/score/white
+execute if score $round mem matches 4 run function item:bonus_item/gameparty/normal/white
+execute if score $round mem matches 5.. run function item:bonus_item/gameparty/score/white
 summon item ~ ~ ~ {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"gold_nugget",Count:1}}
 data modify entity @e[tag=new_item,limit=1] Item set from entity @e[limit=1,type=item,sort=nearest,tag=!new_item] Item
 kill @e[limit=1,type=item,sort=nearest,tag=!new_item]

+ 0 - 16
data/item/functions/bonus_item/gameparty/last/random.mcfunction

@@ -1,16 +0,0 @@
-# 根据当前轮数生成随机品质的物品
-
-# 品质 = d100
-scoreboard players set $random_min mem 1
-scoreboard players set $random_max mem 100
-function lib:random
-scoreboard players operation #quality mem = $random mem
-
-# 根据品质生成不同的物品
-execute if score #quality mem matches ..24 run function item:bonus_item/gameparty/last/white
-# 绿色:35%
-execute if score #quality mem matches 25..59 run function item:bonus_item/gameparty/last/green
-# 蓝色:25%
-execute if score #quality mem matches 60..84 run function item:bonus_item/gameparty/last/blue
-# 紫色:15%
-execute if score #quality mem matches 85.. run function item:bonus_item/gameparty/last/purple

+ 13 - 14
data/item/functions/bonus_item/gameparty/normal/random.mcfunction

@@ -1,18 +1,17 @@
-# 根据当前轮数生成随机品质的物品
+# 生成随机品质的物品
 
-# 品质 = d100 + (轮数 - 5) x 10
-scoreboard players set $random_min mem -49
-scoreboard players set $random_max mem 50
+# 品质 = d100
+scoreboard players set $random_min mem 1
+scoreboard players set $random_max mem 100
 function lib:random
-scoreboard players operation #quality mem = $round mem
-scoreboard players operation #quality mem *= #const_10 mem
-scoreboard players operation #quality mem += $random mem
+scoreboard players operation #quality mem = $random mem
 
 # 根据品质生成不同的物品
-execute if score #quality mem matches ..24 run function item:bonus_item/gameparty/normal/white
-# 绿色:35%
-execute if score #quality mem matches 25..59 run function item:bonus_item/gameparty/normal/green
-# 蓝色:25%
-execute if score #quality mem matches 60..84 run function item:bonus_item/gameparty/normal/blue
-# 紫色:15%
-execute if score #quality mem matches 85.. run function item:bonus_item/gameparty/normal/purple
+# 白色:50%
+execute if score #quality mem matches ..50 run function item:bonus_item/gameparty/normal/white
+# 绿色:30%
+execute if score #quality mem matches 51..80 run function item:bonus_item/gameparty/normal/green
+# 蓝色:20%
+execute if score #quality mem matches 81.. run function item:bonus_item/gameparty/normal/blue
+# 紫色:0%
+# execute if score #quality mem matches 95.. run function item:bonus_item/gameparty/normal/purple

+ 4 - 2
data/item/functions/bonus_item/gameparty/random.mcfunction

@@ -1,4 +1,6 @@
 # 根据轮数生成对应的物品
 
-execute if score $round mem matches ..5 run function item:bonus_item/gameparty/normal/random
-execute if score $round mem matches 6 run function item:bonus_item/gameparty/last/random
+execute if score $round mem matches ..2 run function item:bonus_item/gameparty/normal/random
+execute if score $round mem matches 3 run function item:bonus_item/gameparty/score/random
+execute if score $round mem matches 4 run function item:bonus_item/gameparty/normal/random
+execute if score $round mem matches 5.. run function item:bonus_item/gameparty/score/random

+ 1 - 1
data/item/functions/bonus_item/gameparty/last/blue.mcfunction → data/item/functions/bonus_item/gameparty/score/blue.mcfunction

@@ -1,6 +1,6 @@
 # 生成蓝色品质的物品实体
 
-loot spawn ~ ~ ~ loot item:gameparty/last/blue
+loot spawn ~ ~ ~ loot item:gameparty/score/blue
 summon item ~ ~ ~ {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"gold_nugget",Count:1}}
 data modify entity @e[tag=new_item,limit=1] Item set from entity @e[limit=1,type=item,sort=nearest,tag=!new_item] Item
 kill @e[limit=1,type=item,sort=nearest,tag=!new_item]

+ 1 - 1
data/item/functions/bonus_item/gameparty/last/green.mcfunction → data/item/functions/bonus_item/gameparty/score/green.mcfunction

@@ -1,6 +1,6 @@
 # 生成绿色品质的物品实体
 
-loot spawn ~ ~ ~ loot item:gameparty/last/green
+loot spawn ~ ~ ~ loot item:gameparty/score/green
 summon item ~ ~ ~ {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"gold_nugget",Count:1}}
 data modify entity @e[tag=new_item,limit=1] Item set from entity @e[limit=1,type=item,sort=nearest,tag=!new_item] Item
 kill @e[limit=1,type=item,sort=nearest,tag=!new_item]

+ 1 - 1
data/item/functions/bonus_item/gameparty/last/purple.mcfunction → data/item/functions/bonus_item/gameparty/score/purple.mcfunction

@@ -1,6 +1,6 @@
 # 生成紫色品质的物品实体
 
-loot spawn ~ ~ ~ loot item:gameparty/last/purple
+loot spawn ~ ~ ~ loot item:gameparty/score/purple
 summon item ~ ~ ~ {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"gold_nugget",Count:1}}
 data modify entity @e[tag=new_item,limit=1] Item set from entity @e[limit=1,type=item,sort=nearest,tag=!new_item] Item
 kill @e[limit=1,type=item,sort=nearest,tag=!new_item]

+ 17 - 0
data/item/functions/bonus_item/gameparty/score/random.mcfunction

@@ -0,0 +1,17 @@
+# 生成随机品质的物品
+
+# 品质 = d100
+scoreboard players set $random_min mem 1
+scoreboard players set $random_max mem 100
+function lib:random
+scoreboard players operation #quality mem = $random mem
+
+# 根据品质生成不同的物品
+# 白色:40%
+execute if score #quality mem matches ..40 run function item:bonus_item/gameparty/score/white
+# 绿色:30%
+execute if score #quality mem matches 41..70 run function item:bonus_item/gameparty/score/green
+# 蓝色:20%
+execute if score #quality mem matches 71..90 run function item:bonus_item/gameparty/score/blue
+# 紫色:10%
+execute if score #quality mem matches 91.. run function item:bonus_item/gameparty/score/purple

+ 1 - 1
data/item/functions/bonus_item/gameparty/last/white.mcfunction → data/item/functions/bonus_item/gameparty/score/white.mcfunction

@@ -1,6 +1,6 @@
 # 生成白色品质的物品实体
 
-loot spawn ~ ~ ~ loot item:gameparty/last/white
+loot spawn ~ ~ ~ loot item:gameparty/score/white
 summon item ~ ~ ~ {Tags:["new_item"],Age:-32768,PickupDelay:0,NoGravity:1,Invulnerable:1,CustomNameVisible:1,Glowing:1,Motion:[0,0,0],Item:{id:"gold_nugget",Count:1}}
 data modify entity @e[tag=new_item,limit=1] Item set from entity @e[limit=1,type=item,sort=nearest,tag=!new_item] Item
 kill @e[limit=1,type=item,sort=nearest,tag=!new_item]

+ 21 - 0
data/item/functions/bonus_item/stole_score.mcfunction

@@ -0,0 +1,21 @@
+# as player
+execute store result score #bonus_stole_score mem run data get block 0 0 0 RecordItem.tag.bonus_stole_score
+
+# 获取有效的最高分玩家
+function ltw:main/get_max_score
+tag @a remove highest
+tag @a remove may_highest
+execute as @a if score @s total_score = #score_max mem if score @s total_score >= #bonus_stole_score mem run tag @s add may_highest
+execute at @s as @a[tag=may_highest,limit=1,sort=furthest,team=playing] run tag @s add highest
+execute unless entity @a[tag=highest] run tag @s add highest
+
+# 更改得分
+scoreboard players operation @s total_score += #bonus_stole_score mem
+scoreboard players operation @s total_score_disp += #bonus_stole_score mem
+scoreboard players operation @p[tag=highest] total_score -= #bonus_stole_score mem
+scoreboard players operation @p[tag=highest] total_score_disp -= #bonus_stole_score mem
+
+# 显示提示
+execute if entity @s[tag=highest] run tellraw @a ["",{"text": ">> ","color":"aqua","bold": true},{"selector": "@s","color":"aqua"}," 没能偷到任何人的分数……"]
+execute if entity @s[tag=!highest] run tellraw @a ["",{"text": ">> ","color":"red","bold": true},{"selector": "@p[tag=highest]","color":"red"}," 被偷取了 ",{"score": {"name": "#bonus_stole_score","objective": "mem"},"color":"red"},{"text": " 分","color":"red"},", 当前共有 ",{"score": {"name": "@p[tag=highest]","objective": "total_score"}}, " 分"]
+execute if entity @s[tag=!highest] run tellraw @a ["",{"text": ">> ","color":"green","bold": true},{"selector": "@s","color":"green"}," 偷取了 ",{"score": {"name": "#bonus_stole_score","objective": "mem"},"color":"green"},{"text": " 分","color":"green"},", 当前共有 ",{"score": {"name": "@s","objective": "total_score"}}, " 分"]

+ 0 - 2
data/item/functions/disable_slot/check_slot.mcfunction

@@ -1,10 +1,8 @@
 # 第八格
 execute unless data entity @s Inventory[{Slot:7b,tag:{game_item:1b}}] unless data entity @s Inventory[{Slot:7b,tag:{LockItem:1b,LockSlot:7b},Count:1b}] run function item:disable_slot/disable_slot_7
-execute unless data entity @s Inventory[{Slot:7b,tag:{LockItem:1b,LockSlot:7b},Count:1b}] if data entity @s Inventory[{tag:{LockItem:1b,LockSlot:7b},Count:1b}] run clear @s barrier{LockItem:1b,LockSlot:7b}
 
 # 第九格
 execute unless data entity @s Inventory[{Slot:8b,tag:{game_item:1b}}] unless data entity @s Inventory[{Slot:8b,tag:{LockItem:1b,LockSlot:8b},Count:1b}] run function item:disable_slot/disable_slot_8
-execute unless data entity @s Inventory[{Slot:8b,tag:{LockItem:1b,LockSlot:8b},Count:1b}] if data entity @s Inventory[{tag:{LockItem:1b,LockSlot:8b},Count:1b}] run clear @s barrier{LockItem:1b,LockSlot:8b}
 
 # 清除临时物品
 clear @a barrier{LockTempItem:1b}

+ 2 - 1
data/item/functions/disable_slot/disable_slot_7.mcfunction

@@ -1,3 +1,4 @@
 clear @s barrier{LockItem:1b,LockSlot:7b}
-execute if data entity @s Inventory[{Slot:7b}] unless data entity @s Inventory[{Slot:7b,tag:{LockItem:1b}}] unless data entity @s Inventory[{Slot:7b,tag:{game_item:1b}}] unless data entity @s Inventory[{Slot:7b,tag:{lobby_item:1b}}] at @s run function item:return_slot/return_slot_7
+execute if data entity @s Inventory[{Slot:7b}] run scoreboard players set @s item_slot 7
+execute if data entity @s Inventory[{Slot:7b}] at @s run function item:pop_slot/return_item
 replaceitem entity @s hotbar.7 barrier{LockItem:1b,LockSlot:7b,display:{Name:'{"text":"已锁定","color":"red","italic":false}'}}

+ 2 - 1
data/item/functions/disable_slot/disable_slot_8.mcfunction

@@ -1,3 +1,4 @@
 clear @s barrier{LockItem:1b,LockSlot:8b}
-execute if data entity @s Inventory[{Slot:8b}] unless data entity @s Inventory[{Slot:8b,tag:{LockItem:1b}}] unless data entity @s Inventory[{Slot:8b,tag:{game_item:1b}}] unless data entity @s Inventory[{Slot:8b,tag:{lobby_item:1b}}] at @s run function item:return_slot/return_slot_8
+execute if data entity @s Inventory[{Slot:8b}] run scoreboard players set @s item_slot 8
+execute if data entity @s Inventory[{Slot:8b}] at @s run function item:pop_slot/return_item
 replaceitem entity @s hotbar.8 barrier{LockItem:1b,LockSlot:8b,display:{Name:'{"text":"已锁定","color":"red","italic":false}'}}

+ 2 - 2
data/item/functions/disable_throw.mcfunction

@@ -1,5 +1,4 @@
 # 强制玩家捡起自己丢弃的物品,以物品为执行者
-
 # 更改 NBT
 data modify entity @s PickupDelay set value 0
 data modify entity @s Owner set from entity @s Thrower
@@ -7,4 +6,5 @@ data modify entity @s Owner set from entity @s Thrower
 # 将物品传送给与丢弃者 UUID 相同的玩家
 execute store result score @s UUID run data get entity @s Thrower[0]
 tag @s add item_force_tp
-execute as @a if score @s UUID = @e[type=item,tag=item_force_tp,limit=1] UUID run tp @e[type=item,tag=item_force_tp] @s
+execute as @a if score @s UUID = @e[type=item,tag=item_force_tp,limit=1] UUID run tp @e[type=item,tag=item_force_tp] @s
+tag @s remove item_force_tp

+ 4 - 1
data/item/functions/init.mcfunction

@@ -1,3 +1,6 @@
 # 计分板初始化
 scoreboard objectives remove UUID
-scoreboard objectives add UUID dummy "UUID"
+scoreboard objectives add UUID dummy "UUID"
+
+scoreboard objectives remove item_slot
+scoreboard objectives add item_slot dummy "item_slot"

+ 0 - 10
data/item/functions/lobby_state/check_slot.mcfunction

@@ -1,10 +0,0 @@
-# 第八格
-execute unless data entity @s[tag=lobby_watch] Inventory[{Slot:8b,tag:{lobby_item:1b,lobby_watch:1b}}] run function item:lobby_state/join_game
-execute if data entity @s[tag=lobby_watch] Inventory[{Slot:8b,tag:{lobby_item:1b,lobby_watch:1b}}] unless data entity @s[tag=lobby_watch] Inventory[{Count:1b,Slot:8b,tag:{lobby_item:1b,lobby_watch:1b}}] run function item:lobby_state/join_watch
-execute if data entity @s[tag=lobby_watch] Inventory[{tag:{lobby_item:1b,lobby_ready:1b}}] run clear @s lime_dye{lobby_item:1b,lobby_ready:1b} 
-execute unless data entity @s[tag=lobby_ready] Inventory[{Slot:8b,tag:{lobby_item:1b,lobby_ready:1b}}] run function item:lobby_state/join_watch
-execute if data entity @s[tag=lobby_ready] Inventory[{Slot:8b,tag:{lobby_item:1b,lobby_ready:1b}}] unless data entity @s[tag=lobby_ready] Inventory[{Count:1b,Slot:8b,tag:{lobby_item:1b,lobby_ready:1b}}] run function item:lobby_state/join_game
-execute if data entity @s[tag=lobby_ready] Inventory[{tag:{lobby_item:1b,lobby_watch:1b}}] run clear @s gray_dye{lobby_item:1b,lobby_watch:1b}
-
-# 清除临时物品
-clear @s barrier{LockTempItem:1b}

+ 17 - 0
data/item/functions/particle/show_particle.mcfunction

@@ -0,0 +1,17 @@
+# 播放玩家粒子效果
+execute as @a[scores={particle_type=1},gamemode=!spectator] at @s run particle composter ~ ~0.1 ~ 0.15 0 0.15 0.001 2 force @a
+execute as @a[scores={particle_type=2},gamemode=!spectator] at @s run particle dust 1 1 1 1.5 ~ ~0.1 ~ 0.15 0 0.15 0.001 2 force @a
+execute as @a[scores={particle_type=3},gamemode=!spectator] at @s run particle falling_water ~ ~0.1 ~ 0.15 0 0.15 0.001 3 force @a
+execute as @a[scores={particle_type=4},gamemode=!spectator] at @s run particle flame ~ ~0.1 ~ 0.15 0 0.15 0.001 2 force @a
+execute as @a[scores={particle_type=5},gamemode=!spectator] at @s run particle dust 10 10 10 1.5 ~ ~0.1 ~ 0.15 0 0.15 0.001 2 force @a
+execute as @a[scores={particle_type=6},gamemode=!spectator] at @s run particle soul_fire_flame ~ ~0.1 ~ 0.15 0 0.15 0.001 1 force @a
+execute as @a[scores={particle_type=6},gamemode=!spectator] at @s run particle flame ~ ~0.1 ~ 0.15 0 0.15 0.001 1 force @a
+
+# 播放展示用实体的粒子效果
+execute as @e[type=!player,tag=show_particle_1] at @s run particle composter ~ ~0.5 ~ 0.15 0.15 0.15 0.001 2 force @a
+execute as @e[type=!player,tag=show_particle_2] at @s run particle dust 1 1 1 1.5 ~ ~0.5 ~ 0.1 0.15 0.1 0.001 1 force @a
+execute as @e[type=!player,tag=show_particle_3] at @s run particle falling_water ~ ~0.8 ~ 0.2 0.15 0.2 0.001 3 force @a
+execute as @e[type=!player,tag=show_particle_4] at @s run particle flame ~ ~0.5 ~ 0.15 0.15 0.15 0.001 1 force @a
+execute as @e[type=!player,tag=show_particle_5] at @s run particle dust 10 10 10 1.5 ~ ~0.5 ~ 0.1 0.15 0.1 0.001 1 force @a
+execute as @e[type=!player,tag=show_particle_6] at @s run particle soul_fire_flame ~ ~0.5 ~ 0.1 0.15 0.1 0.001 1 force @a
+execute as @e[type=!player,tag=show_particle_6] at @s run particle flame ~ ~0.5 ~ 0.1 0.15 0.1 0.001 1 force @a

+ 85 - 0
data/item/functions/pop_slot/pop_all.mcfunction

@@ -0,0 +1,85 @@
+scoreboard players set @s item_slot 0
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 1
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 2
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 3
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 4
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 5
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 6
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 7
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 8
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 9
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 10
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 11
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 12
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 13
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 14
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 15
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 16
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 17
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 18
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 19
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 20
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 21
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 22
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 23
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 24
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 25
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 26
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 27
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 28
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 29
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 30
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 31
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 32
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 33
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 34
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 35
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 100
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 101
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 102
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot 103
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+scoreboard players set @s item_slot -106
+execute at @s positioned ~ ~ ~ run function item:pop_slot/pop_item
+give @s dead_bush 2304
+replaceitem entity @s weapon.offhand dead_bush 64
+replaceitem entity @s armor.head dead_bush 64

+ 9 - 0
data/item/functions/pop_slot/pop_item.mcfunction

@@ -0,0 +1,9 @@
+summon item ~ ~ ~ {Item:{id:"minecraft:barrier",Count:1b,tag:{LockTempItem:1b,display:{Name:'{"text":"非法物品","color":"red"}'}}},Tags:["LockTempItem","PopItem"]}
+function item:pop_slot/select_item
+kill @e[type=item,nbt={Item:{id:"minecraft:barrier"}},tag=LockTempItem]
+# 不返还奇怪的东西
+kill @e[type=item,nbt={Item:{tag:{game_item:1b}}}]
+kill @e[type=item,nbt={Item:{tag:{lobby_item:1b}}}]
+kill @e[type=item,nbt={Item:{tag:{LockItem:1b}}}]
+data modify entity @e[type=item,tag=LockTempItem,limit=1] Thrower set from entity @s UUID
+tag @e[type=item,tag=LockTempItem] remove LockTempItem

+ 10 - 0
data/item/functions/pop_slot/return_item.mcfunction

@@ -0,0 +1,10 @@
+summon item ~ ~ ~ {Item:{id:"minecraft:barrier",Count:1b,tag:{LockTempItem:1b,display:{Name:'{"text":"非法物品","color":"red"}'}}},Tags:["LockTempItem","ReturnItem"]}
+function item:pop_slot/select_item
+kill @e[type=item,nbt={Item:{id:"minecraft:barrier"}},tag=LockTempItem]
+# 不返还奇怪的东西
+kill @e[type=item,nbt={Item:{tag:{game_item:1b}}}]
+kill @e[type=item,nbt={Item:{tag:{lobby_item:1b}}}]
+kill @e[type=item,nbt={Item:{tag:{LockItem:1b}}}]
+data modify entity @e[type=item,tag=LockTempItem,limit=1] Thrower set from entity @s UUID
+execute as @e[type=item,tag=LockTempItem,limit=1] run function item:disable_throw
+tag @e[type=item,tag=LockTempItem] remove LockTempItem

+ 85 - 0
data/item/functions/pop_slot/select_item.mcfunction

@@ -0,0 +1,85 @@
+execute if score @s item_slot matches 0 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:0b}]
+execute if score @s item_slot matches 1 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:1b}]
+execute if score @s item_slot matches 2 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:2b}]
+execute if score @s item_slot matches 3 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:3b}]
+execute if score @s item_slot matches 4 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:4b}]
+execute if score @s item_slot matches 5 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:5b}]
+execute if score @s item_slot matches 6 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:6b}]
+execute if score @s item_slot matches 7 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:7b}]
+execute if score @s item_slot matches 8 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:8b}]
+execute if score @s item_slot matches 9 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:9b}]
+execute if score @s item_slot matches 10 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:10b}]
+execute if score @s item_slot matches 11 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:11b}]
+execute if score @s item_slot matches 12 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:12b}]
+execute if score @s item_slot matches 13 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:13b}]
+execute if score @s item_slot matches 14 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:14b}]
+execute if score @s item_slot matches 15 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:15b}]
+execute if score @s item_slot matches 16 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:16b}]
+execute if score @s item_slot matches 17 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:17b}]
+execute if score @s item_slot matches 18 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:18b}]
+execute if score @s item_slot matches 19 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:19b}]
+execute if score @s item_slot matches 20 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:20b}]
+execute if score @s item_slot matches 21 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:21b}]
+execute if score @s item_slot matches 22 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:22b}]
+execute if score @s item_slot matches 23 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:23b}]
+execute if score @s item_slot matches 24 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:24b}]
+execute if score @s item_slot matches 25 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:25b}]
+execute if score @s item_slot matches 26 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:26b}]
+execute if score @s item_slot matches 27 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:27b}]
+execute if score @s item_slot matches 28 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:28b}]
+execute if score @s item_slot matches 29 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:29b}]
+execute if score @s item_slot matches 30 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:30b}]
+execute if score @s item_slot matches 31 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:31b}]
+execute if score @s item_slot matches 32 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:32b}]
+execute if score @s item_slot matches 33 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:33b}]
+execute if score @s item_slot matches 34 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:34b}]
+execute if score @s item_slot matches 35 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:35b}]
+execute if score @s item_slot matches 100 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:100b}]
+execute if score @s item_slot matches 101 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:101b}]
+execute if score @s item_slot matches 102 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:102b}]
+execute if score @s item_slot matches 103 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:103b}]
+execute if score @s item_slot matches -106 run data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:-106b}]
+
+execute if score @s item_slot matches 0 run replaceitem entity @s hotbar.0 air
+execute if score @s item_slot matches 1 run replaceitem entity @s hotbar.1 air
+execute if score @s item_slot matches 2 run replaceitem entity @s hotbar.2 air
+execute if score @s item_slot matches 3 run replaceitem entity @s hotbar.3 air
+execute if score @s item_slot matches 4 run replaceitem entity @s hotbar.4 air
+execute if score @s item_slot matches 5 run replaceitem entity @s hotbar.5 air
+execute if score @s item_slot matches 6 run replaceitem entity @s hotbar.6 air
+execute if score @s item_slot matches 7 run replaceitem entity @s hotbar.7 air
+execute if score @s item_slot matches 8 run replaceitem entity @s hotbar.8 air
+execute if score @s item_slot matches 9 run replaceitem entity @s inventory.0 air
+execute if score @s item_slot matches 10 run replaceitem entity @s inventory.1 air
+execute if score @s item_slot matches 11 run replaceitem entity @s inventory.2 air
+execute if score @s item_slot matches 12 run replaceitem entity @s inventory.3 air
+execute if score @s item_slot matches 13 run replaceitem entity @s inventory.4 air
+execute if score @s item_slot matches 14 run replaceitem entity @s inventory.5 air
+execute if score @s item_slot matches 15 run replaceitem entity @s inventory.6 air
+execute if score @s item_slot matches 16 run replaceitem entity @s inventory.7 air
+execute if score @s item_slot matches 17 run replaceitem entity @s inventory.8 air
+execute if score @s item_slot matches 18 run replaceitem entity @s inventory.9 air
+execute if score @s item_slot matches 19 run replaceitem entity @s inventory.10 air
+execute if score @s item_slot matches 20 run replaceitem entity @s inventory.11 air
+execute if score @s item_slot matches 21 run replaceitem entity @s inventory.12 air
+execute if score @s item_slot matches 22 run replaceitem entity @s inventory.13 air
+execute if score @s item_slot matches 23 run replaceitem entity @s inventory.14 air
+execute if score @s item_slot matches 24 run replaceitem entity @s inventory.15 air
+execute if score @s item_slot matches 25 run replaceitem entity @s inventory.16 air
+execute if score @s item_slot matches 26 run replaceitem entity @s inventory.17 air
+execute if score @s item_slot matches 27 run replaceitem entity @s inventory.18 air
+execute if score @s item_slot matches 28 run replaceitem entity @s inventory.19 air
+execute if score @s item_slot matches 29 run replaceitem entity @s inventory.20 air
+execute if score @s item_slot matches 30 run replaceitem entity @s inventory.21 air
+execute if score @s item_slot matches 31 run replaceitem entity @s inventory.22 air
+execute if score @s item_slot matches 32 run replaceitem entity @s inventory.23 air
+execute if score @s item_slot matches 33 run replaceitem entity @s inventory.24 air
+execute if score @s item_slot matches 34 run replaceitem entity @s inventory.25 air
+execute if score @s item_slot matches 35 run replaceitem entity @s inventory.26 air
+execute if score @s item_slot matches 100 run replaceitem entity @s armor.feet air
+execute if score @s item_slot matches 101 run replaceitem entity @s armor.legs air
+execute if score @s item_slot matches 102 run replaceitem entity @s armor.chest air
+execute if score @s item_slot matches 103 run replaceitem entity @s armor.head air
+execute if score @s item_slot matches -106 run replaceitem entity @s weapon.offhand air
+
+scoreboard players reset @s item_slot

+ 0 - 7
data/item/functions/return_slot/return_slot_7.mcfunction

@@ -1,7 +0,0 @@
-summon item ~ ~ ~ {Item:{id:"barrier",Count:1b,tag:{LockTempItem:1b,display:{Name:'{"text":"非法物品","color":"red"}'}}},Tags:["LockTempItem"]}
-data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:7b}]
-data modify entity @e[type=item,tag=LockTempItem,limit=1] PickupDelay set value 0
-data modify entity @e[type=item,tag=LockTempItem,limit=1] Thrower set from entity @s UUID
-execute as @e[type=item,tag=LockTempItem,limit=1] run function item:disable_throw
-tag @e[type=item,tag=LockTempItem] remove LockTempItem
-replaceitem entity @s hotbar.7 air

+ 0 - 7
data/item/functions/return_slot/return_slot_8.mcfunction

@@ -1,7 +0,0 @@
-summon item ~ ~ ~ {Item:{id:"barrier",Count:1b,tag:{LockTempItem:1b,display:{Name:'{"text":"非法物品","color":"red"}'}}},Tags:["LockTempItem"]}
-data modify entity @e[type=item,tag=LockTempItem,limit=1] Item set from entity @s Inventory[{Slot:8b}]
-data modify entity @e[type=item,tag=LockTempItem,limit=1] PickupDelay set value 0
-data modify entity @e[type=item,tag=LockTempItem,limit=1] Thrower set from entity @s UUID
-execute as @e[type=item,tag=LockTempItem,limit=1] run function item:disable_throw
-tag @e[type=item,tag=LockTempItem] remove LockTempItem
-replaceitem entity @s hotbar.8 air

+ 3 - 4
data/item/functions/shop/buy_dice.mcfunction

@@ -6,11 +6,10 @@ tag @s[scores={shop_dice=0,gold=9..}] add canbuy
 tellraw @s[scores={shop_dice=1..}] ["",{"text":">> ","color":"aqua","bold":true},{"text":"你已经购赌了这个骰子了!","color":"aqua"}]
 tellraw @s[scores={shop_dice=0,gold=..8}] ["",{"text":">> ","color":"red","bold":true},{"text":"你没有足够的金粒来赌骰子!","color":"red"}]
 tellraw @s[scores={shop_dice=..-1}] ["",{"text":">> ","color":"red","bold":true},{"text":"你需要先赌上一级的骰子!","color":"red"}]
-tellraw @s[tag=canbuy] ["",{"text":">> ","color":"green","bold":true},"你赌了一次 ",{"text":"20面骰子","color":"green"}]
-execute as @s[tag=canbuy] run tellraw @a[tag=!canbuy] ["",{"text":">> ","color":"green","bold":true},{"selector": "@s","color":"green"}," 赌了一次 ",{"text":"20面骰子","color":"green"}]
-execute as @s[tag=canbuy] run function item:shop/special_dice
+# tellraw @s[tag=canbuy] ["",{"text":">> ","color":"green","bold":true},"你赌了一次 ",{"text":"20面骰子","color":"green"}]
+# execute as @s[tag=canbuy] run tellraw @a[tag=!canbuy] ["",{"text":">> ","color":"green","bold":true},{"selector": "@s","color":"green"}," 赌了一次 ",{"text":"20面骰子","color":"green"}]
+execute as @s[tag=canbuy] run function ltw:state/0/roll_dice/roll
 scoreboard players remove @s[tag=canbuy] gold 9
 execute as @s[tag=!canbuy] at @s run function lib:sounds/error
-execute as @s[tag=canbuy] at @s run function lib:sounds/levelup
 execute as @s[tag=canbuy] run function item:shop/refresh_gold
 tag @s remove canbuy

+ 11 - 0
data/item/functions/shop/buy_particle0.mcfunction

@@ -0,0 +1,11 @@
+# 关闭粒子 (0 e)
+# 触发器ID 102
+execute unless entity @s[scores={shop_particle_s=0..}] run scoreboard players set @s shop_particle_s 0
+
+tellraw @s[scores={shop_particle_s=0}] ["",{"text":">> ","color":"red","bold":true},{"text":"你需要先在左侧购买尾迹特效才能切换尾迹种类!","color":"red"}]
+execute as @s[scores={shop_particle_s=0}] at @s run function lib:sounds/error
+
+tellraw @s[scores={shop_particle_s=1..}] ["",{"text":">> ","color":"green","bold":true},"尾迹特效已 ",{"text":"关闭","color":"green"}]
+execute as @s[scores={shop_particle_s=1..}] at @s run function lib:sounds/hit
+
+scoreboard players set @s particle_type 0

+ 11 - 0
data/item/functions/shop/buy_particle1.mcfunction

@@ -0,0 +1,11 @@
+# 绿光粒子 (0 e)
+# 触发器ID 103
+execute unless entity @s[scores={shop_particle_s=0..}] run scoreboard players set @s shop_particle_s 0
+
+tellraw @s[scores={shop_particle_s=0}] ["",{"text":">> ","color":"red","bold":true},{"text":"你需要先在左侧购买尾迹特效才能切换尾迹种类!","color":"red"}]
+execute as @s[scores={shop_particle_s=0}] at @s run function lib:sounds/error
+
+tellraw @s[scores={shop_particle_s=1..}] ["",{"text":">> ","color":"green","bold":true},"尾迹特效已切换为 ",{"text":"绿光","color":"green"}]
+execute as @s[scores={shop_particle_s=1..}] at @s run function lib:sounds/hit
+
+scoreboard players set @s[scores={shop_particle_s=1..}] particle_type 1

+ 25 - 0
data/item/functions/shop/buy_particle2.mcfunction

@@ -0,0 +1,25 @@
+# 素雅粒子 (3 e)
+# 触发器ID 104
+execute unless entity @s[scores={shop_particle_s=0..}] run scoreboard players set @s shop_particle_s 0
+execute unless entity @s[scores={shop_particle_2=0..}] run scoreboard players set @s shop_particle_2 0
+tag @s remove canbuy
+tag @s[scores={shop_particle_s=1..,shop_particle_2=0,green=3..}] add canbuy
+
+tellraw @s[scores={shop_particle_s=0}] ["",{"text":">> ","color":"red","bold":true},{"text":"你需要先在左侧购买尾迹特效才能切换尾迹种类!","color":"red"}]
+execute as @s[scores={shop_particle_s=0}] at @s run function lib:sounds/error
+
+tellraw @s[scores={shop_particle_s=1..,shop_particle_2=1..}] ["",{"text":">> ","color":"green","bold":true},"尾迹特效已切换为 ",{"text":"素雅","color":"green"}]
+execute as @s[scores={shop_particle_s=1..,shop_particle_2=1..}] at @s run function lib:sounds/hit
+
+tellraw @s[scores={shop_particle_s=1..,shop_particle_2=0,green=..2}] ["",{"text":">> ","color":"red","bold":true},{"text":"你没有足够的绿宝石来购买它!","color":"red"}]
+execute as @s[scores={shop_particle_s=1..,shop_particle_2=0,green=..2}] at @s run function lib:sounds/error
+
+tellraw @s[tag=canbuy] ["",{"text":">> ","color":"green","bold":true},"你已购买并切换尾迹特效为 ",{"text":"素雅","color":"green"}]
+execute as @s[tag=canbuy] run tellraw @a[tag=!canbuy] ["",{"text":">> ","color":"green","bold":true},{"selector": "@s","color":"green"}," 购买了 ",{"text":"素雅尾迹","color":"green"}]
+scoreboard players add @s[tag=canbuy] shop_particle_2 1
+scoreboard players remove @s[tag=canbuy] green 3
+execute as @s[tag=canbuy] run function item:shop/refresh_green
+execute as @s[tag=canbuy] at @s run function lib:sounds/levelup
+tag @s remove canbuy
+
+scoreboard players set @s[scores={shop_particle_2=1..}] particle_type 2

+ 25 - 0
data/item/functions/shop/buy_particle3.mcfunction

@@ -0,0 +1,25 @@
+# 水滴粒子 (3 e)
+# 触发器ID 105
+execute unless entity @s[scores={shop_particle_s=0..}] run scoreboard players set @s shop_particle_s 0
+execute unless entity @s[scores={shop_particle_3=0..}] run scoreboard players set @s shop_particle_3 0
+tag @s remove canbuy
+tag @s[scores={shop_particle_s=1..,shop_particle_3=0,green=3..}] add canbuy
+
+tellraw @s[scores={shop_particle_s=0}] ["",{"text":">> ","color":"red","bold":true},{"text":"你需要先在左侧购买尾迹特效才能切换尾迹种类!","color":"red"}]
+execute as @s[scores={shop_particle_s=0}] at @s run function lib:sounds/error
+
+tellraw @s[scores={shop_particle_s=1..,shop_particle_3=1..}] ["",{"text":">> ","color":"green","bold":true},"尾迹特效已切换为 ",{"text":"水滴","color":"green"}]
+execute as @s[scores={shop_particle_s=1..,shop_particle_3=1..}] at @s run function lib:sounds/hit
+
+tellraw @s[scores={shop_particle_s=1..,shop_particle_3=0,green=..2}] ["",{"text":">> ","color":"red","bold":true},{"text":"你没有足够的绿宝石来购买它!","color":"red"}]
+execute as @s[scores={shop_particle_s=1..,shop_particle_3=0,green=..2}] at @s run function lib:sounds/error
+
+tellraw @s[tag=canbuy] ["",{"text":">> ","color":"green","bold":true},"你已购买并切换尾迹特效为 ",{"text":"水滴","color":"green"}]
+execute as @s[tag=canbuy] run tellraw @a[tag=!canbuy] ["",{"text":">> ","color":"green","bold":true},{"selector": "@s","color":"green"}," 购买了 ",{"text":"水滴尾迹","color":"green"}]
+scoreboard players add @s[tag=canbuy] shop_particle_3 1
+scoreboard players remove @s[tag=canbuy] green 3
+execute as @s[tag=canbuy] run function item:shop/refresh_green
+execute as @s[tag=canbuy] at @s run function lib:sounds/levelup
+tag @s remove canbuy
+
+scoreboard players set @s[scores={shop_particle_3=1..}] particle_type 3

+ 25 - 0
data/item/functions/shop/buy_particle4.mcfunction

@@ -0,0 +1,25 @@
+# 烈焰粒子 (6 e)
+# 触发器ID 106
+execute unless entity @s[scores={shop_particle_s=0..}] run scoreboard players set @s shop_particle_s 0
+execute unless entity @s[scores={shop_particle_4=0..}] run scoreboard players set @s shop_particle_4 0
+tag @s remove canbuy
+tag @s[scores={shop_particle_s=1..,shop_particle_4=0,green=6..}] add canbuy
+
+tellraw @s[scores={shop_particle_s=0}] ["",{"text":">> ","color":"red","bold":true},{"text":"你需要先在左侧购买尾迹特效才能切换尾迹种类!","color":"red"}]
+execute as @s[scores={shop_particle_s=0}] at @s run function lib:sounds/error
+
+tellraw @s[scores={shop_particle_s=1..,shop_particle_4=1..}] ["",{"text":">> ","color":"green","bold":true},"尾迹特效已切换为 ",{"text":"烈焰","color":"green"}]
+execute as @s[scores={shop_particle_s=1..,shop_particle_4=1..}] at @s run function lib:sounds/hit
+
+tellraw @s[scores={shop_particle_s=1..,shop_particle_4=0,green=..5}] ["",{"text":">> ","color":"red","bold":true},{"text":"你没有足够的绿宝石来购买它!","color":"red"}]
+execute as @s[scores={shop_particle_s=1..,shop_particle_4=0,green=..5}] at @s run function lib:sounds/error
+
+tellraw @s[tag=canbuy] ["",{"text":">> ","color":"green","bold":true},"你已购买并切换尾迹特效为 ",{"text":"烈焰","color":"green"}]
+execute as @s[tag=canbuy] run tellraw @a[tag=!canbuy] ["",{"text":">> ","color":"green","bold":true},{"selector": "@s","color":"green"}," 购买了 ",{"text":"烈焰尾迹","color":"green"}]
+scoreboard players add @s[tag=canbuy] shop_particle_4 1
+scoreboard players remove @s[tag=canbuy] green 6
+execute as @s[tag=canbuy] run function item:shop/refresh_green
+execute as @s[tag=canbuy] at @s run function lib:sounds/levelup
+tag @s remove canbuy
+
+scoreboard players set @s[scores={shop_particle_4=1..}] particle_type 4

+ 25 - 0
data/item/functions/shop/buy_particle5.mcfunction

@@ -0,0 +1,25 @@
+# 炫彩粒子 (6 e)
+# 触发器ID 107
+execute unless entity @s[scores={shop_particle_s=0..}] run scoreboard players set @s shop_particle_s 0
+execute unless entity @s[scores={shop_particle_5=0..}] run scoreboard players set @s shop_particle_5 0
+tag @s remove canbuy
+tag @s[scores={shop_particle_s=1..,shop_particle_5=0,green=6..}] add canbuy
+
+tellraw @s[scores={shop_particle_s=0}] ["",{"text":">> ","color":"red","bold":true},{"text":"你需要先在左侧购买尾迹特效才能切换尾迹种类!","color":"red"}]
+execute as @s[scores={shop_particle_s=0}] at @s run function lib:sounds/error
+
+tellraw @s[scores={shop_particle_s=1..,shop_particle_5=1..}] ["",{"text":">> ","color":"green","bold":true},"尾迹特效已切换为 ",{"text":"炫彩","color":"green"}]
+execute as @s[scores={shop_particle_s=1..,shop_particle_5=1..}] at @s run function lib:sounds/hit
+
+tellraw @s[scores={shop_particle_s=1..,shop_particle_5=0,green=..5}] ["",{"text":">> ","color":"red","bold":true},{"text":"你没有足够的绿宝石来购买它!","color":"red"}]
+execute as @s[scores={shop_particle_s=1..,shop_particle_5=0,green=..5}] at @s run function lib:sounds/error
+
+tellraw @s[tag=canbuy] ["",{"text":">> ","color":"green","bold":true},"你已购买并切换尾迹特效为 ",{"text":"炫彩","color":"green"}]
+execute as @s[tag=canbuy] run tellraw @a[tag=!canbuy] ["",{"text":">> ","color":"green","bold":true},{"selector": "@s","color":"green"}," 购买了 ",{"text":"炫彩尾迹","color":"green"}]
+scoreboard players add @s[tag=canbuy] shop_particle_5 1
+scoreboard players remove @s[tag=canbuy] green 6
+execute as @s[tag=canbuy] run function item:shop/refresh_green
+execute as @s[tag=canbuy] at @s run function lib:sounds/levelup
+tag @s remove canbuy
+
+scoreboard players set @s[scores={shop_particle_5=1..}] particle_type 5

+ 25 - 0
data/item/functions/shop/buy_particle6.mcfunction

@@ -0,0 +1,25 @@
+# 魂焰粒子 (1 eb)
+# 触发器ID 108
+execute unless entity @s[scores={shop_particle_s=0..}] run scoreboard players set @s shop_particle_s 0
+execute unless entity @s[scores={shop_particle_6=0..}] run scoreboard players set @s shop_particle_6 0
+tag @s remove canbuy
+tag @s[scores={shop_particle_s=1..,shop_particle_6=0,green=9..}] add canbuy
+
+tellraw @s[scores={shop_particle_s=0}] ["",{"text":">> ","color":"red","bold":true},{"text":"你需要先在左侧购买尾迹特效才能切换尾迹种类!","color":"red"}]
+execute as @s[scores={shop_particle_s=0}] at @s run function lib:sounds/error
+
+tellraw @s[scores={shop_particle_s=1..,shop_particle_6=1..}] ["",{"text":">> ","color":"green","bold":true},"尾迹特效已切换为 ",{"text":"魂焰","color":"green"}]
+execute as @s[scores={shop_particle_s=1..,shop_particle_6=1..}] at @s run function lib:sounds/hit
+
+tellraw @s[scores={shop_particle_s=1..,shop_particle_6=0,green=..8}] ["",{"text":">> ","color":"red","bold":true},{"text":"你没有足够的绿宝石块来购买它!","color":"red"}]
+execute as @s[scores={shop_particle_s=1..,shop_particle_6=0,green=..8}] at @s run function lib:sounds/error
+
+tellraw @s[tag=canbuy] ["",{"text":">> ","color":"green","bold":true},"你已购买并切换尾迹特效为 ",{"text":"魂焰","color":"green"}]
+execute as @s[tag=canbuy] run tellraw @a[tag=!canbuy] ["",{"text":">> ","color":"green","bold":true},{"selector": "@s","color":"green"}," 购买了 ",{"text":"魂焰尾迹","color":"green"}]
+scoreboard players add @s[tag=canbuy] shop_particle_6 1
+scoreboard players remove @s[tag=canbuy] green 9
+execute as @s[tag=canbuy] run function item:shop/refresh_green
+execute as @s[tag=canbuy] at @s run function lib:sounds/levelup
+tag @s remove canbuy
+
+scoreboard players set @s[scores={shop_particle_6=1..}] particle_type 6

+ 17 - 0
data/item/functions/shop/buy_particle_system.mcfunction

@@ -0,0 +1,17 @@
+# 粒子系统 (2 eb)
+# 触发器ID 100
+execute unless entity @s[scores={shop_particle_s=0..}] run scoreboard players set @s shop_particle_s 0
+tag @s remove canbuy
+tag @s[scores={shop_particle_s=0,green=18..}] add canbuy
+
+tellraw @s[scores={shop_particle_s=1..}] ["",{"text":">> ","color":"aqua","bold":true},{"text":"你已经购买了尾迹特效了!","color":"aqua"}]
+tellraw @s[scores={shop_particle_s=0,green=..17}] ["",{"text":">> ","color":"red","bold":true},{"text":"你没有足够的绿宝石块来购买它!","color":"red"}]
+tellraw @s[tag=canbuy] ["",{"text":">> ","color":"green","bold":true},"你购买了 ",{"text":"尾迹特效","color":"green"}]
+execute as @s[tag=canbuy] run tellraw @a[tag=!canbuy] ["",{"text":">> ","color":"green","bold":true},{"selector": "@s","color":"green"}," 购买了 ",{"text":"尾迹特效","color":"green"}]
+
+scoreboard players add @s[tag=canbuy] shop_particle_s 1
+scoreboard players remove @s[tag=canbuy] green 18
+execute as @s[tag=!canbuy] at @s run function lib:sounds/error
+execute as @s[tag=canbuy] at @s run function lib:sounds/levelup
+execute as @s[tag=canbuy] run function item:shop/refresh_green
+tag @s remove canbuy

+ 0 - 1
data/item/functions/shop/buy_pig.mcfunction

@@ -11,6 +11,5 @@ execute as @s[tag=canbuy] run tellraw @a[tag=!canbuy] ["",{"text":">> ","color":
 execute as @s[tag=canbuy] run function item:shop/special_pig
 scoreboard players remove @s[tag=canbuy] gold 1
 execute as @s[tag=!canbuy] at @s run function lib:sounds/error
-execute as @s[tag=canbuy] at @s run function lib:sounds/levelup
 execute as @s[tag=canbuy] run function item:shop/refresh_gold
 tag @s remove canbuy

+ 9 - 0
data/item/functions/shop/check.mcfunction

@@ -18,6 +18,15 @@ execute if score @s buy_trigger matches 18 if score $state mem matches 0 run fun
 execute if score @s buy_trigger matches 19 if score $state mem matches 0 run function item:shop/buy_firework
 execute if score @s buy_trigger matches 20 if score $state mem matches 0 run function item:shop/buy_bgm
 execute if score @s buy_trigger matches 21 if score $state mem matches 0 run function item:shop/buy_pig
+execute if score @s buy_trigger matches 100 if score $state mem matches 0 run function item:shop/buy_particle_system
+execute if score @s buy_trigger matches 101 if score $state mem matches 0 run function item:shop/buy_particle_close
+execute if score @s buy_trigger matches 102 if score $state mem matches 0 run function item:shop/buy_particle0
+execute if score @s buy_trigger matches 103 if score $state mem matches 0 run function item:shop/buy_particle1
+execute if score @s buy_trigger matches 104 if score $state mem matches 0 run function item:shop/buy_particle2
+execute if score @s buy_trigger matches 105 if score $state mem matches 0 run function item:shop/buy_particle3
+execute if score @s buy_trigger matches 106 if score $state mem matches 0 run function item:shop/buy_particle4
+execute if score @s buy_trigger matches 107 if score $state mem matches 0 run function item:shop/buy_particle5
+execute if score @s buy_trigger matches 108 if score $state mem matches 0 run function item:shop/buy_particle6
 execute if score @s buy_trigger matches 999 if score $state mem matches 0 run function item:shop/buy_dice
 execute if score @s buy_trigger matches 114514 if score $state mem matches 0 run function item:shop/buy_easter_egg
 scoreboard players set @s buy_trigger 0

+ 1 - 5
data/item/functions/shop/refresh_equip.mcfunction

@@ -5,12 +5,8 @@ give @s[scores={shop_bow=1}] bow{display:{Name:'{"text":"弓","italic":false,"co
 
 clear @s wooden_shovel
 clear @s stone_shovel
-clear @s iron_shovel
-clear @s diamond_shovel
 give @s[scores={shop_weapon=1}] wooden_shovel{display:{Name:'{"text":"木锹","italic":false,"color":"gray"}'}}
-give @s[scores={shop_weapon=2}] stone_shovel{display:{Name:'{"text":"石锹","italic":false,"color":"gray"}'}}
-give @s[scores={shop_weapon=3}] iron_shovel{display:{Name:'{"text":"铁锹","italic":false,"color":"gray"}'}}
-give @s[scores={shop_weapon=4}] diamond_shovel{display:{Name:'{"text":"钻石锹","italic":false,"color":"gray"}'}}
+give @s[scores={shop_weapon=2..}] stone_shovel{display:{Name:'{"text":"石锹","italic":false,"color":"gray"}'}}
 
 clear @s splash_potion
 give @s[scores={shop_potion_spd=1}] splash_potion{CustomPotionEffects:[{Id:1,Amplifier:0,Duration:300}],CustomPotionColor:8039610,display:{Name:'{"text":"喷溅型迅捷药水","italic":false,"color":"gray"}'}}

+ 2 - 1
data/item/functions/shop/refresh_gold.mcfunction

@@ -1,6 +1,7 @@
 # 刷新单个玩家背包中的金粒
 
 execute unless entity @s[scores={gold=0..}] run scoreboard players set @s gold 0
+execute unless entity @s[scores={gold=0..}] run scoreboard players set @s gold_total 0
 clear @s gold_block
 clear @s gold_ingot
 clear @s gold_nugget
@@ -9,7 +10,7 @@ clear @s gold_nugget
 scoreboard players operation @s temp = @s gold
 scoreboard players operation @s temp /= #const_81 mem
 # 给予金块
-execute if score @s temp matches 1.. at @s run function item:shop/summon_block
+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

+ 17 - 0
data/item/functions/shop/refresh_green.mcfunction

@@ -0,0 +1,17 @@
+# 刷新单个玩家背包中的绿宝石
+
+execute unless entity @s[scores={green=0..}] run scoreboard players set @s green 0
+execute unless entity @s[scores={green=0..}] run scoreboard players set @s green_total 0
+clear @s emerald_block
+clear @s emerald
+
+# 获取绿宝石块数,存于 temp
+scoreboard players operation @s temp = @s green
+scoreboard players operation @s temp /= #const_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
+# 给予绿宝石
+execute if score @s temp matches 1.. at @s run function item:shop/summon_emerald

+ 0 - 5
data/item/functions/shop/special_dice.mcfunction

@@ -1,5 +0,0 @@
-# 跟老板玩骰子
-function ltw:state/0/roll_dice/d20
-scoreboard players operation @s temp = $random mem
-execute as @e[type=piglin,tag=shop_piglin_11,tag=lobby_entity] run function ltw:state/0/roll_dice/d20
-function ltw:state/0/roll_dice/show_result

+ 10 - 0
data/item/functions/shop/summon_emerald.mcfunction

@@ -0,0 +1,10 @@
+# 给予绿宝石
+summon item ~ ~ ~ {Item:{id:"emerald",Count:1b},Tags:["score_item"],PickupDelay:0}
+execute if score @s temp matches 1..64 store result entity @e[type=item,tag=score_item,limit=1] Item.Count byte 1 run scoreboard players get @s temp
+execute if score @s temp matches 65.. run data modify entity @e[type=item,tag=score_item,limit=1] Item.Count set value 64b 
+data modify entity @e[type=item,tag=score_item,limit=1] Owner set from entity @s UUID
+tag @e[type=item,tag=score_item] remove score_item
+scoreboard players remove @s temp 64
+execute if score @s temp matches 1.. run function item:shop/summon_emerald
+
+

+ 10 - 0
data/item/functions/shop/summon_emerald_block.mcfunction

@@ -0,0 +1,10 @@
+# 给予绿宝石块
+summon item ~ ~ ~ {Item:{id:"emerald_block",Count:1b},Tags:["score_item"],PickupDelay:0}
+execute if score @s temp matches 1..64 store result entity @e[type=item,tag=score_item,limit=1] Item.Count byte 1 run scoreboard players get @s temp
+execute if score @s temp matches 65.. run data modify entity @e[type=item,tag=score_item,limit=1] Item.Count set value 64b 
+data modify entity @e[type=item,tag=score_item,limit=1] Owner set from entity @s UUID
+tag @e[type=item,tag=score_item] remove score_item
+scoreboard players remove @s temp 64
+execute if score @s temp matches 1.. run function item:shop/summon_emerald_block
+
+

+ 1 - 1
data/item/functions/shop/summon_block.mcfunction → data/item/functions/shop/summon_gold_block.mcfunction

@@ -5,6 +5,6 @@ execute if score @s temp matches 65.. run data modify entity @e[type=item,tag=sc
 data modify entity @e[type=item,tag=score_item,limit=1] Owner set from entity @s UUID
 tag @e[type=item,tag=score_item] remove score_item
 scoreboard players remove @s temp 64
-execute if score @s temp matches 1.. run function item:shop/summon_block
+execute if score @s temp matches 1.. run function item:shop/summon_gold_block
 
 

+ 0 - 1
data/item/functions/tick1.mcfunction

@@ -1 +0,0 @@
-execute as @e[type=item] run data modify entity @s PickupDelay set value 0

+ 4 - 4
data/item/functions/tick2.mcfunction

@@ -1,13 +1,13 @@
-
 # 防止玩家丢弃物品:如果物品存在 Thrower 则要求强制捡起
-execute as @e[type=item] if data entity @s Thrower run function item:disable_throw
+execute unless score $survival mem matches 1.. as @e[type=item] if data entity @s Thrower run function item:disable_throw
+execute if score $survival mem matches 1.. unless score $state mem matches 5 as @e[type=item] if data entity @s Thrower run function item:disable_throw
 
 # 检查玩家拾取奖励物品
 execute as @a if data entity @s Inventory[{"tag":{"bonus_new":1b}}] run function item:bonus_item/call
 
 # 检测玩家格子锁定
-execute if score $state mem matches 1.. as @a[tag=!debug] run function item:disable_slot/check_slot
-execute if score $state mem matches 0 as @a run function item:lobby_state/check_slot
+execute if score $state mem matches 1.. unless score $survival mem matches 1.. as @a[team=!debugging] run function item:disable_slot/check_slot
+execute if score $state mem matches 0 as @a run function ltw:state/0/state/check_slot
 execute if score $state mem matches 0.. run kill @e[type=item,tag=LockTempItem]
 
 # 检查购买物品

+ 0 - 30
data/item/loot_tables/gameparty/last/blue.json

@@ -1,30 +0,0 @@
-{"pools": [{"rolls": 1,"entries": [
-
-{
-    "type": "minecraft:item",
-    "weight": 1,
-    "name": "minecraft:nether_star",
-    "functions": [
-        {
-            "function": "minecraft:set_count",
-            "count": 3
-        },
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +3\\\",\\\"color\\\":\\\"aqua\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":3}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 1,
-    "name": "minecraft:emerald",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机翻倍或减半\\\",\\\"color\\\":\\\"aqua\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":100}"
-        }
-    ]
-}
-
-]}]}

+ 0 - 30
data/item/loot_tables/gameparty/last/green.json

@@ -1,30 +0,0 @@
-{"pools": [{"rolls": 1,"entries": [
-
-{
-    "type": "minecraft:item",
-    "weight": 1,
-    "name": "minecraft:nether_star",
-    "functions": [
-        {
-            "function": "minecraft:set_count",
-            "count": 2
-        },
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +2\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":2}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 1,
-    "name": "minecraft:ender_eye",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"从最高分玩家处偷取 1 分\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":200}"
-        }
-    ]
-}
-
-]}]}

+ 0 - 52
data/item/loot_tables/gameparty/last/white.json

@@ -1,52 +0,0 @@
-{"pools": [{"rolls": 1,"entries": [
-
-{
-    "type": "minecraft:item",
-    "weight": 4,
-    "name": "minecraft:nether_star",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +1\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":1}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 3,
-    "name": "minecraft:paper",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"极小概率得分 +5\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":0}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 1,
-    "name": "minecraft:paper",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"极小概率得分 +5\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":5}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 2,
-    "name": "minecraft:gold_nugget",
-    "functions": [
-        {
-            "function": "minecraft:set_count",
-            "count": 2
-        },
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"金粒 +2\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":300}"
-        }
-    ]
-}
-
-]}]}

+ 7 - 22
data/item/loot_tables/gameparty/normal/blue.json

@@ -2,33 +2,18 @@
 
 {
     "type": "minecraft:item",
-    "weight": 7,
-    "name": "minecraft:nether_star",
-    "functions": [
-        {
-            "function": "minecraft:set_count",
-            "count": 3
-        },
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +3\\\",\\\"color\\\":\\\"aqua\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":3}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 3,
-    "name": "minecraft:emerald",
+    "weight": 2,
+    "name": "minecraft:iron_sword",
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机翻倍或减半\\\",\\\"color\\\":\\\"aqua\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":100}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"<击退 I> 铁剑\\\",\\\"color\\\":\\\"aqua\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"Enchantments\":[{\"id\":\"knockback\",\"lvl\":1}],\"display\":{\"Name\":\"{\\\"text\\\":\\\"<击退 I> 铁剑\\\",\\\"italic\\\":0,\\\"color\\\":\\\"aqua\\\"}\"}}"
         }
     ]
 },
 {
     "type": "minecraft:item",
-    "weight": 4,
+    "weight": 2,
     "name": "minecraft:enchanted_golden_apple",
     "functions": [
         {
@@ -39,7 +24,7 @@
 },
 {
     "type": "minecraft:item",
-    "weight": 4,
+    "weight": 2,
     "name": "minecraft:shield",
     "functions": [
         {
@@ -50,7 +35,7 @@
 },
 {
     "type": "minecraft:item",
-    "weight": 2,
+    "weight": 1,
     "name": "minecraft:netherite_chestplate",
     "functions": [
         {
@@ -61,7 +46,7 @@
 },
 {
     "type": "minecraft:item",
-    "weight": 2,
+    "weight": 1,
     "name": "minecraft:netherite_boots",
     "functions": [
         {

+ 14 - 45
data/item/loot_tables/gameparty/normal/green.json

@@ -1,34 +1,25 @@
 {"pools": [{"rolls": 1,"entries": [
 
+    {
+        "type": "minecraft:loot_table",
+        "weight": 1,
+        "name": "item:gameparty/score/green"
+    },
+
 {
     "type": "minecraft:item",
-    "weight": 13,
-    "name": "minecraft:nether_star",
-    "functions": [
-        {
-            "function": "minecraft:set_count",
-            "count": 2
-        },
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +2\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":2}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 7,
-    "name": "minecraft:ender_eye",
+    "weight": 1,
+    "name": "minecraft:iron_axe",
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"从最高分玩家处偷取 1 分\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":200}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"铁斧\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"display\":{\"Name\":\"{\\\"text\\\":\\\"铁斧\\\",\\\"italic\\\":false,\\\"color\\\":\\\"green\\\"}\"}}"
         }
     ]
 },
 {
     "type": "minecraft:item",
-    "weight": 4,
+    "weight": 1,
     "name": "minecraft:golden_apple",
     "functions": [
         {
@@ -39,45 +30,23 @@
 },
 {
     "type": "minecraft:item",
-    "weight": 4,
-    "name": "minecraft:iron_axe",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"<击退 II> 铁斧\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"Enchantments\":[{\"id\":\"knockback\",\"lvl\":2}],\"display\":{\"Name\":\"{\\\"text\\\":\\\"<击退 II> 铁斧\\\",\\\"italic\\\":0,\\\"color\\\":\\\"green\\\"}\"}}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 4,
+    "weight": 1,
     "name": "minecraft:splash_potion",
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"跳跃提升 VII (0:02)\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"CustomPotionEffects\":[{\"Id\":8,\"Amplifier\":6,\"Duration\":40}],\"CustomPotionColor\":2292811,\"display\":{\"Name\":\"{\\\"text\\\":\\\"喷溅型跳跃药水\\\",\\\"italic\\\":0,\\\"color\\\":\\\"green\\\"}\"}}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"跳跃提升 VII (0:04)\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"CustomPotionEffects\":[{\"Id\":8,\"Amplifier\":6,\"Duration\":80}],\"CustomPotionColor\":2292811,\"display\":{\"Name\":\"{\\\"text\\\":\\\"喷溅型跳跃药水\\\",\\\"italic\\\":0,\\\"color\\\":\\\"green\\\"}\"}}"
         }
     ]
 },
 {
     "type": "minecraft:item",
-    "weight": 4,
+    "weight": 1,
     "name": "minecraft:crossbow",
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"<快速装填 III> 弩, 箭 x15\\\",\\\"color\\\":\\\"green\\\"}\",\"Enchantments\":[{\"id\":\"quick_charge\",\"lvl\":3}],\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"bonus_give_items\":[{\"id\":\"minecraft:arrow\",\"Count\":15,\"tag\":{\"is_bonus\":1b,\"bonus_clear_nbt\":1b}}],\"display\":{\"Name\":\"{\\\"text\\\":\\\"<快速装填 III> 弩\\\",\\\"italic\\\":0,\\\"color\\\":\\\"green\\\"}\"}}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 4,
-    "name": "minecraft:fishing_rod",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"钓鱼竿\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"display\":{\"Name\":\"{\\\"text\\\":\\\"钓鱼竿\\\",\\\"italic\\\":0,\\\"color\\\":\\\"green\\\"}\"}}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"<快速装填 III> 弩, 箭 x10\\\",\\\"color\\\":\\\"green\\\"}\",\"Enchantments\":[{\"id\":\"quick_charge\",\"lvl\":3}],\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"bonus_give_items\":[{\"id\":\"minecraft:arrow\",\"Count\":10,\"tag\":{\"is_bonus\":1b,\"bonus_clear_nbt\":1b}}],\"display\":{\"Name\":\"{\\\"text\\\":\\\"<快速装填 III> 弩\\\",\\\"italic\\\":0,\\\"color\\\":\\\"green\\\"}\"}}"
         }
     ]
 }

+ 7 - 81
data/item/loot_tables/gameparty/normal/purple.json

@@ -1,85 +1,11 @@
 {"pools": [{"rolls": 1,"entries": [
 
-{
-    "type": "minecraft:item",
-    "weight": 12,
-    "name": "minecraft:nether_star",
-    "functions": [
-        {
-            "function": "minecraft:set_count",
-            "count": 4
-        },
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +4\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":4}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 1,
-    "name": "minecraft:target",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":1}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 1,
-    "name": "minecraft:target",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":2}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 1,
-    "name": "minecraft:target",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":3}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 1,
-    "name": "minecraft:target",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":4}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 1,
-    "name": "minecraft:target",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":5}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 1,
-    "name": "minecraft:target",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":6}"
-        }
-    ]
-}
+
+    {
+        "type": "minecraft:loot_table",
+        "weight": 3,
+        "name": "item:gameparty/normal/blue"
+    }
+
 
 ]}]}

+ 23 - 117
data/item/loot_tables/gameparty/normal/white.json

@@ -1,78 +1,36 @@
 {"pools": [{"rolls": 1,"entries": [
 
+    {
+        "type": "minecraft:loot_table",
+        "weight": 4,
+        "name": "item:gameparty/score/white"
+    },
+
 {
     "type": "minecraft:item",
-    "weight": 80,
-    "name": "minecraft:nether_star",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +1\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":1}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 19,
-    "name": "minecraft:paper",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"极小概率得分 +5\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":0}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 5,
-    "name": "minecraft:paper",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"极小概率得分 +5\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":5}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 8,
-    "name": "minecraft:gold_nugget",
-    "functions": [
-        {
-            "function": "minecraft:set_count",
-            "count": 2
-        },
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"金粒 +2\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":300}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 8,
+    "weight": 1,
     "name": "minecraft:splash_potion",
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"速度 II (0:20)\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"CustomPotionEffects\":[{\"Id\":1,\"Amplifier\":1,\"Duration\":400}],\"CustomPotionColor\":8039610,\"display\":{\"Name\":\"{\\\"text\\\":\\\"喷溅型速度药水\\\",\\\"italic\\\":0,\\\"color\\\":\\\"white\\\"}\"}}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"速度 II (0:20)\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"CustomPotionEffects\":[{\"Id\":1,\"Amplifier\":1,\"Duration\":400}],\"CustomPotionColor\":8039610,\"display\":{\"Name\":\"{\\\"text\\\":\\\"喷溅型速度药水\\\",\\\"italic\\\":false,\\\"color\\\":\\\"white\\\"}\"}}"
         }
     ]
 },
 {
     "type": "minecraft:item",
-    "weight": 8,
-    "name": "minecraft:iron_axe",
+    "weight": 1,
+    "name": "minecraft:stone_pickaxe",
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"铁斧\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"display\":{\"Name\":\"{\\\"text\\\":\\\"铁斧\\\",\\\"italic\\\":0,\\\"color\\\":\\\"white\\\"}\"}}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"石镐\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"display\":{\"Name\":\"{\\\"text\\\":\\\"石镐\\\",\\\"italic\\\":false,\\\"color\\\":\\\"white\\\"}\"}}"
         }
     ]
 },
 {
     "type": "minecraft:item",
-    "weight": 8,
+    "weight": 1,
     "name": "minecraft:wooden_axe",
     "functions": [
         {
@@ -81,28 +39,13 @@
         },
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"<击退 III> 破损的木斧\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"Enchantments\":[{\"id\":\"knockback\",\"lvl\":3}],\"display\":{\"Name\":\"{\\\"text\\\":\\\"<击退 III> 木斧\\\",\\\"italic\\\":0,\\\"color\\\":\\\"white\\\"}\"}}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 8,
-    "name": "minecraft:fishing_rod",
-    "functions": [
-        {
-            "function": "minecraft:set_damage",
-            "damage":{"min": 0.06, "max": 0.09}
-        },
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"破损的钓鱼竿\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"display\":{\"Name\":\"{\\\"text\\\":\\\"钓鱼竿\\\",\\\"italic\\\":0,\\\"color\\\":\\\"white\\\"}\"}}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"<击退 III> 破损的木斧\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"Enchantments\":[{\"id\":\"knockback\",\"lvl\":3}],\"display\":{\"Name\":\"{\\\"text\\\":\\\"<击退 III> 木斧\\\",\\\"italic\\\":false,\\\"color\\\":\\\"white\\\"}\"}}"
         }
     ]
 },
 {
     "type": "minecraft:item",
-    "weight": 12,
+    "weight": 2,
     "name": "minecraft:shield",
     "functions": [
         {
@@ -111,83 +54,46 @@
         },
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"破损的盾牌\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"display\":{\"Name\":\"{\\\"text\\\":\\\"盾牌\\\",\\\"italic\\\":0,\\\"color\\\":\\\"white\\\"}\"}}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"破损的盾牌\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"display\":{\"Name\":\"{\\\"text\\\":\\\"盾牌\\\",\\\"italic\\\":false,\\\"color\\\":\\\"white\\\"}\"}}"
         }
     ]
 },
 {
     "type": "minecraft:item",
-    "weight": 8,
+    "weight": 1,
     "name": "minecraft:splash_potion",
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"飘浮 (0:10)\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"CustomPotionEffects\":[{\"Id\":25,\"Amplifier\":0,\"Duration\":200}],\"CustomPotionColor\":11458519,\"display\":{\"Name\":\"{\\\"text\\\":\\\"喷溅型浮空药水\\\",\\\"italic\\\":0,\\\"color\\\":\\\"white\\\"}\"}}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"飘浮 (0:10)\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"CustomPotionEffects\":[{\"Id\":25,\"Amplifier\":0,\"Duration\":200}],\"CustomPotionColor\":11458519,\"display\":{\"Name\":\"{\\\"text\\\":\\\"喷溅型浮空药水\\\",\\\"italic\\\":false,\\\"color\\\":\\\"white\\\"}\"}}"
         }
     ]
 },
 {
     "type": "minecraft:item",
-    "weight": 8,
+    "weight": 1,
     "name": "minecraft:splash_potion",
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"失明 (0:15)\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"CustomPotionEffects\":[{\"Id\":15,\"Amplifier\":0,\"Duration\":300}],\"CustomPotionColor\":1644828,\"display\":{\"Name\":\"{\\\"text\\\":\\\"喷溅型致盲药水\\\",\\\"italic\\\":0,\\\"color\\\":\\\"white\\\"}\"}}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"失明 (0:20)\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"CustomPotionEffects\":[{\"Id\":15,\"Amplifier\":0,\"Duration\":400}],\"CustomPotionColor\":1644828,\"display\":{\"Name\":\"{\\\"text\\\":\\\"喷溅型致盲药水\\\",\\\"italic\\\":false,\\\"color\\\":\\\"white\\\"}\"}}"
         }
     ]
 },
 {
     "type": "minecraft:item",
-    "weight": 8,
+    "weight": 2,
     "name": "minecraft:crossbow",
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"弩, 箭 x3\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"display\":{\"Name\":\"{\\\"text\\\":\\\"弩\\\",\\\"italic\\\":0,\\\"color\\\":\\\"white\\\"}\"},\"bonus_give_items\":[{\"id\":\"minecraft:arrow\",\"Count\":3,\"tag\":{\"is_bonus\":1b,\"bonus_return\":1b,\"bonus_clear_nbt\":1b}}]}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 8,
-    "name": "minecraft:bow",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"<冲击 I> 弓\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"Enchantments\":[{\"id\":\"punch\",\"lvl\":1}],\"display\":{\"Name\":\"{\\\"text\\\":\\\"<冲击 I> 弓\\\",\\\"italic\\\":0,\\\"color\\\":\\\"white\\\"}\"}}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 8,
-    "name": "minecraft:arrow",
-    "functions": [
-        {
-            "function": "minecraft:set_count",
-            "count": 10
-        },
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"箭 x10\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"bonus_clear_nbt\":1b}"
-        }
-    ]
-},
-{
-    "type": "minecraft:item",
-    "weight": 4,
-    "name": "minecraft:netherite_chestplate",
-    "functions": [
-        {
-            "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"下界合金胸甲\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"弩, 箭 x3\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_return\":1b,\"display\":{\"Name\":\"{\\\"text\\\":\\\"弩\\\",\\\"italic\\\":false,\\\"color\\\":\\\"white\\\"}\"},\"bonus_give_items\":[{\"id\":\"minecraft:arrow\",\"Count\":3,\"tag\":{\"is_bonus\":1b,\"bonus_return\":1b,\"bonus_clear_nbt\":1b}}]}"
         }
     ]
 },
 {
     "type": "minecraft:item",
-    "weight": 4,
+    "weight": 1,
     "name": "minecraft:netherite_leggings",
     "functions": [
         {
@@ -198,7 +104,7 @@
 },
 {
     "type": "minecraft:item",
-    "weight": 4,
+    "weight": 1,
     "name": "minecraft:netherite_boots",
     "functions": [
         {

+ 56 - 0
data/item/loot_tables/gameparty/score/blue.json

@@ -0,0 +1,56 @@
+{"pools": [{"rolls": 1,"entries": [
+
+{
+    "type": "minecraft:item",
+    "weight": 5,
+    "name": "minecraft:nether_star",
+    "functions": [
+        {
+            "function": "minecraft:set_count",
+            "count": 6
+        },
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +6\\\",\\\"color\\\":\\\"aqua\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":6}"
+        }
+    ]
+},
+{
+    "type": "minecraft:item",
+    "weight": 5,
+    "name": "minecraft:nether_star",
+    "functions": [
+        {
+            "function": "minecraft:set_count",
+            "count": 5
+        },
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +5\\\",\\\"color\\\":\\\"aqua\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":5}"
+        }
+    ]
+},
+{
+    "type": "minecraft:item",
+    "weight": 2,
+    "name": "minecraft:ender_eye",
+    "functions": [
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"从最高分玩家处偷取 3 分\\\",\\\"color\\\":\\\"aqua\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":200,\"bonus_stole_score\":3}"
+        }
+    ]
+},
+{
+    "type": "minecraft:item",
+    "weight": 4,
+    "name": "minecraft:emerald",
+    "functions": [
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机翻倍或不变\\\",\\\"color\\\":\\\"aqua\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":101}"
+        }
+    ]
+}
+
+]}]}

+ 34 - 8
data/item/loot_tables/gameparty/last/purple.json → data/item/loot_tables/gameparty/score/green.json

@@ -2,7 +2,7 @@
 
 {
     "type": "minecraft:item",
-    "weight": 6,
+    "weight": 5,
     "name": "minecraft:nether_star",
     "functions": [
         {
@@ -11,7 +11,33 @@
         },
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +4\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":4}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +4\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":4}"
+        }
+    ]
+},
+{
+    "type": "minecraft:item",
+    "weight": 5,
+    "name": "minecraft:nether_star",
+    "functions": [
+        {
+            "function": "minecraft:set_count",
+            "count": 3
+        },
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +3\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":3}"
+        }
+    ]
+},
+{
+    "type": "minecraft:item",
+    "weight": 3,
+    "name": "minecraft:emerald",
+    "functions": [
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机翻倍或减半\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":100}"
         }
     ]
 },
@@ -22,7 +48,7 @@
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":1}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":1}"
         }
     ]
 },
@@ -33,7 +59,7 @@
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":2}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":2}"
         }
     ]
 },
@@ -44,7 +70,7 @@
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":3}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":3}"
         }
     ]
 },
@@ -55,7 +81,7 @@
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":4}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":4}"
         }
     ]
 },
@@ -66,7 +92,7 @@
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":5}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":5}"
         }
     ]
 },
@@ -77,7 +103,7 @@
     "functions": [
         {
             "function": "minecraft:set_nbt",
-            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":6}"
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分随机 +1~6\\\",\\\"color\\\":\\\"green\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":6}"
         }
     ]
 }

+ 34 - 0
data/item/loot_tables/gameparty/score/purple.json

@@ -0,0 +1,34 @@
+{"pools": [{"rolls": 1,"entries": [
+
+{
+    "type": "minecraft:item",
+    "weight": 1,
+    "name": "minecraft:nether_star",
+    "functions": [
+        {
+            "function": "minecraft:set_count",
+            "count": 8
+        },
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +8\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":8}"
+        }
+    ]
+},
+{
+    "type": "minecraft:item",
+    "weight": 1,
+    "name": "minecraft:nether_star",
+    "functions": [
+        {
+            "function": "minecraft:set_count",
+            "count": 7
+        },
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +7\\\",\\\"color\\\":\\\"light_purple\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":7}"
+        }
+    ]
+}
+
+]}]}

+ 78 - 0
data/item/loot_tables/gameparty/score/white.json

@@ -0,0 +1,78 @@
+{"pools": [{"rolls": 1,"entries": [
+
+{
+    "type": "minecraft:item",
+    "weight": 5,
+    "name": "minecraft:nether_star",
+    "functions": [
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +1\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":1}"
+        }
+    ]
+},
+{
+    "type": "minecraft:item",
+    "weight": 5,
+    "name": "minecraft:nether_star",
+    "functions": [
+        {
+            "function": "minecraft:set_count",
+            "count": 2
+        },
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"得分 +2\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":2}"
+        }
+    ]
+},
+{
+    "type": "minecraft:item",
+    "weight": 2,
+    "name": "minecraft:paper",
+    "functions": [
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"小概率得分 +6\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":0}"
+        }
+    ]
+},
+{
+    "type": "minecraft:item",
+    "weight": 1,
+    "name": "minecraft:paper",
+    "functions": [
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"小概率得分 +6\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":6}"
+        }
+    ]
+},
+{
+    "type": "minecraft:item",
+    "weight": 1,
+    "name": "minecraft:gold_nugget",
+    "functions": [
+        {
+            "function": "minecraft:set_count",
+            "count": 3
+        },
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"金粒 +3\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":300}"
+        }
+    ]
+},
+{
+    "type": "minecraft:item",
+    "weight": 2,
+    "name": "minecraft:ender_eye",
+    "functions": [
+        {
+            "function": "minecraft:set_nbt",
+            "tag": "{\"item_name\":\"{\\\"text\\\":\\\"从最高分玩家处偷取 1 分\\\",\\\"color\\\":\\\"white\\\"}\",\"is_bonus\":1b,\"bonus_new\":1b,\"bonus_add_score\":200,\"bonus_stole_score\":1}"
+        }
+    ]
+}
+
+]}]}

+ 3 - 1
data/item/tags/items/bonus.json

@@ -11,13 +11,15 @@
         "minecraft:iron_sword",
         "minecraft:nether_star",
         "minecraft:trident",
-        "minecraft:iron_axe",
         "minecraft:wooden_axe",
+        "minecraft:stone_axe",
+        "minecraft:iron_axe",
         "minecraft:fishing_rod",
         "minecraft:shield",
         "minecraft:splash_potion",
         "minecraft:crossbow",
         "minecraft:bow",
+        "minecraft:stone_pickaxe",
         "minecraft:arrow",
         "minecraft:netherite_helmet",
         "minecraft:netherite_chestplate",

+ 3 - 2
data/lib/functions/effect/floating.mcfunction

@@ -3,7 +3,8 @@
 
 scoreboard players remove @a effect_floating 1
 execute as @a[gamemode=!spectator,scores={effect_floating=..-2}] at @s if block ~ ~-1 ~ diamond_block run effect give @s levitation 1 12
-execute as @a[gamemode=!spectator,scores={effect_floating=..-2}] at @s if block ~ ~-1 ~ diamond_block run effect give @s slow_falling 2 0 true
+execute as @a[gamemode=!spectator,scores={effect_floating=..-2}] at @s if block ~ ~-1 ~ diamond_block run effect give @s speed 1 0 true
+execute as @a[gamemode=!spectator,scores={effect_floating=..-2}] at @s if block ~ ~-1 ~ diamond_block run effect give @s slow_falling 1 0 true
 execute as @a[gamemode=!spectator,scores={effect_floating=..-2}] at @s if block ~ ~-1 ~ diamond_block run function lib:sounds/teleport
-execute as @a[gamemode=!spectator,scores={effect_floating=..-2}] at @s if block ~ ~-1 ~ diamond_block run scoreboard players set @s effect_floating 2
+execute as @a[gamemode=!spectator,scores={effect_floating=..-2}] at @s if block ~ ~-1 ~ diamond_block run scoreboard players set @s effect_floating 5
 effect clear @a[scores={effect_floating=0}] levitation

+ 1 - 0
data/lib/functions/sounds/dragon_growl.mcfunction

@@ -0,0 +1 @@
+playsound minecraft:entity.ender_dragon.growl player @s 0 1000000 0 1000000

+ 3 - 0
data/lib/functions/sounds/music/lobby.mcfunction

@@ -1,4 +1,7 @@
 # 播放主大厅 BGM
+# 首次 3'51,循环 2'30
 
 function lib:sounds/music/stop
+scoreboard players set $music_id mem 1
+scoreboard players set @s music_time 231
 playsound minecraft:music_disc.wait music @s 0 1000000 0 1000000

+ 3 - 1
data/lib/functions/sounds/music/mini_fast.mcfunction

@@ -1,4 +1,6 @@
 # 播放小游戏 BGM(快节奏)
+# 2'28
 
 function lib:sounds/music/stop
-playsound minecraft:music_disc.pigstep music @s 0 1000000 0 1000000
+scoreboard players set $music_id mem 2
+scoreboard players set @s music_time 0

+ 3 - 1
data/lib/functions/sounds/music/mini_middle.mcfunction

@@ -1,4 +1,6 @@
 # 播放小游戏 BGM(中节奏)
+# 3'05
 
 function lib:sounds/music/stop
-playsound minecraft:music_disc.cat music @s 0 1000000 0 1000000
+scoreboard players set $music_id mem 3
+scoreboard players set @s music_time 0

+ 6 - 0
data/lib/functions/sounds/music/mini_secret.mcfunction

@@ -0,0 +1,6 @@
+# 播放小游戏 BGM(神秘)
+# 4'11
+
+function lib:sounds/music/stop
+scoreboard players set $music_id mem 6
+scoreboard players set @s music_time 0

+ 3 - 1
data/lib/functions/sounds/music/mini_slow.mcfunction

@@ -1,4 +1,6 @@
 # 播放小游戏 BGM(慢节奏)
+# 1'36
 
 function lib:sounds/music/stop
-playsound minecraft:music_disc.mellohi music @s 0 1000000 0 1000000
+scoreboard players set $music_id mem 4
+scoreboard players set @s music_time 0

+ 3 - 1
data/lib/functions/sounds/music/rest.mcfunction

@@ -1,4 +1,6 @@
 # 播放等待 BGM
+# 3'17
 
 function lib:sounds/music/stop
-playsound minecraft:music_disc.mall music @s 0 1000000 0 1000000
+scoreboard players set $music_id mem 5
+scoreboard players set @s music_time 0

+ 2 - 1
data/lib/functions/sounds/music/stop.mcfunction

@@ -1,3 +1,4 @@
 # 停止 BGM
 
-stopsound @s music
+stopsound @s music
+scoreboard players set $music_id mem 0

+ 22 - 0
data/lib/functions/sounds/music/tick20.mcfunction

@@ -0,0 +1,22 @@
+
+scoreboard players remove @a music_time 1
+stopsound @a[scores={music_time=..0}] music
+
+# lobby (循环)
+execute if score $music_id mem matches 1 run playsound minecraft:music_disc.stal music @a[scores={music_time=..0}] 0 1000000 0 1000000
+execute if score $music_id mem matches 1 run scoreboard players set @a[scores={music_time=..0}] music_time 150
+# mini_fast
+execute if score $music_id mem matches 2 run playsound minecraft:music_disc.pigstep music @a[scores={music_time=..0}] 0 1000000 0 1000000
+execute if score $music_id mem matches 2 run scoreboard players set @a[scores={music_time=..0}] music_time 148
+# mini_middle
+execute if score $music_id mem matches 3 run playsound minecraft:music_disc.cat music @a[scores={music_time=..0}] 0 1000000 0 1000000
+execute if score $music_id mem matches 3 run scoreboard players set @a[scores={music_time=..0}] music_time 185
+# mini_slow
+execute if score $music_id mem matches 4 run playsound minecraft:music_disc.mellohi music @a[scores={music_time=..0}] 0 1000000 0 1000000
+execute if score $music_id mem matches 4 run scoreboard players set @a[scores={music_time=..0}] music_time 96
+# mini_secret
+execute if score $music_id mem matches 6 run playsound minecraft:music_disc.ward music @a[scores={music_time=..0}] 0 1000000 0 1000000
+execute if score $music_id mem matches 6 run scoreboard players set @a[scores={music_time=..0}] music_time 251
+# rest
+execute if score $music_id mem matches 5 run playsound minecraft:music_disc.mall music @a[scores={music_time=..0}] 0 1000000 0 1000000
+execute if score $music_id mem matches 5 run scoreboard players set @a[scores={music_time=..0}] music_time 197

+ 5 - 5
data/ltw/advancements/parkour/treasure_2.json → data/ltw/advancements/combat/phantom1.json

@@ -1,16 +1,16 @@
 {
-    "parent": "ltw:parkour/treasure_1",
+    "parent": "ltw:combat/root",
     "display": {
       "icon": {
-        "item": "minecraft:diamond"
+        "item": "minecraft:arrow"
       },
       "title": {
-        "text": "寻宝老手"
+        "text": "狩猎学徒      "
       },
       "description": [
-        {"text": "在遗迹寻宝小游戏中收集 7 处宝藏\n", "color":"gray"},
+        {"text": "在月夜狩猎中击杀 8 只幻翼\n", "color":"gray"},
         {"text": "奖励: ","color":"green"},
-        {"text": "4 金粒","color":"white"}
+        {"text": "1 绿宝石","color":"white"}
       ],
       "frame": "task",
       "show_toast": true,

+ 6 - 6
data/ltw/advancements/parkour/treasure_3.json → data/ltw/advancements/combat/phantom2.json

@@ -1,18 +1,18 @@
 {
-    "parent": "ltw:parkour/treasure_2",
+    "parent": "ltw:combat/phantom1",
     "display": {
       "icon": {
-        "item": "minecraft:netherite_scrap"
+        "item": "minecraft:phantom_membrane"
       },
       "title": {
-        "text": "寻宝大师"
+        "text": "怪物猎人      "
       },
       "description": [
-        {"text": "在遗迹寻宝小游戏中收集全部宝藏\n", "color":"gray"},
+        {"text": "在月夜狩猎中击杀 16 只幻翼\n", "color":"gray"},
         {"text": "奖励: ","color":"green"},
-        {"text": "1 金锭","color":"white"}
+        {"text": "2 绿宝石","color":"white"}
       ],
-      "frame": "challenge",
+      "frame": "task",
       "show_toast": true,
       "announce_to_chat": true,
       "hidden": false

+ 6 - 6
data/ltw/advancements/combat/phantom_3.json → data/ltw/advancements/combat/phantom3.json

@@ -1,16 +1,16 @@
 {
-    "parent": "ltw:combat/phantom_2",
+    "parent": "ltw:combat/phantom2",
     "display": {
       "icon": {
-        "item": "minecraft:netherite_sword"
+        "item": "minecraft:spectral_arrow"
       },
       "title": {
-        "text": "狩猎大师"
+        "text": "不再有梦      "
       },
       "description": [
-        {"text": "在月夜狩猎小游戏中击杀 24 只幻翼\n", "color":"gray"},
+        {"text": "在月夜狩猎中击杀 24 只幻翼\n", "color":"gray"},
         {"text": "奖励: ","color":"green"},
-        {"text": "1 金锭","color":"white"}
+        {"text": "3 绿宝石","color":"white"}
       ],
       "frame": "challenge",
       "show_toast": true,
@@ -18,7 +18,7 @@
       "hidden": false
     },
     "rewards": {
-      "function": "ltw:advancement/bonus_2"
+      "function": "ltw:advancement/bonus_3"
     },
     "criteria": {
       "finish":{

+ 0 - 28
data/ltw/advancements/combat/phantom_1.json

@@ -1,28 +0,0 @@
-{
-    "parent": "ltw:combat/root",
-    "display": {
-      "icon": {
-        "item": "minecraft:iron_sword"
-      },
-      "title": {
-        "text": "狩猎学徒"
-      },
-      "description": [
-        {"text": "在月夜狩猎小游戏中击杀 8 只幻翼", "color":"gray"}
-      ],
-      "frame": "task",
-      "show_toast": true,
-      "announce_to_chat": true,
-      "hidden": false
-    },
-    "criteria": {
-      "get_score":{
-          "trigger": "minecraft:impossible"
-      }
-    },
-    "requirements": [
-      [
-          "get_score"
-      ]
-    ]
-  }

+ 1 - 1
data/ltw/advancements/combat/root.json

@@ -7,7 +7,7 @@
         "text":"战斗"
       },
       "description": [
-        {"text": "拼搏的时光开始了……", "color":"gray"}
+        {"text": "", "color":"gray"}
       ],
       "frame": "task",
       "show_toast": false,

+ 33 - 0
data/ltw/advancements/parkour/colormatch2.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:parkour/root",
+    "display": {
+      "icon": {
+        "item": "minecraft:yellow_glazed_terracotta"
+      },
+      "title": {
+        "text": "纷乱迷阵      "
+      },
+      "description": [
+        {"text": "在色彩迷阵中达到最高速度, 并最终获胜\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "2 绿宝石","color":"white"}
+      ],
+      "frame": "task",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_2"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 0 - 28
data/ltw/advancements/parkour/explore_1.json

@@ -1,28 +0,0 @@
-{
-    "parent": "ltw:parkour/root",
-    "display": {
-      "icon": {
-        "item": "minecraft:iron_boots"
-      },
-      "title": {
-        "text": "探索学徒"
-      },
-      "description": [
-        {"text": "完成等待大厅的旅途", "color":"gray"}
-      ],
-      "frame": "task",
-      "show_toast": true,
-      "announce_to_chat": true,
-      "hidden": false
-    },
-    "criteria": {
-      "finish":{
-          "trigger": "minecraft:impossible"
-      }
-    },
-    "requirements": [
-      [
-          "finish"
-      ]
-    ]
-  }

+ 0 - 33
data/ltw/advancements/parkour/explore_3.json

@@ -1,33 +0,0 @@
-{
-    "parent": "ltw:parkour/explore_2",
-    "display": {
-      "icon": {
-        "item": "minecraft:netherite_boots"
-      },
-      "title": {
-        "text": "探索大师"
-      },
-      "description": [
-        {"text": "完成等待大厅的超级隐藏跑酷\n", "color":"gray"},
-        {"text": "奖励: ","color":"green"},
-        {"text": "1 金锭","color":"white"}
-      ],
-      "frame": "challenge",
-      "show_toast": true,
-      "announce_to_chat": true,
-      "hidden": true
-    },
-    "rewards": {
-      "function": "ltw:advancement/bonus_2"
-    },
-    "criteria": {
-      "finish":{
-          "trigger": "minecraft:impossible"
-      }
-    },
-    "requirements": [
-      [
-          "finish"
-      ]
-    ]
-  }

+ 2 - 2
data/ltw/advancements/parkour/root.json

@@ -4,10 +4,10 @@
       "item": "minecraft:leather_boots"
     },
     "title": {
-      "text":"探索"
+      "text":"跑酷"
     },
     "description": [
-      {"text": "探索的时光开始了……", "color":"gray"}
+      {"text": "", "color":"gray"}
     ],
     "frame": "task",
     "show_toast": false,

+ 33 - 0
data/ltw/advancements/parkour/tnt2.json

@@ -0,0 +1,33 @@
+{
+  "parent": "ltw:parkour/root",
+  "display": {
+    "icon": {
+      "item": "minecraft:obsidian"
+    },
+    "title": {
+      "text": "俾倪众生      "
+    },
+    "description": [
+      {"text": "在地陷圣坛中获胜, 且位于第 3 或第 4 层\n", "color":"gray"},
+      {"text": "奖励: ","color":"green"},
+      {"text": "2 绿宝石","color":"white"}
+    ],
+    "frame": "task",
+    "show_toast": true,
+    "announce_to_chat": true,
+    "hidden": false
+  },
+  "rewards": {
+    "function": "ltw:advancement/bonus_2"
+  },
+  "criteria": {
+    "get_score":{
+        "trigger": "minecraft:impossible"
+    }
+  },
+  "requirements": [
+    [
+        "get_score"
+    ]
+  ]
+}

+ 33 - 0
data/ltw/advancements/parkour/tnt3.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:parkour/tnt2",
+    "display": {
+      "icon": {
+        "item": "minecraft:crying_obsidian"
+      },
+      "title": {
+        "text": "来自深渊      "
+      },
+      "description": [
+        {"text": "从地陷圣坛的最底层返回最顶层\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "2 绿宝石","color":"white"}
+      ],
+      "frame": "task",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_2"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 5 - 5
data/ltw/advancements/combat/phantom_2.json → data/ltw/advancements/parkour/treasure1.json

@@ -1,16 +1,16 @@
 {
-    "parent": "ltw:combat/phantom_1",
+    "parent": "ltw:parkour/root",
     "display": {
       "icon": {
-        "item": "minecraft:diamond_sword"
+        "item": "minecraft:oak_leaves"
       },
       "title": {
-        "text": "狩猎老手"
+        "text": "宝藏学徒      "
       },
       "description": [
-        {"text": "在月夜狩猎小游戏中击杀 16 只幻翼\n", "color":"gray"},
+        {"text": "在遗迹寻宝中收集 4 处宝藏\n", "color":"gray"},
         {"text": "奖励: ","color":"green"},
-        {"text": "4 金粒","color":"white"}
+        {"text": "1 绿宝石","color":"white"}
       ],
       "frame": "task",
       "show_toast": true,

+ 33 - 0
data/ltw/advancements/parkour/treasure2.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:parkour/treasure1",
+    "display": {
+      "icon": {
+        "item": "minecraft:chest"
+      },
+      "title": {
+        "text": "宝藏大师      "
+      },
+      "description": [
+        {"text": "在遗迹寻宝中收集 7 处宝藏\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "2 绿宝石","color":"white"}
+      ],
+      "frame": "task",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_2"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 33 - 0
data/ltw/advancements/parkour/treasure3.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:parkour/treasure2",
+    "display": {
+      "icon": {
+        "item": "minecraft:ender_chest"
+      },
+      "title": {
+        "text": "不做选择题    "
+      },
+      "description": [
+        {"text": "在遗迹寻宝中收集全部宝藏\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "3 绿宝石","color":"white"}
+      ],
+      "frame": "challenge",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_3"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 0 - 28
data/ltw/advancements/parkour/treasure_1.json

@@ -1,28 +0,0 @@
-{
-    "parent": "ltw:parkour/root",
-    "display": {
-      "icon": {
-        "item": "minecraft:iron_ingot"
-      },
-      "title": {
-        "text": "寻宝学徒"
-      },
-      "description": [
-        {"text": "在遗迹寻宝小游戏中收集 4 处宝藏", "color":"gray"}
-      ],
-      "frame": "task",
-      "show_toast": true,
-      "announce_to_chat": true,
-      "hidden": false
-    },
-    "criteria": {
-      "get_score":{
-          "trigger": "minecraft:impossible"
-      }
-    },
-    "requirements": [
-      [
-          "get_score"
-      ]
-    ]
-  }

+ 28 - 0
data/ltw/advancements/story/root.json

@@ -0,0 +1,28 @@
+{
+    "display": {
+      "icon": {
+        "item": "minecraft:flower_banner_pattern"
+      },
+      "title": {
+        "text":"履历"
+      },
+      "description": [
+        {"text": "", "color":"gray"}
+      ],
+      "frame": "task",
+      "show_toast": false,
+      "announce_to_chat": false,
+      "hidden": false,
+      "background": "minecraft:textures/gui/advancements/backgrounds/adventure.png"
+    },
+    "criteria": {
+      "root": {
+        "trigger": "minecraft:location"
+      }
+    },
+    "requirements": [
+      [
+        "root"
+      ]
+    ]
+  }

+ 33 - 0
data/ltw/advancements/story/score1.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:story/root",
+    "display": {
+      "icon": {
+        "item": "minecraft:paper"
+      },
+      "title": {
+        "text": "两位数的突破  "
+      },
+      "description": [
+        {"text": "在单局游戏中达到 10 分\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "1 绿宝石","color":"white"}
+      ],
+      "frame": "task",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_1"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 33 - 0
data/ltw/advancements/story/score2.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:story/score1",
+    "display": {
+      "icon": {
+        "item": "minecraft:map"
+      },
+      "title": {
+        "text": "分数猎手      "
+      },
+      "description": [
+        {"text": "在单局游戏中达到 18 分\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "2 绿宝石","color":"white"}
+      ],
+      "frame": "task",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_2"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 33 - 0
data/ltw/advancements/story/score3.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:story/score2",
+    "display": {
+      "icon": {
+        "item": "minecraft:nether_star"
+      },
+      "title": {
+        "text": "分数满屋      "
+      },
+      "description": [
+        {"text": "在单局游戏中达到 26 分\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "3 绿宝石","color":"white"}
+      ],
+      "frame": "challenge",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_3"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 33 - 0
data/ltw/advancements/story/total1.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:story/root",
+    "display": {
+      "icon": {
+        "item": "minecraft:pufferfish"
+      },
+      "title": {
+        "text": "初窥门径      "
+      },
+      "description": [
+        {"text": "进行 5 场游戏\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "1 绿宝石","color":"white"}
+      ],
+      "frame": "task",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_1"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 33 - 0
data/ltw/advancements/story/total2.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:story/total1",
+    "display": {
+      "icon": {
+        "item": "minecraft:melon_slice"
+      },
+      "title": {
+        "text": "驾轻就熟      "
+      },
+      "description": [
+        {"text": "进行 20 场游戏\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "2 绿宝石","color":"white"}
+      ],
+      "frame": "task",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_2"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 33 - 0
data/ltw/advancements/story/total3.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:story/total2",
+    "display": {
+      "icon": {
+        "item": "minecraft:sweet_berries"
+      },
+      "title": {
+        "text": "声名远扬      "
+      },
+      "description": [
+        {"text": "进行 50 场游戏\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "4 绿宝石","color":"white"}
+      ],
+      "frame": "challenge",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_4"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 7 - 7
data/ltw/advancements/parkour/explore_2.json → data/ltw/advancements/story/win1.json

@@ -1,16 +1,16 @@
 {
-    "parent": "ltw:parkour/explore_1",
+    "parent": "ltw:story/root",
     "display": {
       "icon": {
-        "item": "minecraft:diamond_boots"
+        "item": "minecraft:apple"
       },
       "title": {
-        "text": "探索老手"
+        "text": "初尝胜果      "
       },
       "description": [
-        {"text": "完成等待大厅的跑酷\n", "color":"gray"},
+        {"text": "获得 1 场游戏的胜利\n", "color":"gray"},
         {"text": "奖励: ","color":"green"},
-        {"text": "4 金粒","color":"white"}
+        {"text": "1 绿宝石","color":"white"}
       ],
       "frame": "task",
       "show_toast": true,
@@ -21,13 +21,13 @@
       "function": "ltw:advancement/bonus_1"
     },
     "criteria": {
-      "finish":{
+      "get_score":{
           "trigger": "minecraft:impossible"
       }
     },
     "requirements": [
       [
-          "finish"
+          "get_score"
       ]
     ]
   }

+ 33 - 0
data/ltw/advancements/story/win2.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:story/win1",
+    "display": {
+      "icon": {
+        "item": "minecraft:golden_apple"
+      },
+      "title": {
+        "text": "常胜将军      "
+      },
+      "description": [
+        {"text": "获得 5 场游戏的胜利\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "2 绿宝石","color":"white"}
+      ],
+      "frame": "task",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_2"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 33 - 0
data/ltw/advancements/story/win3.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:story/win2",
+    "display": {
+      "icon": {
+        "item": "minecraft:enchanted_golden_apple"
+      },
+      "title": {
+        "text": "弱者为何要战斗"
+      },
+      "description": [
+        {"text": "获得 20 场游戏的胜利\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "4 绿宝石","color":"white"}
+      ],
+      "frame": "challenge",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_4"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 40 - 0
data/ltw/advancements/vs/diamond1.json

@@ -0,0 +1,40 @@
+{
+    "parent": "ltw:vs/root",
+    "display": {
+      "icon": {
+        "item": "minecraft:obsidian"
+      },
+      "title": {
+        "text": "冰桶挑战      "
+      },
+      "description": [
+        {"text": "挖掘一块黑曜石\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "2 绿宝石","color":"white"}
+      ],
+      "frame": "task",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_2"
+    },
+    "criteria": {
+        "obsidian": {
+          "trigger": "minecraft:inventory_changed",
+          "conditions": {
+            "items": [
+              {
+                "item": "minecraft:obsidian"
+              }
+            ]
+          }
+        }
+    },
+    "requirements": [
+        [
+          "obsidian"
+        ]
+    ]
+}

+ 40 - 0
data/ltw/advancements/vs/diamond2.json

@@ -0,0 +1,40 @@
+{
+    "parent": "ltw:vs/diamond1",
+    "display": {
+      "icon": {
+        "item": "minecraft:enchanting_table"
+      },
+      "title": {
+        "text": "附魔师?!    "
+      },
+      "description": [
+        {"text": "制作一个附魔台\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "4 绿宝石","color":"white"}
+      ],
+      "frame": "challenge",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_4"
+    },
+    "criteria": {
+        "c": {
+          "trigger": "minecraft:inventory_changed",
+          "conditions": {
+            "items": [
+              {
+                "item": "minecraft:enchanting_table"
+              }
+            ]
+          }
+        }
+    },
+    "requirements": [
+        [
+          "c"
+        ]
+    ]
+}

+ 33 - 0
data/ltw/advancements/vs/potato2.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:vs/root",
+    "display": {
+      "icon": {
+        "item": "minecraft:tnt"
+      },
+      "title": {
+        "text": "炸弹人        "
+      },
+      "description": [
+        {"text": "在炸弹狂魔中获胜, 且剩余 2 心或更多的生命值\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "2 绿宝石","color":"white"}
+      ],
+      "frame": "task",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_2"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 33 - 0
data/ltw/advancements/vs/potato3.json

@@ -0,0 +1,33 @@
+{
+    "parent": "ltw:vs/potato2",
+    "display": {
+      "icon": {
+        "item": "minecraft:enchanted_golden_apple"
+      },
+      "title": {
+        "text": "君临天下      "
+      },
+      "description": [
+        {"text": "在炸弹狂魔中获胜, 且剩余 5 心或更多的生命值\n", "color":"gray"},
+        {"text": "奖励: ","color":"green"},
+        {"text": "3 绿宝石","color":"white"}
+      ],
+      "frame": "challenge",
+      "show_toast": true,
+      "announce_to_chat": true,
+      "hidden": false
+    },
+    "rewards": {
+      "function": "ltw:advancement/bonus_3"
+    },
+    "criteria": {
+      "get_score":{
+          "trigger": "minecraft:impossible"
+      }
+    },
+    "requirements": [
+      [
+          "get_score"
+      ]
+    ]
+  }

+ 28 - 0
data/ltw/advancements/vs/root.json

@@ -0,0 +1,28 @@
+{
+    "display": {
+      "icon": {
+        "item": "minecraft:wooden_axe"
+      },
+      "title": {
+        "text":"竞技"
+      },
+      "description": [
+        {"text": "", "color":"gray"}
+      ],
+      "frame": "task",
+      "show_toast": false,
+      "announce_to_chat": false,
+      "hidden": false,
+      "background": "minecraft:textures/gui/advancements/backgrounds/adventure.png"
+    },
+    "criteria": {
+      "root": {
+        "trigger": "minecraft:location"
+      }
+    },
+    "requirements": [
+      [
+        "root"
+      ]
+    ]
+  }

Неке датотеке нису приказане због велике количине промена