diff --git a/README.md b/README.md index 5fb169e..d79ffaf 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,65 @@ -# 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来打开设置界面 -- 提供一些地毯脚本: - - 安装方法: - - 需要carpet mod 1.4.21:https://github.com/gnembon/fabric-carpet/releases - - 将其放入“world/scripts”中(在客户端位于“.minecraft/saves/存档名/scripts”或“.minecraft/config/carpet/scripts”) - - 这三个文件夹默认不会自动生成,直接新建即可 - - here.sc: - - “/here”向所有人发送自己的位置和所在维度 - - 发送的消息使用voxelmap可识别的数组格式 - - 安装voxelmap mod后,左键高亮该坐标,ctrl+左键新建坐标点 - - c.sc - - “/c”修改玩家模式为旁观模式 - - s.sc - - “/s”修改玩家模式为生存模式 - - tagplayer.sc: - - 这个工具可以防止将地毯mod生成的假人计入记分板 - - 使用方法: - - 输入“/scripts load tagplayer”加载工具 - - 包含全部地毯假人自带的功能,以及新功能,如: - - “/tagplayer check xxx”检查玩家的状态 - - “/tagplayer checkall”检查所有玩家的状态 - - “/tagplayer killall”清除所有假人 - - 其他用法可以在游戏内输入“/tagplayer”查看 - - restore_scores.sc: - - 从数据包1.4升级时也需要使用这个工具 - - 这个工具可以从白名单读取玩家列表,逐一召唤假人,读取统计信息并赋值给记分板 - - 悄悄说一句没白名单的服把usercache.json复制一份改成whitelist.json就可以啦 - - 注意:原有的记分板会被删除 - - 使用方法: - - 输入“/scripts load restore_scores”加载工具 - - 输入“/restore_scores by_whitelist”开始恢复 - - 输入“/scripts unload restore_scores”卸载工具 - - 记得用完就删掉它! -##### v2.0.0.10(计划) -- 添加单独的记分板升级工具 -##### v2.0.0.9 -- 修复矿车白名单状态反了的bug -##### v2.0.0.8 -- 添加c.sc、s.sc、here.sc工具 -##### v2.0.0.7 -- tagplayer添加了新版carpet新指令,可以为假人切换热键栏 -- 现在tagplayer需要carpet1.4.21或以上版本运行! -- 现在tagplayer可以给自己设置动作了 -- 添加“/tagplayer shadow”指令将自己变为前缀为“挂机”的假人 -##### v2.0.0.6 -- 修复restore_scores.sc工具不能恢复受伤害榜(抖M榜)的bug -##### 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 -- 重写 +# 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来打开设置界面 +- 提供一些地毯脚本: + - 安装方法: + - 需要carpet mod 1.4.21:https://github.com/gnembon/fabric-carpet/releases + - 将其放入“world/scripts”中(在客户端位于“.minecraft/saves/存档名/scripts”或“.minecraft/config/carpet/scripts”) + - 这三个文件夹默认不会自动生成,直接新建即可 + - here.sc: + - “/here”向所有人发送自己的位置和所在维度 + - 发送的消息使用voxelmap可识别的数组格式 + - 安装voxelmap mod后,左键高亮该坐标,ctrl+左键新建坐标点 + - c.sc + - “/c”修改玩家模式为旁观模式 + - s.sc + - “/s”修改玩家模式为生存模式 + - tagplayer.sc: + - 这个工具可以防止将地毯mod生成的假人计入记分板 + - 使用方法: + - 输入“/scripts load tagplayer”加载工具 + - 包含全部地毯假人自带的功能,以及新功能,如: + - “/tagplayer check xxx”检查玩家的状态 + - “/tagplayer checkall”检查所有玩家的状态 + - “/tagplayer killall”清除所有假人 + - 其他用法可以在游戏内输入“/tagplayer”查看 + - restore_scores.sc: + - 从数据包1.4升级时也需要使用这个工具 + - 这个工具可以从白名单读取玩家列表,逐一召唤假人,读取统计信息并赋值给记分板 + - 悄悄说一句没白名单的服把usercache.json复制一份改成whitelist.json就可以啦 + - 注意:原有的记分板会被删除 + - 使用方法: + - 输入“/scripts load restore_scores”加载工具 + - 输入“/restore_scores by_whitelist”开始恢复 + - 输入“/scripts unload restore_scores”卸载工具 + - 记得用完就删掉它! +##### v2.0.0.10(计划) +- 添加单独的记分板升级工具 +##### v2.0.0.9 +- 修复矿车白名单状态反了的bug +##### v2.0.0.8 +- 添加c.sc、s.sc、here.sc工具 +##### v2.0.0.7 +- tagplayer添加了新版carpet新指令,可以为假人切换热键栏 +- 现在tagplayer需要carpet1.4.21或以上版本运行! +- 现在tagplayer可以给自己设置动作了 +- 添加“/tagplayer shadow”指令将自己变为前缀为“挂机”的假人 +##### v2.0.0.6 +- 修复restore_scores.sc工具不能恢复受伤害榜(抖M榜)的bug +##### 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/c.sc b/c.sc index a582f31..33b054d 100644 --- a/c.sc +++ b/c.sc @@ -1,7 +1,7 @@ -__config() -> { - 'stay_loaded' -> true -}; -__command() -> ( - run('gamemode spectator'); - run('execute at @s run tp @s ~ ~0.2 ~') +__config() -> { + 'stay_loaded' -> true +}; +__command() -> ( + run('gamemode spectator'); + run('execute at @s run tp @s ~ ~0.2 ~') ) \ No newline at end of file diff --git a/data/fz/functions/config/display.mcfunction b/data/fz/functions/config/display.mcfunction index 5c7947c..68532e7 100644 --- a/data/fz/functions/config/display.mcfunction +++ b/data/fz/functions/config/display.mcfunction @@ -5,9 +5,9 @@ execute if data storage fz.installed {sweeper:1b} run tellraw @s {"text": "扫 ##扫地机时间,对应分数1478966210-1478966215 execute if data storage fz.installed {sweeper:1b} run tellraw @s [{"text": "- "},{"text": "[关]","color": "#00ff00","clickEvent": {"action": "run_command","value": "/trigger config set 1478966210"}},{"text": "[30秒]","color": "#5fff00","clickEvent": {"action": "run_command","value": "/trigger config set 1478966211"}},{"text": "[1分钟]","color": "#d7ff00","clickEvent": {"action": "run_command","value": "/trigger config set 1478966212"}},{"text": "[2分钟]","color": "#ffd900","clickEvent": {"action": "run_command","value": "/trigger config set 1478966213"}},{"text": "[3分钟]","color": "#ff6100","clickEvent": {"action": "run_command","value": "/trigger config set 1478966214"}},{"text": "[4分钟]","color": "#ff0000","clickEvent": {"action": "run_command","value": "/trigger config set 1478966215"}}] ##开启矿车白名单1478966216 - execute if data storage fz.installed {sweeper:1b} unless score sweepMinecart parameter matches 1 run tellraw @s [{"text": "- "},{"text": "矿车白名单:","color": "#8c8f91"},{"text": "[已关闭]","color": "#ff0000","clickEvent": {"action": "run_command","value": "/trigger config set 1478966216"}}] + execute if data storage fz.installed {sweeper:1b} unless score keepMinecart parameter matches 1 run tellraw @s [{"text": "- "},{"text": "矿车白名单:","color": "#8c8f91"},{"text": "[已关闭]","color": "#ff0000","clickEvent": {"action": "run_command","value": "/trigger config set 1478966216"}}] ##关闭矿车白名单1478966217 - execute if data storage fz.installed {sweeper:1b} if score sweepMinecart parameter matches 1 run tellraw @s [{"text": "- "},{"text": "矿车白名单:","color": "#8c8f91"},{"text": "[已开启]","color": "#00ff00","clickEvent": {"action": "run_command","value": "/trigger config set 1478966217"}}] + execute if data storage fz.installed {sweeper:1b} if score keepMinecart parameter matches 1 run tellraw @s [{"text": "- "},{"text": "矿车白名单:","color": "#8c8f91"},{"text": "[已开启]","color": "#00ff00","clickEvent": {"action": "run_command","value": "/trigger config set 1478966217"}}] execute if data storage fz.installed {scoreboards:1b} run tellraw @s {"text": "记分板:","color": "#ccff00"} ##计分板显示,对应分数1838019370-1838019379 execute if data storage fz.installed {scoreboards:1b} run tellraw @s [{"text": "- "},{"text": "[关]","color": "#ff0000","clickEvent": {"action": "run_command","value": "/trigger config set 1838019370"}},{"text": "[轮播]","color": "gold","clickEvent": {"action": "run_command","value": "/trigger config set 1838019371"}},{"text": "[总量]","color": "dark_aqua","clickEvent": {"action": "run_command","value": "/trigger config set 1838019379"}},{"text": "[在线时间(h)]","color": "aqua","clickEvent": {"action": "run_command","value": "/trigger config set 1838019372"}},{"text": "[抖M名单]","color": "yellow","clickEvent": {"action": "run_command","value": "/trigger config set 1838019373"}},{"text": "[死亡榜]","color": "dark_red","clickEvent": {"action": "run_command","value": "/trigger config set 1838019374"}},{"text": "[挖掘榜]","color": "gray","clickEvent": {"action": "run_command","value": "/trigger config set 1838019375"}},{"text": "[钩直饵咸]","color": "blue","clickEvent": {"action": "run_command","value": "/trigger config set 1838019376"}},{"text": "[击杀榜]","color": "red","clickEvent": {"action": "run_command","value": "/trigger config set 1838019377"}},{"text": "[交♂易榜]","color": "green","clickEvent": {"action": "run_command","value": "/trigger config set 1838019378"}}] \ No newline at end of file diff --git a/data/fz/functions/install.mcfunction b/data/fz/functions/install.mcfunction index 4ece1f0..08585af 100644 --- a/data/fz/functions/install.mcfunction +++ b/data/fz/functions/install.mcfunction @@ -16,9 +16,9 @@ function fz:login/logintips/install function fz:carpet/carpet #版本信息 data merge storage fz.installed {installed:1b} -data merge storage fz {version:Beta-2.0.0.7} -data merge storage fz {date:2020-12.15} -data merge storage fz {time:"19:32"} +data merge storage fz {version:Beta-2.0.0.9} +data merge storage fz {date:2020-12.27} +data merge storage fz {time:"23:32"} data merge storage fz {snapshot:-SNAPSHOT} ##data remove storage fz snapshot tellraw @a {"text": "[信息]启动完毕","color": "#5fff00"} diff --git a/data/fz/functions/load.mcfunction b/data/fz/functions/load.mcfunction index ba416fa..7aeb4b0 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:Beta-2.0.0.7} if data storage fz.installed {installed:1b} run function fz:start +execute if data storage fz {version:Beta-2.0.0.9} if data storage fz.installed {installed:1b} run function fz:start #如果版本不符则更新 -execute unless data storage fz {version:Beta-2.0.0.7} run function fz:update +execute unless data storage fz {version:Beta-2.0.0.9} 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/sweeper/config/whitelist.mcfunction b/data/fz/functions/sweeper/config/whitelist.mcfunction index c254793..34e7fbc 100644 --- a/data/fz/functions/sweeper/config/whitelist.mcfunction +++ b/data/fz/functions/sweeper/config/whitelist.mcfunction @@ -1,4 +1,4 @@ -execute if score @s config matches 1478966216 run scoreboard players set sweepMinecart parameter 1 -execute if score @s config matches 1478966217 run scoreboard players reset sweepMinecart parameter +execute if score @s config matches 1478966216 run scoreboard players set keepMinecart parameter 1 +execute if score @s config matches 1478966217 run scoreboard players reset keepMinecart parameter scoreboard players reset @s config function fz:config/display \ No newline at end of file diff --git a/data/fz/functions/sweeper/main.mcfunction b/data/fz/functions/sweeper/main.mcfunction index 96c0a09..8fa3142 100644 --- a/data/fz/functions/sweeper/main.mcfunction +++ b/data/fz/functions/sweeper/main.mcfunction @@ -1,5 +1,5 @@ -execute if score sweepMinecart parameter matches 1 run execute store result score sweeperItem parameter run kill @e[type=item] -execute unless score sweepMinecart parameter matches 1 run execute store result score sweeperItem parameter run kill @e[type=item,predicate=!fz:sweeper/minecart] +execute if score keepMinecart parameter matches 1 run execute store result score sweeperItem parameter run kill @e[type=item,predicate=!fz:sweeper/minecart] +execute unless score keepMinecart parameter matches 1 run execute store result score sweeperItem parameter run kill @e[type=item] tellraw @a [{"text": "[信息]本次清理了","color": "#5fff00"},{"score": {"objective": "parameter", "name": "sweeperItem"},"color": "#5fff00"},{"text": "堆物品","color": "#5fff00"}] execute as @a at @a run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 2 execute if score sweeperTime parameter matches 30 run function fz:sweeper/timer/30s diff --git a/here.sc b/here.sc index 0397604..c6b2895 100644 --- a/here.sc +++ b/here.sc @@ -1,21 +1,21 @@ -__config() -> { - 'stay_loaded' -> true -}; -__command() -> ( - s_player = player(); - pos = query(s_player, 'pos'); - dim = query(s_player, 'dimension'); - scoreboard_add('here_pos_x'); - scoreboard_add('here_pos_y'); - scoreboard_add('here_pos_z'); - scoreboard('here_pos_x',s_player,round(get(pos, 0))); - scoreboard('here_pos_y',s_player,round(get(pos, 1))); - scoreboard('here_pos_z',s_player,round(get(pos, 2))); - run(str('tellraw @s [{"selector": "@s"},{"text":"说:我在[x:","color": "aqua"},{"score": {"objective": "here_pos_x","name": "%s"}},{"text": ", y:"},{"score": {"objective": "here_pos_y","name": "%s"}},{"text": ", z:"},{"score": {"objective": "here_pos_z","name": "%s"}},{"text": ", dim:%s]"}]', - s_player, s_player, s_player, dim - )); - scoreboard_remove('here_pos_x'); - scoreboard_remove('here_pos_y'); - scoreboard_remove('here_pos_z'); - exit() +__config() -> { + 'stay_loaded' -> true +}; +__command() -> ( + s_player = player(); + pos = query(s_player, 'pos'); + dim = query(s_player, 'dimension'); + scoreboard_add('here_pos_x'); + scoreboard_add('here_pos_y'); + scoreboard_add('here_pos_z'); + scoreboard('here_pos_x',s_player,round(get(pos, 0))); + scoreboard('here_pos_y',s_player,round(get(pos, 1))); + scoreboard('here_pos_z',s_player,round(get(pos, 2))); + run(str('tellraw @s [{"selector": "@s"},{"text":"说:我在[x:","color": "aqua"},{"score": {"objective": "here_pos_x","name": "%s"}},{"text": ", y:"},{"score": {"objective": "here_pos_y","name": "%s"}},{"text": ", z:"},{"score": {"objective": "here_pos_z","name": "%s"}},{"text": ", dim:%s]"}]', + s_player, s_player, s_player, dim + )); + scoreboard_remove('here_pos_x'); + scoreboard_remove('here_pos_y'); + scoreboard_remove('here_pos_z'); + exit() ) \ No newline at end of file diff --git a/s.sc b/s.sc index f513568..eda9e40 100644 --- a/s.sc +++ b/s.sc @@ -1,6 +1,6 @@ -__config() -> { - 'stay_loaded' -> true -}; -__command() -> ( - run('gamemode survival') +__config() -> { + 'stay_loaded' -> true +}; +__command() -> ( + run('gamemode survival') ) \ No newline at end of file