diff --git a/README.md b/README.md index aba379d..5702166 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,29 @@ -# FZ-sDataPack -A Minecraft Datapack -#### @Author: Harveykang - -#### This project is licensed under the terms of the GNU General Public License v3.0. -#### Copyright (C)2019-2020 Harvey.Kang - -#### v2.0.0 -- 重写 -- 支持Minecraft1.16.x -- 抬头并按一下shift来打开设置界面 -- tagplayer.sc包含在压缩包中啦,把它放在world/scripts中然后“/reload”! - - 使用/tagplayer 命令生成假人可以避免假人被数据包提供的记分板捕捉到~ - - tagplayer现在需要地毯mod1.4.18或以上版本来运行 -##### - v2.0.0.3 - - tagplayer需要地毯mod1.4.18或以上版本来运行 - - 优化了tagplayer体验及修复若干bug -##### - v2.0.0.4 - - 添加彩色字体 +# FZ-sDataPack +A Minecraft Datapack +#### @Author: Harveykang + +#### This project is licensed under the terms of the GNU General Public License v3.0. +#### Copyright (C)2019-2020 Harvey.Kang + +#### v2.0.0 +- 重写 +- 支持Minecraft1.16.x +- 抬头并按一下shift来打开设置界面 +- 压缩包中的tagplayer.sc + - 把它放在world/scripts中然后“/reload”! + - 使用/tagplayer 命令生成假人可以避免假人被数据包提供的记分板捕捉到~ + - tagplayer现在需要地毯mod1.4.18或以上版本来运行 +- 压缩包中的restore_scores.sc工具可以恢复或从1.0版本升级记分板~ + - 把它放在world/scripts中然后“/reload” + - *该工具会先删除旧的记分板* + - 输入“/restore_scores by_whitelist”恢复白名单内的玩家的记分板 +##### - v2.0.0.5 + - 修复挖掘榜部分工具不起作用的bug + - 添加restore_scores.sc工具便于恢复或从1.0版本升级记分板 +##### - v2.0.0.4 + - 添加彩色字体 +##### - v2.0.0.3 + - tagplayer需要地毯mod1.4.18或以上版本来运行 + - 优化了tagplayer体验及修复若干bug +##### - v2.0.0.2 + - 重写 \ No newline at end of file diff --git a/data/fz/advancements/leavegame.json b/data/fz/advancements/leavegame.json index 9dad5f8..bcc6f32 100644 --- a/data/fz/advancements/leavegame.json +++ b/data/fz/advancements/leavegame.json @@ -15,7 +15,7 @@ "max": 0 } } - } + } } ] } diff --git a/data/fz/advancements/scoreboards/digcounter/digtrigger.json b/data/fz/advancements/scoreboards/digcounter/digtrigger.json index c5484a2..80a294a 100644 --- a/data/fz/advancements/scoreboards/digcounter/digtrigger.json +++ b/data/fz/advancements/scoreboards/digcounter/digtrigger.json @@ -16,7 +16,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedWooPickaxe": { @@ -25,7 +26,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedWooHoe": { @@ -34,7 +36,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedWooAxe": { @@ -43,7 +46,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedStoShovel": { @@ -52,7 +56,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedStoPickaxe": { @@ -61,7 +66,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedStoHoe": { @@ -70,7 +76,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedStoAxe": { @@ -79,7 +86,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedNetShovel": { @@ -88,7 +96,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedNetPickaxe": { @@ -97,7 +106,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedNetHoe": { @@ -106,7 +116,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedNetAxe": { @@ -115,7 +126,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedIroShovel": { @@ -124,7 +136,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedIroPickaxe": { @@ -133,7 +146,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedIroHoe": { @@ -142,7 +156,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedIroAxe": { @@ -151,7 +166,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedGolShovel": { @@ -160,7 +176,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedGolPickaxe": { @@ -169,7 +186,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedDiaHoe": { @@ -178,7 +196,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedGolAxe": { @@ -187,7 +206,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedDiaShovel": { @@ -196,7 +216,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedDiaPickaxe": { @@ -205,7 +226,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedDiaHoe": { @@ -214,7 +236,8 @@ } }, "entity": "this" - },{ + }, + { "condition": "minecraft:entity_scores", "scores": { "usedDiaAxe": { @@ -223,6 +246,16 @@ } }, "entity": "this" + }, + { + "condition": "minecraft:entity_scores", + "scores": { + "usedShears": { + "min": 1, + "max": 2147483647 + } + }, + "entity": "this" } ] } diff --git a/data/fz/advancements/scoreboards/digcounter/toolsfix.json b/data/fz/advancements/scoreboards/digcounter/toolsfix.json index fce956d..80ec234 100644 --- a/data/fz/advancements/scoreboards/digcounter/toolsfix.json +++ b/data/fz/advancements/scoreboards/digcounter/toolsfix.json @@ -13,57 +13,62 @@ "predicate": { "equipment": { "mainhand": { - "item": "minecraft:diamond_axe" + "item": "minecraft:diamond_axe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:iron_axe" + "item": "minecraft:iron_axe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:stone_axe" + "item": "minecraft:stone_axe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:wooden_axe" + "item": "minecraft:wooden_axe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:golden_axe" + "item": "minecraft:golden_axe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:netherite_axe" + "item": "minecraft:netherite_axe" } } } @@ -86,57 +91,62 @@ "predicate": { "equipment": { "mainhand": { - "item": "minecraft:diamond_axe" + "item": "minecraft:diamond_axe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:iron_axe" + "item": "minecraft:iron_axe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:stone_axe" + "item": "minecraft:stone_axe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:wooden_axe" + "item": "minecraft:wooden_axe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:golden_axe" + "item": "minecraft:golden_axe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:netherite_axe" + "item": "minecraft:netherite_axe" } } } @@ -145,7 +155,8 @@ } ] } - },"used_shovel_on_block": { + }, + "used_shovel_on_block": { "trigger": "minecraft:item_used_on_block", "conditions": { "player": [ @@ -158,57 +169,62 @@ "predicate": { "equipment": { "mainhand": { - "item": "minecraft:diamond_shovel" + "item": "minecraft:diamond_shovel" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:iron_shovel" + "item": "minecraft:iron_shovel" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:stone_shovel" + "item": "minecraft:stone_shovel" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:wooden_shovel" + "item": "minecraft:wooden_shovel" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:golden_shovel" + "item": "minecraft:golden_shovel" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:netherite_shovel" + "item": "minecraft:netherite_shovel" } } } @@ -231,57 +247,62 @@ "predicate": { "equipment": { "mainhand": { - "item": "minecraft:diamond_shovel" + "item": "minecraft:diamond_shovel" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:iron_shovel" + "item": "minecraft:iron_shovel" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:stone_shovel" + "item": "minecraft:stone_shovel" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:wooden_shovel" + "item": "minecraft:wooden_shovel" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:golden_shovel" + "item": "minecraft:golden_shovel" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:netherite_shovel" + "item": "minecraft:netherite_shovel" } } } @@ -290,7 +311,8 @@ } ] } - },"used_hoe_on_block": { + }, + "used_hoe_on_block": { "trigger": "minecraft:item_used_on_block", "conditions": { "player": [ @@ -303,57 +325,62 @@ "predicate": { "equipment": { "mainhand": { - "item": "minecraft:diamond_hoe" + "item": "minecraft:diamond_hoe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:iron_hoe" + "item": "minecraft:iron_hoe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:stone_hoe" + "item": "minecraft:stone_hoe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:wooden_hoe" + "item": "minecraft:wooden_hoe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:golden_hoe" + "item": "minecraft:golden_hoe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:netherite_hoe" + "item": "minecraft:netherite_hoe" } } } @@ -376,57 +403,62 @@ "predicate": { "equipment": { "mainhand": { - "item": "minecraft:diamond_hoe" + "item": "minecraft:diamond_hoe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:iron_hoe" + "item": "minecraft:iron_hoe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:stone_hoe" + "item": "minecraft:stone_hoe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:wooden_hoe" + "item": "minecraft:wooden_hoe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:golden_hoe" + "item": "minecraft:golden_hoe" } } } - },{ + }, + { "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "equipment": { "mainhand": { - "item": "minecraft:netherite_hoe" + "item": "minecraft:netherite_hoe" } } } diff --git a/data/fz/advancements/scoreboards/killcounter.json b/data/fz/advancements/scoreboards/killcounter.json index 026fe82..7bf3eeb 100644 --- a/data/fz/advancements/scoreboards/killcounter.json +++ b/data/fz/advancements/scoreboards/killcounter.json @@ -11,8 +11,8 @@ "entity": "this", "scores": { "carpetBot": { - "max":1, - "min":1 + "max": 1, + "min": 1 } } } diff --git a/data/fz/advancements/scoreboards/tradingcounter.json b/data/fz/advancements/scoreboards/tradingcounter.json index b16ad4d..e362658 100644 --- a/data/fz/advancements/scoreboards/tradingcounter.json +++ b/data/fz/advancements/scoreboards/tradingcounter.json @@ -11,8 +11,8 @@ "entity": "this", "scores": { "carpetBot": { - "max":1, - "min":1 + "max": 1, + "min": 1 } } } diff --git a/data/fz/functions/config/timeout.mcfunction b/data/fz/functions/config/timeout.mcfunction index 45b9a51..82b3025 100644 --- a/data/fz/functions/config/timeout.mcfunction +++ b/data/fz/functions/config/timeout.mcfunction @@ -1,7 +1,7 @@ #关闭主进程 schedule clear fz:config/main #输出给打开过设置界面的玩家的消息 -tellraw @a[scores={openingConfig=1}] {"text": "[提醒]5分钟无任何人回应,为节省性能,已关闭设置功能,请重新唤起","color": "#d7ff00"} +tellraw @a[scores={openingConfig=1}] {"text": "[提醒]5分钟无任何人回应,为节省性能,已关闭设置功能,请重新唤起","color": "#66ffff"} #重置打开过设置界面的玩家的列表 scoreboard objectives remove openingConfig #移除设置界面被打开的信息 diff --git a/data/fz/functions/install.mcfunction b/data/fz/functions/install.mcfunction index 3f3a49e..06374f4 100644 --- a/data/fz/functions/install.mcfunction +++ b/data/fz/functions/install.mcfunction @@ -1,3 +1,4 @@ + #用于储存参数的记分板 scoreboard objectives add parameter dummy #用于数学计算的记分板 @@ -15,11 +16,12 @@ function fz:login/logintips/install function fz:carpet/carpet #版本信息 data merge storage fz.installed {installed:1b} -data merge storage fz {version:Alpha-2.0.0.4} -data merge storage fz {date:2020-12.25} -data merge storage fz {time:"07:01"} +data merge storage fz {version:Beta-2.0.0.5} +data merge storage fz {date:2020-12.7} +data merge storage fz {time:"04:06"} data merge storage fz {snapshot:-SNAPSHOT} ##data remove storage fz snapshot +tellraw @a {"text": "[信息]启动完毕","color": "#5fff00"} #提示已安装 tellraw @a {"text": "[信息]安装完成!","color": "#5fff00"} #info: #5fff00 diff --git a/data/fz/functions/load.mcfunction b/data/fz/functions/load.mcfunction index 8ebf929..fc76b05 100644 --- a/data/fz/functions/load.mcfunction +++ b/data/fz/functions/load.mcfunction @@ -1,8 +1,8 @@ #如果未安装且未卸载则安装 execute unless data storage fz.installed {installed:1b} unless data storage fz.installed {installed:0b} run function fz:install #如果版本正确且已安装则开始运行 -execute if data storage fz {version:Alpha-2.0.0.4} if data storage fz.installed {installed:1b} run function fz:start +execute if data storage fz {version:Alpha-2.0.0.5} if data storage fz.installed {installed:1b} run function fz:start #如果版本不符则更新 -execute unless data storage fz {version:Alpha-2.0.0.4} run function fz:update +execute unless data storage fz {version:Alpha-2.0.0.5} run function fz:update #输出版本信息 tellraw @a [{"text": "[版本信息]FZ's Datapack-","color": "#ffd900"},{"nbt":"version","storage":"fz","color": "#ffd900"},{"nbt": "snapshot", "storage": "fz","color": "red"}] \ No newline at end of file diff --git a/data/fz/functions/login/onlogin.mcfunction b/data/fz/functions/login/onlogin.mcfunction index 5ea633e..9897dba 100644 --- a/data/fz/functions/login/onlogin.mcfunction +++ b/data/fz/functions/login/onlogin.mcfunction @@ -1,4 +1,4 @@ -execute if data storage fz.installed {logintips:1b} run tellraw @s {"text": "[提醒]站在地面,抬头并按一下shift即可打开设置页面","color": "#d7ff00"} +execute if data storage fz.installed {logintips:1b} run tellraw @s {"text": "[提醒]站在地面,抬头并按一下shift即可打开设置页面","color": "#66ffff"} scoreboard players set @s leaveGame 0 diff --git a/data/fz/functions/scoreboards/digcounter/digtrigger.mcfunction b/data/fz/functions/scoreboards/digcounter/digtrigger.mcfunction index c982fb3..5092f28 100644 --- a/data/fz/functions/scoreboards/digcounter/digtrigger.mcfunction +++ b/data/fz/functions/scoreboards/digcounter/digtrigger.mcfunction @@ -24,5 +24,6 @@ execute if score @s usedWooAxe matches 1.. run function fz:scoreboards/digcounte execute if score @s usedWooHoe matches 1.. run function fz:scoreboards/digcounter/tools/woohoe execute if score @s usedWooPickaxe matches 1.. run function fz:scoreboards/digcounter/tools/woopickaxe execute if score @s usedWooShovel matches 1.. run function fz:scoreboards/digcounter/tools/wooshovel +execute if score @s usedShears matches 1.. run function fz:scoreboards/digcounter/tools/shears #重置探测使用工具的记分板的成就 advancement revoke @s only fz:scoreboards/digcounter/digtrigger \ No newline at end of file diff --git a/data/fz/functions/scoreboards/digcounter/tools/netaxe.mcfunction b/data/fz/functions/scoreboards/digcounter/tools/netaxe.mcfunction index b22dcec..300d5fe 100644 --- a/data/fz/functions/scoreboards/digcounter/tools/netaxe.mcfunction +++ b/data/fz/functions/scoreboards/digcounter/tools/netaxe.mcfunction @@ -1,6 +1,6 @@ #计算挖掘榜和总榜 #判断条件用于排除地毯小人 -execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedStoShovel -execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 digCounter += @s usedStoShovel -execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 totalList += @s usedStoShovel +execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedNetAxe +execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 digCounter += @s usedNetAxe +execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 totalList += @s usedNetAxe scoreboard players reset @s usedNetAxe \ No newline at end of file diff --git a/data/fz/functions/scoreboards/digcounter/tools/nethoe.mcfunction b/data/fz/functions/scoreboards/digcounter/tools/nethoe.mcfunction index 229a9f7..544a35a 100644 --- a/data/fz/functions/scoreboards/digcounter/tools/nethoe.mcfunction +++ b/data/fz/functions/scoreboards/digcounter/tools/nethoe.mcfunction @@ -1,6 +1,6 @@ #计算挖掘榜和总榜 #判断条件用于排除地毯小人 -execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedNetPickaxe -execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 digCounter += @s usedNetPickaxe -execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 totalList += @s usedNetPickaxe +execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedNetHoe +execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 digCounter += @s usedNetHoe +execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 totalList += @s usedNetHoe scoreboard players reset @s usedNetHoe \ No newline at end of file diff --git a/data/fz/functions/scoreboards/digcounter/tools/netpickaxe.mcfunction b/data/fz/functions/scoreboards/digcounter/tools/netpickaxe.mcfunction index 3667b30..5a0fce4 100644 --- a/data/fz/functions/scoreboards/digcounter/tools/netpickaxe.mcfunction +++ b/data/fz/functions/scoreboards/digcounter/tools/netpickaxe.mcfunction @@ -1,6 +1,6 @@ #计算挖掘榜和总榜 #判断条件用于排除地毯小人 -execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedNetHoe -execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 digCounter += @s usedNetHoe -execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 totalList += @s usedNetHoe +execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedNetPickaxe +execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 digCounter += @s usedNetPickaxe +execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 totalList += @s usedNetPickaxe scoreboard players reset @s usedNetPickaxe \ No newline at end of file diff --git a/data/fz/functions/scoreboards/digcounter/tools/shears.mcfunction b/data/fz/functions/scoreboards/digcounter/tools/shears.mcfunction new file mode 100644 index 0000000..eec6202 --- /dev/null +++ b/data/fz/functions/scoreboards/digcounter/tools/shears.mcfunction @@ -0,0 +1,6 @@ +#计算挖掘榜和总榜 +#判断条件用于排除地毯小人 +execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedShears +execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 digCounter += @s usedShears +execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 totalList += @s usedShears +scoreboard players reset @s usedShears \ No newline at end of file diff --git a/data/fz/functions/scoreboards/digcounter/tools/stoshovel.mcfunction b/data/fz/functions/scoreboards/digcounter/tools/stoshovel.mcfunction index 2d22f6b..8791b85 100644 --- a/data/fz/functions/scoreboards/digcounter/tools/stoshovel.mcfunction +++ b/data/fz/functions/scoreboards/digcounter/tools/stoshovel.mcfunction @@ -1,6 +1,6 @@ #计算挖掘榜和总榜 #判断条件用于排除地毯小人 -execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedNetAxe -execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 digCounter += @s usedNetAxe -execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 totalList += @s usedNetAxe +execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedStoShovel +execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 digCounter += @s usedStoShovel +execute unless score @s carpetBot matches 1 run scoreboard players operation 总挖掘量 totalList += @s usedStoShovel scoreboard players reset @s usedStoShovel \ No newline at end of file diff --git a/data/fz/functions/scoreboards/digcounter/toolsfix.mcfunction b/data/fz/functions/scoreboards/digcounter/toolsfix.mcfunction index 8006949..64ad2f5 100644 --- a/data/fz/functions/scoreboards/digcounter/toolsfix.mcfunction +++ b/data/fz/functions/scoreboards/digcounter/toolsfix.mcfunction @@ -4,4 +4,4 @@ execute unless score @s carpetBot matches 1 run scoreboard players remove @s dig execute unless score @s carpetBot matches 1 run scoreboard players remove 总挖掘量 digCounter 1 execute unless score @s carpetBot matches 1 run scoreboard players remove 总挖掘量 totalList 1 #重置探测右键使用工具的成就 -advancement revoke 2333 only fz:scoreboards/digcounter/toolsfix \ No newline at end of file +advancement revoke @s only fz:scoreboards/digcounter/toolsfix \ No newline at end of file diff --git a/data/fz/functions/scoreboards/install.mcfunction b/data/fz/functions/scoreboards/install.mcfunction index c7684f3..876e308 100644 --- a/data/fz/functions/scoreboards/install.mcfunction +++ b/data/fz/functions/scoreboards/install.mcfunction @@ -27,6 +27,7 @@ scoreboard objectives add digCounter dummy scoreboard objectives add usedNetPickaxe minecraft.used:minecraft.netherite_pickaxe scoreboard objectives add usedNetShovel minecraft.used:minecraft.netherite_shovel scoreboard objectives add usedNetHoe minecraft.used:minecraft.netherite_hoe + scoreboard objectives add usedShears minecraft.used:minecraft.shears scoreboard objectives add deathCounter dummy scoreboard objectives add deathTester deathCount scoreboard objectives add tradingCounter dummy diff --git a/data/fz/functions/sweeper/timer/10s.mcfunction b/data/fz/functions/sweeper/timer/10s.mcfunction index 8fa9769..76b7a66 100644 --- a/data/fz/functions/sweeper/timer/10s.mcfunction +++ b/data/fz/functions/sweeper/timer/10s.mcfunction @@ -1,3 +1,3 @@ -tellraw @a {"text": "[提醒]10s后清理掉落物","color": "#d7ff00"} +tellraw @a {"text": "[提醒]10s后清理掉落物","color": "#66ffff"} execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1 schedule function fz:sweeper/timer/5s 5s \ No newline at end of file diff --git a/data/fz/functions/sweeper/timer/1min.mcfunction b/data/fz/functions/sweeper/timer/1min.mcfunction index 30e94e1..acedf5d 100644 --- a/data/fz/functions/sweeper/timer/1min.mcfunction +++ b/data/fz/functions/sweeper/timer/1min.mcfunction @@ -1,3 +1,3 @@ -tellraw @a {"text": "[提醒]1min后清理掉落物","color": "#d7ff00"} +tellraw @a {"text": "[提醒]1min后清理掉落物","color": "#66ffff"} execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1 schedule function fz:sweeper/timer/30s 30s \ No newline at end of file diff --git a/data/fz/functions/sweeper/timer/1s.mcfunction b/data/fz/functions/sweeper/timer/1s.mcfunction index 2572066..25b0bb8 100644 --- a/data/fz/functions/sweeper/timer/1s.mcfunction +++ b/data/fz/functions/sweeper/timer/1s.mcfunction @@ -1,3 +1,3 @@ -tellraw @a {"text": "[提醒]1s后清理掉落物","color": "#d7ff00"} +tellraw @a {"text": "[提醒]1s后清理掉落物","color": "#66ffff"} execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1 schedule function fz:sweeper/main 1s \ No newline at end of file diff --git a/data/fz/functions/sweeper/timer/2min.mcfunction b/data/fz/functions/sweeper/timer/2min.mcfunction index 116c3c4..59af305 100644 --- a/data/fz/functions/sweeper/timer/2min.mcfunction +++ b/data/fz/functions/sweeper/timer/2min.mcfunction @@ -1,3 +1,3 @@ -tellraw @a {"text": "[提醒]2min后清理掉落物","color": "#d7ff00"} +tellraw @a {"text": "[提醒]2min后清理掉落物","color": "#66ffff"} execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1 schedule function fz:sweeper/timer/1min 60s \ No newline at end of file diff --git a/data/fz/functions/sweeper/timer/2s.mcfunction b/data/fz/functions/sweeper/timer/2s.mcfunction index a16aba1..b7373a5 100644 --- a/data/fz/functions/sweeper/timer/2s.mcfunction +++ b/data/fz/functions/sweeper/timer/2s.mcfunction @@ -1,3 +1,3 @@ -tellraw @a {"text": "[提醒]2s后清理掉落物","color": "#d7ff00"} +tellraw @a {"text": "[提醒]2s后清理掉落物","color": "#66ffff"} execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1 schedule function fz:sweeper/timer/1s 1s \ No newline at end of file diff --git a/data/fz/functions/sweeper/timer/30s.mcfunction b/data/fz/functions/sweeper/timer/30s.mcfunction index 658dc72..49b9833 100644 --- a/data/fz/functions/sweeper/timer/30s.mcfunction +++ b/data/fz/functions/sweeper/timer/30s.mcfunction @@ -1,3 +1,3 @@ -tellraw @a {"text": "[提醒]30s后清理掉落物","color": "#d7ff00"} +tellraw @a {"text": "[提醒]30s后清理掉落物","color": "#66ffff"} execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1 schedule function fz:sweeper/timer/10s 20s \ No newline at end of file diff --git a/data/fz/functions/sweeper/timer/3min.mcfunction b/data/fz/functions/sweeper/timer/3min.mcfunction index 122a57c..479ebef 100644 --- a/data/fz/functions/sweeper/timer/3min.mcfunction +++ b/data/fz/functions/sweeper/timer/3min.mcfunction @@ -1,3 +1,3 @@ -tellraw @a {"text": "[提醒]3min后清理掉落物","color": "#d7ff00"} +tellraw @a {"text": "[提醒]3min后清理掉落物","color": "#66ffff"} execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1 schedule function fz:sweeper/timer/2min 60s \ No newline at end of file diff --git a/data/fz/functions/sweeper/timer/3s.mcfunction b/data/fz/functions/sweeper/timer/3s.mcfunction index 5a770b9..c3ae203 100644 --- a/data/fz/functions/sweeper/timer/3s.mcfunction +++ b/data/fz/functions/sweeper/timer/3s.mcfunction @@ -1,3 +1,3 @@ -tellraw @a {"text": "[提醒]3s后清理掉落物","color": "#d7ff00"} +tellraw @a {"text": "[提醒]3s后清理掉落物","color": "#66ffff"} execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1 schedule function fz:sweeper/timer/2s 1s \ No newline at end of file diff --git a/data/fz/functions/sweeper/timer/4min.mcfunction b/data/fz/functions/sweeper/timer/4min.mcfunction index 93540cf..9afc72a 100644 --- a/data/fz/functions/sweeper/timer/4min.mcfunction +++ b/data/fz/functions/sweeper/timer/4min.mcfunction @@ -1,3 +1,3 @@ -tellraw @a {"text": "[提醒]4min后清理掉落物","color": "#d7ff00"} +tellraw @a {"text": "[提醒]4min后清理掉落物","color": "#66ffff"} execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1 schedule function fz:sweeper/timer/3min 60s \ No newline at end of file diff --git a/data/fz/functions/sweeper/timer/4s.mcfunction b/data/fz/functions/sweeper/timer/4s.mcfunction index dc94b8e..1358c98 100644 --- a/data/fz/functions/sweeper/timer/4s.mcfunction +++ b/data/fz/functions/sweeper/timer/4s.mcfunction @@ -1,3 +1,3 @@ -tellraw @a {"text": "[提醒]4s后清理掉落物","color": "#d7ff00"} +tellraw @a {"text": "[提醒]4s后清理掉落物","color": "#66ffff"} execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1 schedule function fz:sweeper/timer/3s 1s \ No newline at end of file diff --git a/data/fz/functions/sweeper/timer/5s.mcfunction b/data/fz/functions/sweeper/timer/5s.mcfunction index 4ce3392..bbc5e1b 100644 --- a/data/fz/functions/sweeper/timer/5s.mcfunction +++ b/data/fz/functions/sweeper/timer/5s.mcfunction @@ -1,3 +1,3 @@ -tellraw @a {"text": "[提醒]5s后清理掉落物","color": "#d7ff00"} +tellraw @a {"text": "[提醒]5s后清理掉落物","color": "#66ffff"} execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1 schedule function fz:sweeper/timer/4s 1s \ No newline at end of file diff --git a/restore_scores.sc b/restore_scores.sc new file mode 100644 index 0000000..8adaf53 --- /dev/null +++ b/restore_scores.sc @@ -0,0 +1,201 @@ +__config() -> { + 'scope' -> 'global' +}; +__command() -> 'root command'; +global_bl = l('stone', 'granite', 'polished_granite', 'diorite', 'polished_diorite', 'andesite', 'polished_andesite', 'grass_block', + 'dirt', 'coarse_dirt', 'podzol', 'crimson_nylium', 'warped_nylium', 'cobblestone', 'oak_planks', 'spruce_planks', 'birch_planks', + 'jungle_planks', 'acacia_planks', 'dark_oak_planks', 'crimson_planks', 'warped_planks', 'sand', 'red_sand', 'gravel', 'gold_ore', + 'iron_ore', 'coal_ore', 'nether_gold_ore', 'oak_log', 'spruce_log', 'birch_log', 'jungle_log', 'acacia_log', 'dark_oak_log', + 'crimson_stem', 'warped_stem', 'stripped_oak_log', 'stripped_spruce_log', 'stripped_birch_log', 'stripped_jungle_log', + 'stripped_acacia_log', 'stripped_dark_oak_log', 'stripped_crimson_stem', 'stripped_warped_stem', 'stripped_oak_wood', + 'stripped_spruce_wood', 'stripped_birch_wood', 'stripped_jungle_wood', 'stripped_acacia_wood', 'stripped_dark_oak_wood', + 'stripped_crimson_hyphae', 'stripped_warped_hyphae', 'oak_wood', 'spruce_wood', 'birch_wood', 'jungle_wood', 'acacia_wood', + 'dark_oak_wood', 'crimson_hyphae', 'warped_hyphae', 'sponge', 'wet_sponge', 'glass', 'lapis_ore', 'lapis_block', 'sandstone', + 'chiseled_sandstone', 'cut_sandstone', 'white_wool', 'orange_wool', 'magenta_wool', 'light_blue_wool', 'yellow_wool', + 'lime_wool', 'pink_wool', 'gray_wool', 'light_gray_wool', 'cyan_wool', 'purple_wool', 'blue_wool', 'brown_wool', 'green_wool', + 'red_wool', 'black_wool', 'gold_block', 'iron_block', 'oak_slab', 'spruce_slab', 'birch_slab', 'jungle_slab', 'acacia_slab', + 'dark_oak_slab', 'crimson_slab', 'warped_slab', 'stone_slab', 'smooth_stone_slab', 'sandstone_slab', 'cut_sandstone_slab', + 'petrified_oak_slab', 'cobblestone_slab', 'brick_slab', 'stone_brick_slab', 'nether_brick_slab', 'quartz_slab', + 'red_sandstone_slab', 'cut_red_sandstone_slab', 'purpur_slab', 'prismarine_slab', 'prismarine_brick_slab', + 'dark_prismarine_slab', 'smooth_quartz', 'smooth_red_sandstone', 'smooth_sandstone', 'smooth_stone', 'bricks', 'bookshelf', + 'mossy_cobblestone', 'obsidian', 'purpur_block', 'purpur_pillar', 'purpur_stairs', 'oak_stairs', 'diamond_ore', 'diamond_block', + 'cobblestone_stairs', 'redstone_ore', 'ice', 'snow_block', 'clay', 'pumpkin', 'carved_pumpkin', 'netherrack', 'soul_sand', + 'soul_soil', 'basalt', 'polished_basalt', 'glowstone', 'jack_o_lantern', 'stone_bricks', 'mossy_stone_bricks', + 'cracked_stone_bricks', 'chiseled_stone_bricks', 'melon', 'brick_stairs', 'stone_brick_stairs', 'mycelium', 'nether_bricks', + 'cracked_nether_bricks', 'chiseled_nether_bricks', 'nether_brick_stairs', 'end_stone_bricks', 'sandstone_stairs', 'emerald_ore', + 'emerald_block', 'spruce_stairs', 'birch_stairs', 'jungle_stairs', 'crimson_stairs', 'warped_stairs', 'nether_quartz_ore', + 'chiseled_quartz_block', 'quartz_block', 'quartz_bricks', 'quartz_pillar', 'quartz_stairs', 'white_terracotta', + 'orange_terracotta', 'magenta_terracotta', 'light_blue_terracotta', 'yellow_terracotta', 'lime_terracotta', 'pink_terracotta', + 'gray_terracotta', 'light_gray_terracotta', 'cyan_terracotta', 'purple_terracotta', 'blue_terracotta', 'brown_terracotta', + 'green_terracotta', 'red_terracotta', 'black_terracotta', 'hay_block', 'terracotta', 'coal_block', 'packed_ice', 'acacia_stairs', + 'dark_oak_stairs', 'white_stained_glass', 'orange_stained_glass', 'magenta_stained_glass', 'light_blue_stained_glass', + 'yellow_stained_glass', 'lime_stained_glass', 'pink_stained_glass', 'gray_stained_glass', 'light_gray_stained_glass', + 'cyan_stained_glass', 'purple_stained_glass', 'blue_stained_glass', 'brown_stained_glass', 'green_stained_glass', + 'red_stained_glass', 'black_stained_glass', 'prismarine', 'prismarine_bricks', 'dark_prismarine', 'prismarine_stairs', + 'prismarine_brick_stairs', 'dark_prismarine_stairs', 'sea_lantern', 'red_sandstone', 'chiseled_red_sandstone', + 'cut_red_sandstone', 'red_sandstone_stairs', 'magma_block', 'nether_wart_block', 'warped_wart_block', 'red_nether_bricks', + 'bone_block', 'white_concrete', 'orange_concrete', 'magenta_concrete', 'light_blue_concrete', 'yellow_concrete', 'lime_concrete', + 'pink_concrete', 'gray_concrete', 'light_gray_concrete', 'cyan_concrete', 'purple_concrete', 'blue_concrete', 'brown_concrete', + 'green_concrete', 'red_concrete', 'black_concrete', 'white_concrete_powder', 'orange_concrete_powder', 'magenta_concrete_powder', + 'light_blue_concrete_powder', 'yellow_concrete_powder', 'lime_concrete_powder', 'pink_concrete_powder', 'gray_concrete_powder', + 'light_gray_concrete_powder', 'cyan_concrete_powder', 'purple_concrete_powder', 'blue_concrete_powder', 'brown_concrete_powder', + 'green_concrete_powder', 'red_concrete_powder', 'black_concrete_powder', 'dead_tube_coral_block', 'dead_brain_coral_block', + 'dead_bubble_coral_block', 'dead_fire_coral_block', 'dead_horn_coral_block', 'tube_coral_block', 'brain_coral_block', + 'bubble_coral_block', 'fire_coral_block', 'horn_coral_block', 'blue_ice', 'polished_granite_stairs', + 'smooth_red_sandstone_stairs', 'mossy_stone_brick_stairs', 'polished_diorite_stairs', 'mossy_cobblestone_stairs', + 'end_stone_brick_stairs', 'stone_stairs', 'smooth_sandstone_stairs', 'smooth_quartz_stairs', 'granite_stairs', 'andesite_stairs', + 'red_nether_brick_stairs', 'polished_andesite_stairs', 'diorite_stairs', 'polished_granite_slab', 'smooth_red_sandstone_slab', + 'mossy_stone_brick_slab', 'polished_diorite_slab', 'mossy_cobblestone_slab', 'end_stone_brick_slab', 'smooth_sandstone_slab', + 'smooth_quartz_slab', 'granite_slab', 'andesite_slab', 'red_nether_brick_slab', 'polished_andesite_slab', 'diorite_slab', + 'dried_kelp_block', 'netherite_block', 'ancient_debris', 'crying_obsidian', 'blackstone', 'blackstone_slab', + 'blackstone_stairs', 'gilded_blackstone', 'polished_blackstone', 'polished_blackstone_slab', 'polished_blackstone_stairs', + 'chiseled_polished_blackstone', 'polished_blackstone_bricks', 'polished_blackstone_brick_slab', + 'polished_blackstone_brick_stairs', 'cracked_polished_blackstone_bricks', 'oak_sapling', 'spruce_sapling', 'birch_sapling', + 'jungle_sapling', 'acacia_sapling', 'dark_oak_sapling', 'oak_leaves', 'spruce_leaves', 'birch_leaves', 'jungle_leaves', + 'acacia_leaves', 'dark_oak_leaves', 'cobweb', 'grass', 'fern', 'dead_bush', 'seagrass', 'sea_pickle', 'dandelion', 'poppy', + 'blue_orchid', 'allium', 'azure_bluet', 'red_tulip', 'orange_tulip', 'white_tulip', 'pink_tulip', 'oxeye_daisy', 'cornflower', + 'lily_of_the_valley', 'wither_rose', 'brown_mushroom', 'red_mushroom', 'crimson_fungus', 'warped_fungus', 'crimson_roots', + 'warped_roots', 'nether_sprouts', 'weeping_vines', 'twisting_vines', 'sugar_cane', 'kelp', 'bamboo', 'torch', 'end_rod', + 'chorus_plant', 'chorus_flower', 'chest', 'crafting_table', 'furnace', 'ladder', 'cactus', 'jukebox', 'oak_fence', + 'spruce_fence', 'birch_fence', 'jungle_fence', 'acacia_fence', 'dark_oak_fence', 'crimson_fence', 'warped_fence', 'soul_torch', + 'brown_mushroom_block', 'red_mushroom_block', 'mushroom_stem', 'iron_bars', 'chain', 'glass_pane', 'vine', 'lily_pad', + 'nether_brick_fence', 'enchanting_table', 'end_portal_frame', 'ender_chest', 'cobblestone_wall', 'mossy_cobblestone_wall', + 'brick_wall', 'prismarine_wall', 'red_sandstone_wall', 'mossy_stone_brick_wall', 'granite_wall', 'stone_brick_wall', + 'nether_brick_wall', 'andesite_wall', 'red_nether_brick_wall', 'sandstone_wall', 'end_stone_brick_wall', 'diorite_wall', + 'blackstone_wall', 'polished_blackstone_wall', 'polished_blackstone_brick_wall', 'anvil', 'chipped_anvil', 'damaged_anvil', + 'white_carpet', 'orange_carpet', 'magenta_carpet', 'light_blue_carpet', 'yellow_carpet', 'lime_carpet', 'pink_carpet', + 'gray_carpet', 'light_gray_carpet', 'cyan_carpet', 'purple_carpet', 'blue_carpet', 'brown_carpet', 'green_carpet', 'red_carpet', + 'black_carpet', 'slime_block', 'sunflower', 'lilac', 'rose_bush', 'peony', 'white_stained_glass_pane', + 'orange_stained_glass_pane', 'magenta_stained_glass_pane', 'light_blue_stained_glass_pane', 'yellow_stained_glass_pane', + 'lime_stained_glass_pane', 'pink_stained_glass_pane', 'gray_stained_glass_pane', 'light_gray_stained_glass_pane', + 'cyan_stained_glass_pane', 'purple_stained_glass_pane', 'blue_stained_glass_pane', 'brown_stained_glass_pane', + 'green_stained_glass_pane', 'red_stained_glass_pane', 'black_stained_glass_pane', 'shulker_box', 'white_shulker_box', + 'orange_shulker_box', 'magenta_shulker_box', 'light_blue_shulker_box', 'yellow_shulker_box', 'lime_shulker_box', + 'pink_shulker_box', 'gray_shulker_box', 'light_gray_shulker_box', 'cyan_shulker_box', 'purple_shulker_box', 'blue_shulker_box', + 'brown_shulker_box', 'green_shulker_box', 'red_shulker_box', 'black_shulker_box', 'white_glazed_terracotta', + 'orange_glazed_terracotta', 'magenta_glazed_terracotta', 'light_blue_glazed_terracotta', 'yellow_glazed_terracotta', + 'lime_glazed_terracotta', 'pink_glazed_terracotta', 'gray_glazed_terracotta', 'light_gray_glazed_terracotta', + 'cyan_glazed_terracotta', 'purple_glazed_terracotta', 'blue_glazed_terracotta', 'brown_glazed_terracotta', + 'green_glazed_terracotta', 'red_glazed_terracotta', 'black_glazed_terracotta', 'tube_coral', 'brain_coral', 'bubble_coral', + 'fire_coral', 'horn_coral', 'dead_brain_coral', 'dead_bubble_coral', 'dead_fire_coral', 'dead_horn_coral', 'dead_tube_coral', + 'tube_coral_fan', 'brain_coral_fan', 'bubble_coral_fan', 'fire_coral_fan', 'horn_coral_fan', 'dead_tube_coral_fan', + 'dead_brain_coral_fan', 'dead_bubble_coral_fan', 'dead_fire_coral_fan', 'dead_horn_coral_fan', 'scaffolding', 'oak_sign', + 'spruce_sign', 'birch_sign', 'jungle_sign', 'acacia_sign', 'dark_oak_sign', 'crimson_sign', 'warped_sign', 'white_bed', + 'orange_bed', 'magenta_bed', 'light_blue_bed', 'yellow_bed', 'lime_bed', 'pink_bed', 'gray_bed', 'light_gray_bed', 'cyan_bed', + 'purple_bed', 'blue_bed', 'brown_bed', 'green_bed', 'red_bed', 'black_bed', 'flower_pot', 'skeleton_skull', + 'wither_skeleton_skull', 'player_head', 'zombie_head', 'creeper_head', 'dragon_head', 'white_banner', 'orange_banner', + 'magenta_banner', 'light_blue_banner', 'yellow_banner', 'lime_banner', 'pink_banner', 'gray_banner', 'light_gray_banner', + 'cyan_banner', 'purple_banner', 'blue_banner', 'brown_banner', 'green_banner', 'red_banner', 'black_banner', 'loom', 'composter', + 'barrel', 'smoker', 'blast_furnace', 'cartography_table', 'fletching_table', 'grindstone', 'smithing_table', 'stonecutter', + 'bell', 'lantern', 'soul_lantern', 'campfire', 'soul_campfire', 'shroomlight', 'bee_nest', 'beehive', 'honey_block', + 'honeycomb_block', 'lodestone', 'respawn_anchor', 'dispenser', 'note_block', 'sticky_piston', 'piston', 'tnt', 'lever', + 'stone_pressure_plate', 'oak_pressure_plate', 'spruce_pressure_plate', 'birch_pressure_plate', 'jungle_pressure_plate', + 'acacia_pressure_plate', 'dark_oak_pressure_plate', 'crimson_pressure_plate', 'warped_pressure_plate', + 'polished_blackstone_pressure_plate', 'redstone_torch', 'oak_trapdoor', 'spruce_trapdoor', 'birch_trapdoor', 'jungle_trapdoor', + 'acacia_trapdoor', 'dark_oak_trapdoor', 'crimson_trapdoor', 'warped_trapdoor', 'oak_fence_gate', 'spruce_fence_gate', + 'birch_fence_gate', 'jungle_fence_gate', 'acacia_fence_gate', 'dark_oak_fence_gate', 'crimson_fence_gate', 'warped_fence_gate', + 'redstone_lamp', 'tripwire_hook', 'stone_button', 'oak_button', 'spruce_button', 'birch_button', 'jungle_button', + 'acacia_button', 'dark_oak_button', 'crimson_button', 'warped_button', 'polished_blackstone_button', 'trapped_chest', + 'light_weighted_pressure_plate', 'heavy_weighted_pressure_plate', 'daylight_detector', 'redstone_block', 'hopper', 'dropper', + 'iron_trapdoor', 'observer', 'iron_door', 'oak_door', 'spruce_door', 'birch_door', 'jungle_door', 'acacia_door', 'dark_oak_door', + 'crimson_door', 'warped_door', 'repeater', 'comparator', 'redstone', 'lectern', 'target', 'powered_rail', 'detector_rail', + 'rail', 'activator_rail', 'beacon', 'turtle_egg', 'conduit', 'brewing_stand', 'cauldron' +); +__restore(pl, s_player) ->( + scoreboard_remove('killCounter'); + scoreboard_remove('digCounter'); + scoreboard_remove('deathCounter'); + scoreboard_remove('tradingCounter'); + scoreboard_remove('fishingCounter'); + scoreboard_remove('damageTaken'); + scoreboard_remove('activation'); + scoreboard_remove('totalList'); + scoreboard_add('killCounter'); + scoreboard_add('digCounter'); + scoreboard_add('deathCounter'); + scoreboard_add('tradingCounter'); + scoreboard_add('fishingCounter'); + scoreboard_add('damageTaken'); + scoreboard_add('activation'); + scoreboard_add('totalList'); + total_actime = 0; + total_death = 0; + total_mined = 0; + total_fished = 0; + total_killed = 0; + total_traded = 0; + total_hurt = 0; + c_for(i = 0, i < length(pl), i += 1, + run('player ' + pl:i + ' spawn at ' + (s_player~'x'+0.1)+ ' ' +s_player~'y'+ ' ' +(s_player~'z'+0.1)); + game_tick(50); + //活跃时间 + actime = statistic(pl:i, 'custom', 'play_one_minute')/72000; + print(actime); + scoreboard('activation', pl:i, actime); + total_actime += actime; + //活跃时间 + hurt = statistic(pl:i, 'custom', 'play_one_minute')/72000; + print(hurt); + scoreboard('activation', pl:i, hurt); + total_hurt += hurt; + //死亡榜 + death = statistic(pl:i, 'custom', 'deaths'); + print(death); + scoreboard('deathCounter', pl:i, death); + total_death += death; + //挖掘榜 + mined = 0; + c_for(j = 0, j < length(global_bl), j += 1, + mined += statistic(pl:i, 'mined', global_bl:j); + ); + print(mined); + scoreboard('digCounter', pl:i, mined); + total_mined += mined; + //钓鱼榜 + fished = statistic(pl:i, 'custom', 'fish_caught'); + print(fished); + scoreboard('fishingCounter', pl:i, fished); + total_fished += fished; + //击杀榜 + killed = statistic(pl:i, 'custom', 'mob_kills'); + killed += statistic(pl:i, 'custom', 'player_kills'); + print(killed); + scoreboard('killCounter', pl:i, killed); + total_killed += killed; + //交易榜 + traded = statistic(pl:i, 'custom', 'traded_with_villager'); + print(traded); + scoreboard('tradingCounter', pl:i, traded); + total_traded += traded; + run('player ' + pl:i + ' kill') + ); + scoreboard('tradingCounter', '总交♂易数', total_traded); + scoreboard('totalList', '总交♂易数', total_traded); + scoreboard('killCounter', '总击杀数', total_killed); + scoreboard('totalList', '总击杀数', total_killed); + scoreboard('fishingCounter', '总钓鱼数', total_fished); + scoreboard('totalList', '总钓鱼数', total_fished); + scoreboard('digCounter', '总挖掘量', total_mined); + scoreboard('totalList', '总挖掘量', total_mined); + scoreboard('deathCounter', '全部木大', total_death); + scoreboard('totalList', '全部木大', total_death); + scoreboard('activation', '总在线时间(h)', total_actime); + scoreboard('totalList', '总在线时间(h)', total_actime); + scoreboard('damageTaken', '群p抖m', total_hurt); + scoreboard('totalList', '群p抖m)', total_hurt); + game_tick(50); + run('function fz:scoreboards/install') +); +by_whitelist() ->( + pl = keys(system_info('server_whitelist')); + s_player = player(); + //c_for(i = 0, i < length(pl), i += 1, + // run('player ' + pl:i + ' spawn at ' + (s_player~'x'+0.1)+ ' ' +s_player~'y'+ ' ' +(s_player~'z'+0.1)); + //); + game_tick(50); + __restore(pl, s_player); + //c_for(i = 0, i < length(pl), i += 1, + // run('player ' + pl:i + ' kill'); + //); + return() +) \ No newline at end of file