From 9ace8501f2c93a36e7caef3d09144a87858181db Mon Sep 17 00:00:00 2001 From: Harveykang <1214946206@qq.com> Date: Mon, 28 Dec 2020 11:10:15 +0800 Subject: [PATCH] 2.0.0.9 --- README.md | 88 ++++++++++++------- c.sc | 7 ++ data/fz/functions/config/display.mcfunction | 4 +- data/fz/functions/install.mcfunction | 6 +- data/fz/functions/load.mcfunction | 4 +- .../sweeper/config/whitelist.mcfunction | 4 +- data/fz/functions/sweeper/main.mcfunction | 4 +- here.sc | 21 +++++ s.sc | 6 ++ 9 files changed, 101 insertions(+), 43 deletions(-) create mode 100644 c.sc create mode 100644 here.sc create mode 100644 s.sc diff --git a/README.md b/README.md index 2a1bead..2d67932 100644 --- a/README.md +++ b/README.md @@ -5,37 +5,61 @@ A Minecraft Datapack #### This project is licensed under the terms of the GNU General Public License v3.0. #### Copyright (C)2019-2020 Harvey.Kang -#### v2.0.0 -- 重写 +### v2.0.0 - 支持Minecraft1.16.x - 抬头并按一下shift来打开设置界面 -- 压缩包中的tagplayer.sc - - 把它放在“存档名/scripts”中然后“/script load tagplayer”! - - 使用/tagplayer 命令生成假人可以避免假人被数据包提供的记分板捕捉到~ - - tagplayer需要地毯mod1.4.21或以上版本来运行 - - 使用帮助可以在游戏中输入“/tagplayer”查看 -- 压缩包中的restore_scores.sc工具可以恢复或从1.0版本升级记分板~ - - 把它放在“存档名/scripts”中然后“/script load restore_scores” - - *该工具会先删除旧的记分板* - - 输入“/restore_scores by_whitelist”恢复白名单内的玩家的记分板 - - *用完记得删除它并“/script unload restore_scores”* - - restore_scores需要地毯mod1.4.13或以上版本来运行 -##### - v2.0.0.8(计划) - - 添加单独的记分板升级工具 -##### - 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 - - 重写 +- 提供一些地毯脚本: + - 安装方法: + - 需要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 +- 重写 diff --git a/c.sc b/c.sc new file mode 100644 index 0000000..33b054d --- /dev/null +++ b/c.sc @@ -0,0 +1,7 @@ +__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 new file mode 100644 index 0000000..c6b2895 --- /dev/null +++ b/here.sc @@ -0,0 +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() +) \ No newline at end of file diff --git a/s.sc b/s.sc new file mode 100644 index 0000000..eda9e40 --- /dev/null +++ b/s.sc @@ -0,0 +1,6 @@ +__config() -> { + 'stay_loaded' -> true +}; +__command() -> ( + run('gamemode survival') +) \ No newline at end of file