Compare commits

..

24 Commits

Author SHA1 Message Date
延皓 4328147b1c update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-07-24 12:45:16 +00:00
延皓 dd22e1f91b update LICENSE. 2022-07-20 10:18:40 +00:00
延皓 f40d593e5d update LICENSE. 2022-07-19 19:51:55 +00:00
延皓 2a2197d90d add LICENSE. 2022-07-19 19:50:59 +00:00
延皓 fd7bfca151 删除文件 LICENSE 2022-07-19 18:45:32 +00:00
延皓 24837ae342 update README.md. 2022-07-19 18:40:59 +00:00
延皓 a142b3e56f add LICENSE. 2022-07-19 18:40:34 +00:00
延皓 c0807aaad6 删除文件 LICENSE 2022-07-19 18:34:45 +00:00
延皓 ad3539ea9b 2.2.2 2022-07-19 21:12:40 +08:00
延皓 fe9bba8368 fix #I5FJOG 2022-07-07 08:07:25 +08:00
延皓 26c52e4292 Merge branch '2.2-dev' of https://gitee.com/harvey-husky/yh-ssd into 2.2-dev 2022-06-29 23:38:46 +08:00
延皓 9b8132363d 修复1.19无法加载数据包的问题 2022-06-29 23:38:01 +08:00
延皓 c1554ec191 修复1.19无法加载数据包的问题 2022-06-29 23:28:27 +08:00
延皓 96e6882b65 2.2.0 2022-06-10 15:39:36 +08:00
延皓 3ddb09fd9a 2.2.0 2022-06-10 15:39:06 +08:00
延皓 6edaf56760 2.2.0 2022-06-10 15:38:16 +08:00
延皓 57ede60186 fix #I5BP3U 2022-06-10 15:25:14 +08:00
延皓 80633006d5 update LICENSE. 2022-05-29 16:12:29 +00:00
shenjack 1a6995573f 加了计分板加载完成提示 2022-05-11 13:50:04 +00:00
shenjack 7500264600 更新一下census 2022-05-11 12:13:29 +00:00
延皓 4befe7ba98 update README.md. 2021-11-23 03:14:17 +00:00
延皓 8d8aff29f7 update README.md. 2021-11-19 13:12:53 +00:00
延皓 192bc00801 update README.md. 2021-11-19 13:11:19 +00:00
延皓 776c28eb99 update README.md. 2021-11-17 03:34:12 +00:00
749 changed files with 3692 additions and 6236 deletions
-22
View File
@@ -1,22 +0,0 @@
{
"datapack.snippets": {
"executeIfScoreSet": "execute if score ${1:score_holder} ${2:objective} = ${1:score_holder} ${2:objective} $0",
"scoreboardPlayersOperation": "scoreboard players operation ${1:target_score_holder} ${2:target_objective} ${3|+=,-=,*=,/=,%=,=,>,<,<>|} ${4:source_score_holder} ${5:source_objective}",
"scoreboardPlayersSet": "scoreboard players set ${1:score_holder} ${2:objective} ${3:0}",
"scoreboardAddObjective": "scoreboard objectives add ${1:objective} ${2:dummy}",
"tagAdd": "tag ${1:target} add ${2:tag}",
"tagRemove": "tag ${1:target} remove ${2:tag}",
"dataModifyStorageFromSelf": "data modify storage ${1:id} ${2:path} set from entity @s ${3:path}",
"summonAec": "summon minecraft:area_effect_cloud ~ ~ ~ {Age: -2147483648, Duration: -1, WaitTime: -2147483648, Tags: [\"${1:tag}\"]}",
"logFine": "execute if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{\"nbt\": \"fzsd.level.fine\", \"interpret\": true, \"storage\": \"fzsd:logger\"}, {\"text\": \"${log_fine}\"}",
"logDebug": "execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{\"nbt\": \"fzsd.level.debug\", \"interpret\": true, \"storage\": \"fzsd:logger\"}, {\"text\": \"${1:log_debug}\"}]",
"logInfo": "execute if score fzsd.logger.level fzsd.variable.integer matches ..500 run tellraw @a [{\"nbt\": \"fzsd.level.info\", \"interpret\": true, \"storage\": \"fzsd:logger\"}, {\"text\": \"${1:log_info}\"}]",
"logAlert": "execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a [{\"nbt\": \"fzsd.level.alert\", \"interpret\": true, \"storage\": \"fzsd:logger\"}, {\"text\": \"${1:log_alert}\"}]",
"logError": "execute if score fzsd.logger.level fzsd.variable.integer matches ..800 run tellraw @a [{\"nbt\": \"fzsd.level.error\", \"interpret\": true, \"storage\": \"fzsd:logger\"}, {\"text\": \"${1:log_error}\"}]",
"TEXT": "{\"text\": \"${1:TEXT}\", \"color\": \"${2:COLOR}\"}",
"storageText": "{\"nbt\": \"${1:NBT}\", \"interpret\": true, \"storage\": \"${2:A namespaced ID}\"}",
"ifInstalled": "execute if data storage fzsd:installed fzsd.module{${1:module_name}:1b} run ${tellraw}"
},
"datapack.env.cmdVersion": "1.20",
"datapack.env.dataVersion": "1.20"
}
+147
View File
@@ -0,0 +1,147 @@
# 更新记录
>所有可查阅的更改记录皆可在此处找到
### v2.2.0
- 仅支持Minecraft1.19+1.16请用2.0.x1.17-1.18请用2.1.x
- 修复[#I5BP3U](https://gitee.com/harvey-husky/FZ-sDatapack/issues/I5BP3U)
### v2.2 pre1
- `census`地毯脚本更新至1.3.1版本
- 修复一些显示bug
- 现在基本可以正常使用**仍然不能保证稳定性(数据安全性)**
- 添加了可以用来*迁移*数据的Python脚本 `score_move`
- 使用时与`server`文件夹同级
- `score_move.py`
- `server`
- `server.jar`
- ······
- ······
- ······
- 更改了文件结构,将地毯脚本移动到`脚本`文件夹中
- 可能会有release
- 以后准备要重写整个Datapack了
- 3.0!
### v2.1.3 pre1
- 添加`census`地毯脚本
- `census`脚本**不稳定**,请谨慎使用,本版本无release
- 在 readme 里添加了一些badge
### v2.1.2 & 2.0.10
- 添加鞘翅滑翔距离榜单 [#I40PFS](https://gitee.com/harvey-husky/FZ-sDatapack/issues/I40PFS)
## v2.1.0
- 仅支持 **Minecraft 1.17 +**
- 修复使用部分工具和方块交互时挖掘榜会减分的 BUG
- 为榜单恢复插件新增新版本的新方块
## v2.0.8
- 修复在末地使用 `/here` 时,世界名称显示为世界 ID 的 BUG
- 修复 `tagplayer` 可以随意传送玩家的 BUG
- 修复记分板轮播时不显示击杀榜的 BUG
- 修复没有破基岩榜时依然会轮播破基岩榜的 BUG
-`/tagplayer tp` 指令添加了配置文件
## v2.0.3
- 修复在不添加 `tagplayer` 工具时记分板不加分的 BUG
## v2.0.2
- 修复在使用 Carpet 1.4.22及以上版本时,`tagplayer` 的玩家名错乱的 BUG
## v2.0.1.8
- 修复使用金斧头挖掘会导致总量 +2 的 BUG
- 修复使用金锄头挖掘不会给挖掘榜加分
- 修复主手有铲子,斧头,锄头时,副手放置方块会导致挖掘榜 -1 的 BUG (原版 BUG,通过 toolsfix2 成就修复) [#I2DJDC](https://gitee.com/harvey-husky/FZ-sDatapack/issues/I2DJDC)
## v2.0.1.7
- 修复有时设置界面打不开的 BUG
- 修复交易榜只加一次分的 BUG..
- 修复 `tagplayer` 中的事件多次触发的 BUG
## v2.0.1.6
- `tagplayer` 现在可以通过自定义文件名来自定义游戏内命令
- 修复铁制工具依然不统计记分板的 BUG...
## v2.0.1.3
- 修复部分铁质工具不统计挖掘榜的 BUG
## v2.0.1.1
- 为设置界面的计分板添加悬浮文本
- 无需配置即可支持该铁头功破基岩榜 Mod:[FZ-BBL](https://gitee.com/harvey-husky/FZ-BBL/releases)
- 破基岩榜的分数和订阅设置会在铁头功记分板的总分大于 `0` 时显示,以免未添加该 Mod 的服务器显示破基岩榜
## v2.0.0.11
- `/tagplayer spawn xxx`后面现在可以追加`at``facing``in`参数
## 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` 需要 Carpet **1.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` 需要 Carpet **1.4.18** 及以上版本来运行
- 优化了 `tagplayer` 体验及修复若干 BUG
## v2.0.0.2
- 重写
-116
View File
@@ -1,116 +0,0 @@
# 开发文档
## 指引
- `函数`,指数据包`<命名空间>/functions`目录下的`.mcfunction`文件
- `标签`,指数据包`<命名空间>/tags`目录下的`.json`文件
- `覆盖标签并填入函数`时,`replace``true`
``` json
{
"replace": true,
"values": ...
}
```
- `向标签中注册函数`时,`replace`为`false`
``` json
{
"replace": false,
"values": ...
}
```
- ***函数和标签是否能被扩展数据包成功覆盖,取决于数据包加载顺序***,请使用`/datapack enable <xxx> after <xxx>`指令,使您的扩展数据包在FZ's Survival Datapack之后加载
## 基本要求
- 函数由两个以上的函数调用,或由不同包下的函数调用,或需要作为接口开放给下游数据包时,应改用标签调用!
- 函数调用尽量不要使用`function`命令,应改在标签中按顺序调用!
## 系统模块
### 频繁使用的计算单元
- [`#fzsd:calculation/*`](data/fzsd/tags/functions/calculation/)标签通常被用来进行简单重复的计算任务
### 事件模块
- 通常由**进度**触发,触发后调用同名的事件标签
- 在[`#fzsd:game_event/(<...>/)on_<事件>`](data/fzsd/tags/functions/game_event/)标签中注册触发时需要调用的函数即可
### 日志模块
- 仓库中提供了日志相关的代码片段,位于[`.vscode/settings.json`](.vscode/settings.json)
- 暂时没有找到方法在服务端控制台打印日志,但会被记录在客户端
#### 详细 Fine
- 等级:300
- 使用方法:`execute if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "你的日志"}`
#### 调试 Debug
- 等级:400
- 使用方法:`execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "你的日志"}`
#### 信息 Info
- 等级:500
- 使用方法:`execute if score fzsd.logger.level fzsd.variable.integer matches ..500 run tellraw @a [{"nbt": "fzsd.level.info", "interpret": true, "storage": "fzsd:logger"}, {"text": "你的日志"}`
#### 提醒 Alert
- 等级:600
- 使用方法:`execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "你的日志"}`
#### 意外 Exception
- 暂不提供
#### 错误 Error
- 等级:800
- 使用方法:`execute if score fzsd.logger.level fzsd.variable.integer matches ..800 run tellraw @a [{"nbt": "fzsd.level.error", "interpret": true, "storage": "fzsd:logger"}, {"text": "你的日志"}`
## 功能模块
### 交互器模块
#### 按钮操作
1. 定义一个显示按钮时执行的函数,使用形如`tellraw @s {"text": "[按钮]", "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set <触发器分数>"}}`的指令定义按钮。
- *触发器分数为正数会重新向玩家发送交互按钮,如不想重新发送,请使用负数*
- 大多数情况下这里的触发器分数必须是独一无二的
- 建议使用`>10000`的随机数作为自定义按钮的触发器分数
2. 在[`#fzsd:module/interactor/event/on_display`](data/fzsd/tags/functions/module/interactor/display.json)标签中注册上述函数
3. 定义一个点击按钮时执行的函数,使用形如`execute if score @s fzsd.module.interactor.trigger matches <min>..<max> run ...`的指令判断玩家的触发器分数,并执行你的操作
4. 在[`#fzsd:module/interactor/event/on_click`](data/fzsd/tags/functions/module/interactor/event/on_click.json)标签中注册上述函数
#### 其他标签
- 标签[`#fzsd:module/interactor/reset_trigger`](data/fzsd/tags/functions/module/interactor/reset_trigger.json):重置玩家`@s`的触发器计分板
### 计分板模块
#### 自定义计分板颜色
- 数据包提供了所有计分板的全部16色命名函数
- 使用方法:**覆盖**[`#fzsd:module/scoreboard/display/set_text/<计分板名称>`](data/fzsd/tags/functions/module/scoreboard/display/set_text/)标签,填入[`fzsd:module/scoreboard/display/set_text/<计分板名称>/<颜色名称>`](data/fzsd/functions/module/scoreboard/display/set_text/)函数
#### 自定义计分板名称
1. 定义一个设置计分板颜色、文本的函数,格式可以参考[`fzsd:module/scoreboard/display/set_text/general/*`](data/fzsd/functions/module/scoreboard/display/set_text/general/)函数
2. **覆盖**[`#fzsd:module/scoreboard/display/set_text/<计分板名称>`](data/fzsd/tags/functions/module/scoreboard/display/set_text/)标签,填入上述函数
#### 扩展自己的计分板
1. 定义一个安装函数,参考[`fzsd:module/scoreboard/install`](data/fzsd/functions/module/scoreboard/install.mcfunction)函数
2. 在[`#fzsd:module/scoreboard/install`](data/fzsd/tags/functions/module/scoreboard/install.json)标签中注册该函数
3. 按照“自定义计分板颜色”和“自定义计分板名称”中的操作,定义你的计分板颜色和名称
4. 定义一个生成计分板运行时id的函数,参考[`fzsd:module/scoreboard/display/register_id`](data/fzsd/functions/module/scoreboard/display/register_id.mcfunction)函数
5. 在[`#fzsd:module/scoreboard/display/register_id`](data/fzsd/tags/functions/module/scoreboard/display/register_id.json)标签中注册该函数
6. 定义一个用来在轮播时显示你的计分板的函数,参考[`fzsd:module/scoreboard/display/carousel/set_display/*`](data/fzsd/functions/module/scoreboard/display/carousel/set_display/activation.mcfunction)函数
7. 定义一个用来判断在轮播时是否轮到你的计分板的函数,在判断后调用上一条中的函数,参考[`fzsd:module/scoreboard/display/carousel/try_display/*`](data/fzsd/functions/module/scoreboard/display/carousel/try_display/activation.mcfunction)函数
8. 将该函数注册到[`#fzsd:module/scoreboard/display/try_display`](data/fzsd/tags/functions/module/scoreboard/display/carousel/try_display.json)标签中
## 自定义模块
### 排除假人
- 如果您不想对假人执行您的命令,请将以下语句添加在您要执行的命令之前:
<pre><code><font color=ee82ee>execute </font><font color=1e90ff>if predicate </font><font color=f0e68c>fzsd:is_real_player</font></code></pre>
#### 注册安装、卸载、加载函数
- 在下列标签中注册你的安装、卸载、加载函数:
- [`#fzsd:system/install/module`](data/fzsd/tags/functions/system/install/module.json)
- [`#fzsd:system/uninstall/module`](data/fzsd/tags/functions/system/uninstall/module.json)
- [`#fzsd:system/load/module`](data/fzsd/tags/functions/system/load/module.json)
#### 注册交互器按钮
- 见[交互器按钮](#按钮操作)
+9 -10
View File
@@ -1,20 +1,19 @@
FZSD许可协议 FZSD许可
2023/6/6 https://gitee.com/harvey-husky/fz-survival-datapack/blob/dev/3.0/LICENSE 2022/7/20 https://gitee.com/harvey-husky/fz-survival-datapack/LICENSE
版权所有 © 2019-2023 延皓<https://gitee.com/harvey-husky><https://space.bilibili.com/677233356> 版权所有 © 2019-2022 延皓<https://gitee.com/harvey-husky><https://space.bilibili.com/677233356>
定义: 定义:
“该许可协议”指FZSD许可协议 “该许可”指FZSD许可
“该软件”指许可在该许可协议下的程序和相关文档的集合。 “该软件”指许可在该许可下的程序和相关文档的集合。
“官方网址”指由版权所有者提供的该软件的发布网址。 “官方网址”指由版权所有者提供的该软件的发布网址。
您对该软件的复制、使用、修改及分发受如下条款的约束: 您对该软件的复制、使用、修改及分发受如下条款的约束:
1. 禁止添加、修改或删除该许可协议的内容。 1. 禁止添加、修改或删除该许可的内容。
2. 禁止未经授权的转载、销售或二次发布该软件。 2. 禁止未经授权的转载、销售或二次发布该软件。
3. 禁止添加、修改或抹除该软件中的原作者署名。 3. 禁止添加、修改或抹除该软件中的原作者署名。
4. 如果您从部署了该软件的Minecraft服务器中以任何方式获取了收益,则您必须在游戏中的明显位置明确告知用户您的Minecraft服务器使用了该软件,并附上该软件的官方网址。 4. 如果您从部署了该软件的Minecraft服务器中以任何方式获取了收益,则您必须在游戏中的明显位置明确告知用户您的Minecraft服务器使用了该软件,并附上官方网址。
5. 如果您修改了该软件中的任何内容,您必须将修改部分开源在主流开源平台(如gitee<https://gitee.com/>或github<https://github.com/>等)。 5. 如果您修改了该软件中的任何内容,您必须将修改部分开源在主流开源平台(如gitee<https://gitee.com/>或github<https://github.com/>等)。您必须保留该许可证,但您可以追加其他许可证(不包括不支持附加条款的许可证)。当您添加的许可证中的条款与该许可证冲突时,必须以该许可证为准。
6. 如果您修改了该软件中的任何内容,您必须保留该许可协议,但您可以追加其他许可协议(不包括不支持附加条款的许可协议)。当您添加的许可协议中的条款与该许可协议冲突时,必须以该许可协议为准 6. 该软件在提供时不带任何明示或默示的担保。在任何情况下,版权所有者不对任何人因使用该软件而引发的任何直接或间接损失承担任何责任
7. 该软件在提供时不带任何明示或默示的担保。在任何情况下,版权所有者不对任何人因使用该软件而引发的任何直接或间接损失承担任何责任。
+120 -69
View File
@@ -1,97 +1,148 @@
# FZ生存数据包 # FZ-sDataPack
为FZ服务器写的Minecraft生存辅助数据包 一个Minecraft数据包
[![mc版本](https://img.shields.io/badge/Minecraft-1.16+-blue.svg)](https://minecraft.net/)
[![carpet](https://img.shields.io/badge/fabric_carpet-1.4.24+-blue.svg)](https://github.com/gnembon/fabric-carpet/releases)
#### @Author: Harvey_Husky #### @Author: Harvey_Husky
#### Copyright (C) 2019-2023 Harvey_Husky #### Copyright (C) 2019-2022 Harvey_Husky
[Bilibili专栏](https://www.bilibili.com/read/cv4267319)(年久失修) [Bilibili专栏](https://www.bilibili.com/read/cv4267319)(年久失修)
## 安装教程 ## 说明太长不想看·直接安装教程
1. 兼容性 - 1.需要 [Carpet](https://github.com/gnembon/fabric-carpet/releases) Mod **1.4.24** 或以上版本
- `数据包 v3.1.x` 支持 `Minecraft 1.20.x` - 2.**兼容性**
- `数据包 v3.0.x` 支持 `Minecraft 1.18.2-1.19.x` - `数据包 v2.2.x` 支持 `Minecraft 1.19+`
- `数据包 v2.2.x` 支持 `Minecraft 1.19.x` - `数据包 v2.1.x` 支持 `Minecraft 1.17.x-1.18.x`
- `数据包 v2.1.x` 支持 `Minecraft 1.17.x-1.18.x` - `数据包 v2.0.x` 支持 `Minecraft 1.16.3-1.16.5`
- `数据包 v2.0.x` 支持 `Minecraft 1.16.3-1.16.5` - 3.前往 [发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases) 下载此数据包
2. 前往[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)下载对应MC版本的数据包 - 4.从zip文件中挑选你需要的`.sc`文件
3. 从zip文件的 `scripts` 目录中挑选你需要的 `.sc` 文件 - 5.在`world`文件夹中创建`datapacks``scripts`两个文件
4. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks` - 6.将主体`zip`文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks`
5. (可选)下载并安装 [Carpet Mod **1.4.24**](https://github.com/gnembon/fabric-carpet/releases) 或以上版本 - 7.将挑选出来的`.sc`文件放到 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
6. (可选)从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts` - 8.在控制台输入`/reload`(客户端则是重新进入世界
7. 执行 `reload` 指令(或重新打开存档;在一些第三方服务端中可能需要改为`/minecraft:reload`
## 总览
# FZ生存数据包 3.1 [![release版本](https://img.shields.io/badge/发行版-2.2.0-blue.svg)](https://gitee.com/harvey-husky/FZ-sDatapack/releases/2.2.0)
[![数据包版本](https://img.shields.io/badge/正式版-3.1.0.rc.1-blue.svg)](https://gitee.com/harvey-husky/FZ-sDatapack/releases) [![MC版本](https://img.shields.io/badge/Minecraft-1.20+-blue.svg)](https://minecraft.net/) ![设置界面]()
> 其他版本见[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases) - 抬头并按一下 `Shift` 来打开设置界面
## 功能 - 提供玩家挖掘、死亡、击杀、受伤、交易、钓鱼、滑翔和(破基岩)的数据榜单
### 交互器 - 提供扫地机
- 抬头90°并蹲起,或执行 `/trigger fzsd.module.interactor.trigger` 指令唤出交互器 - 无需配置即可支持该铁头功破基岩榜 Mod:[FZ-BBL](https://gitee.com/harvey-husky/FZ-BBL/releases)
### 计分板 - 破基岩榜的分数和订阅设置会在铁头功记分板的总分大于 0 时显示,以免未添加该 Mod 的服务器显示破基岩榜
- 提供下列计分板: - [B站链接](https://www.bilibili.com/read/cv9178207)
| 默认名称 | 计分板ID | - 记分板对照表:
| :------: | :----------------------------------------------: |
| 总榜 | fzsd.module.scoreboard.display.general |
| 活跃度 | fzsd.module.scoreboard.display.activation |
| 飞行距离 | fzsd.module.scoreboard.display.aviating_distance |
| 抖M榜 | fzsd.module.scoreboard.display.damage_taken |
| 死亡榜 | fzsd.module.scoreboard.display.death_count |
| 挖掘榜 | fzsd.module.scoreboard.display.dig_count |
| 钓鱼榜 | fzsd.module.scoreboard.display.fishing_count |
| 击杀榜 | fzsd.module.scoreboard.display.kill_count |
| 放置榜 | fzsd.module.scoreboard.display.placement_count |
| 交易榜 | fzsd.module.scoreboard.display.trade_count |
- 兼容[破基岩榜Mod](https://gitee.com/harvey-husky/yh-bbl) | Object Name | 内容 |
- 安装该Mod后,使用连点器破基岩,破基岩榜将自动显示在交互器页面 | - | - |
| activation | 活跃时间(h) |
| damageTaken | 受伤害榜 |
| deathCounter | 死亡榜 |
| digCounter | 挖掘榜 |
| fishingCounter | 钓鱼榜 |
| killCounter | 击杀榜 |
| tradingCounter | 交易榜 |
| totalList | 总 量 |
| bedrockBreaked(最开始拼错了,后来不方便改了,不要在意) | [破基岩榜](https://www.bilibili.com/video/BV1KJ411b73z) |
| fz.aviate1m | 滑翔距离 |
| 默认名称 | 计分板ID | - 提供一些[地毯脚本](#地毯脚本)`.sc` 文件):***请在升级数据包的同时替换这些工具!!!***
| :------: | :----------------------------------------------: | - 还有一个用于`census`脚本转移数据的python脚本`score_move`
| 破基岩榜 |fzsd.module.scoreboard.display.bedrock_broken_count|
## 更新记录
### 地毯脚本 更新记录可在[此处](./CHANGELOG.md)找到
- 如果你不知道 Carpet Mod 或 Carpet 脚本,请忽略本节 ## 使用
- 需要安装 [Carpet Mod](https://github.com/gnembon/fabric-carpet/releases)
- 从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
- 脚本:
- `fzsd_score.sc`
- 可避免Carpet假人污染计分板
- 可以标记哪些玩家是假人
- *注:请不要使用为假人名添加“bot”前缀的carpet扩展,本插件不支持此类假人!*
- 子命令( `/fzsd_score <子命令>` ):
- `updateFrom <version>`:用于从给定的数据包版本恢复计分板数据(需要测试!)
- `recalculate`:重新计算所有计分板总分
- `recalculate <scoreboardID>`:重新计算该计分板总分
- `set <player> <scoreboardID> <score>`:设置该玩家该计分板的分数
- `reset <player>`:重置该玩家的所有分数
- `reset <player> <scoreboardID>`:重置该玩家该计分板的分数
- `restore player <玩家名> <计分板ID>`:恢复该玩家的该计分板分数
- `restore player <玩家名>`:恢复该玩家的所有计分板分数
- `restore whitelist <计分板ID>`:恢复所有白名单玩家的该计分板分数
- `restore whitelist`:恢复所有白名单玩家的所有计分板分数
- *副作用:恢复完成后玩家会被放置在出生点,请确保出生点完全安全*
- `commandPlayer <permissionType>`:设置player命令权限类型
### 管理员 ### 安装
- 使用`/function admin.fzsd:admin`命令管理(安装、卸载等)各模块 - 需要 [Carpet](https://github.com/gnembon/fabric-carpet/releases) Mod **1.4.24** 或以上版本
### 其他 - **兼容性**
- `v2.2.x` 支持 `Minecraft 1.19+`
- `v2.1.x` 支持 `Minecraft 1.17.x-1.18.x`
- `v2.0.x` 支持 `Minecraft 1.16.3-1.16.5`
- 见游戏内交互器按钮 - 前往 [发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases) 下载此数据包
## 开发者相关 >请下载以 `FZ'sDatapack` 开头的 `.zip` 文件
- 参见[开发文档](/DEVDOC.md)
- **将其放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks`**
- 载入数据包
- 如果是单人存档,请保存并退出,再打开存档
- 如果是服务器,可使用 `/reload` 指令或重启服务器以载入数据包
- 计分板的数据迁移
- 请使用 [restore_scores.sc](#restore_scoressc) 地毯脚本
## 地毯脚本
- **以下脚本皆在数据包(`.zip` 文件)中,请将其(`.sc` 文件)提取,并将其放入 `world/scripts` (在客户端位于 `.minecraft/saves/<存档名>/scripts` **
- 可使用 `/reload` 指令或重启服务器以载入脚本(或使用 Carpet Mod 的指令 `/script load <脚本名>` 载入)
### `here.sc`
- `/here` 向所有人发送自己的位置和所在维度
- 发送的消息使用 [VoxelMap](https://www.curseforge.com/minecraft/mc-mods/voxelmap) 可识别的数组格式
- 安装 [VoxelMap](https://www.curseforge.com/minecraft/mc-mods/voxelmap/files) Mod 后,左键高亮该坐标,`Ctrl+左键` 新建坐标点
### `c.sc`
- `/c` 修改玩家模式为旁观模式
### `s.sc`
- `/s` 修改玩家模式为生存模式
### `tagplayer.sc`
- 这个工具可以防止将地毯 Mod 生成的假人计入记分板
- 可以通过自定义文件名来自定义游戏内命令
- 配置文件:
- `allow_bot_tp`:用于控制是否允许传送假人
- `allow_spawning_whitelist_players`:用于控制是否允许生成白名单内的玩家
- 使用方法:
- 安装 [Carpet](https://github.com/gnembon/fabric-carpet/releases) Mod
- 输入`/script load tagplayer`加载工具
- 包含全部地毯假人自带的功能,如:
- `/tagplayer use xxx once`让假人xxx按一次使用键
- 包含新功能,如:
- `/tagplayer check xxx`:检查玩家的状态
- `/tagplayer checkall`:检查所有玩家的状态
- `/tagplayer killall`:清除所有假人
- 其他用法可以在游戏内输入 `/tagplayer` 查看
### `restore_scores.sc`
- 从数据包 `v1.4` 升级时也需要使用这个工具
- 这个工具可以从白名单读取玩家列表,逐一召唤假人,读取统计信息并赋值给记分板
- 如未开启白名单,请把 `usercache.json` 复制一份改成 `whitelist.json` 再进行操作
- ***注意:原有的记分板会被删除***
- 使用方法:
- 输入 `/script load restore_scores` 加载工具
- 输入 `/restore_scores by_whitelist` 开始数据迁移
- 输入 `/script unload restore_scores` 卸载工具
- 记得用完就删掉它!
### `Census.sc`
- `/census`
- 一个还在测试的脚本,可以输出挖掘榜
@@ -1,38 +0,0 @@
tellraw @s {"text": "管理员页面:", "color": "red"}
tellraw @s [{"text": "全局:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/reload"}, "hoverEvent": {"action": "show_text", "contents": {"text": "重载", "color": "yellow"}}}, {"text": "重载", "color": "yellow"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:install"}, "hoverEvent": {"action": "show_text", "contents": [{"text": "安装:", "color": "dark_green"}, {"text": "仅安装上次卸载前已安装的模块", "color": "red"}]}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:uninstall"}, "hoverEvent": {"action": "show_text", "contents": [{"text": "卸载:", "color": "dark_red"}, {"text": "将保留模块安装记录", "color": "red"}]}}, {"text": "卸载", "color": "dark_red"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:reinstall"}, "hoverEvent": {"action": "show_text", "contents": [{"text": "重装:", "color": "gold"}, {"text": "可能可以修复一些奇怪问题,", "color": "white"}, {"text": "将保留模块安装记录", "color": "red"}]}}, {"text": "重装", "color": "gold"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:deep_install"}, "hoverEvent": {"action": "show_text", "contents": [{"text": "深度安装:", "color": "dark_green"}, {"text": "将安装所有模块", "color": "red"}]}}, {"text": "深度安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:deep_uninstall"}, "hoverEvent": {"action": "show_text", "contents": [{"text": "深度卸载:", "color": "dark_red"}, {"text": "将清除模块安装记录", "color": "red"}]}}, {"text": "深度卸载", "color": "dark_red"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:deep_reinstall"}, "hoverEvent": {"action": "show_text", "contents": [{"text": "深度重装:", "color": "gold"}, {"text": "可能可以修复一些奇怪问题,", "color": "white"}, {"text": "将清除模块安装记录", "color": "red"}]}}, {"text": "深度重装", "color": "gold"}, {"text": "]"}]]]
tellraw @s [{"text": "日志等级:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function fzsd:logger/level/fine"}, "hoverEvent": {"action": "show_text", "contents": {"text": "详细", "color": "gray"}}}, {"text": "详细", "color": "gray"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function fzsd:logger/level/debug"}, "hoverEvent": {"action": "show_text", "contents": {"text": "调试", "color": "dark_aqua"}}}, {"text": "调试", "color": "dark_aqua"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function fzsd:logger/level/info"}, "hoverEvent": {"action": "show_text", "contents": {"text": "信息", "color": "green"}}}, {"text": "信息", "color": "green"}, {"text": "]"}]]]
tellraw @s [{"text": "血量显示:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/health/install"}, "hoverEvent": {"action": "show_text", "contents": {"text": "安装", "color": "dark_green"}}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/health/uninstall"}, "hoverEvent": {"action": "show_text", "contents": {"text": "卸载", "color": "dark_red"}}}, {"text": "卸载", "color": "dark_red"}, {"text": "]"}]]]
tellraw @s [{"text": "- 名牌下方:", "color": "gray"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function admin.fzsd:module/health/below_name/on"}, "hoverEvent": {"action": "show_text", "contents": {"text": "显示", "color": "dark_green"}}}, {"text": "显示", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function admin.fzsd:module/health/below_name/off"}, "hoverEvent": {"action": "show_text", "contents": {"text": "隐藏", "color": "dark_red"}}}, {"text": "隐藏", "color": "dark_red"}, {"text": "]"}]]]
tellraw @s [{"text": "- 玩家列表内:", "color": "gray"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function admin.fzsd:module/health/list/on"}, "hoverEvent": {"action": "show_text", "contents": {"text": "显示", "color": "dark_green"}}}, {"text": "显示", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function admin.fzsd:module/health/list/off"}, "hoverEvent": {"action": "show_text", "contents": {"text": "隐藏", "color": "dark_red"}}}, {"text": "隐藏", "color": "dark_red"}, {"text": "]"}]]]
tellraw @s [{"text": "玩家位置:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/here/install"}, "hoverEvent": {"action": "show_text", "contents": {"text": "安装", "color": "dark_green"}}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/here/uninstall"}, "hoverEvent": {"action": "show_text", "contents": {"text": "卸载", "color": "dark_red"}}}, {"text": "卸载", "color": "dark_red"}, {"text": "]"}]]]
tellraw @s [{"text": "交互器:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/interactor/install"}, "hoverEvent": {"action": "show_text", "contents": {"text": "安装", "color": "dark_green"}}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/interactor/uninstall"}, "hoverEvent": {"action": "show_text", "contents": {"text": "卸载", "color": "dark_red"}}}, {"text": "卸载", "color": "dark_red"}, {"text": "]"}]]]
tellraw @s [{"text": "登录消息:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/join_message/install"}, "hoverEvent": {"action": "show_text", "contents": {"text": "安装", "color": "dark_green"}}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/join_message/uninstall"}, "hoverEvent": {"action": "show_text", "contents": {"text": "卸载", "color": "dark_red"}}}, {"text": "卸载", "color": "dark_red"}, {"text": "]"}]]]
tellraw @s [{"text": "上一死亡点:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/last_death/install"}, "hoverEvent": {"action": "show_text", "contents": {"text": "安装", "color": "dark_green"}}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/last_death/uninstall"}, "hoverEvent": {"action": "show_text", "contents": {"text": "卸载", "color": "dark_red"}}}, {"text": "卸载", "color": "dark_red"}, {"text": "]"}]]]
tellraw @s [{"text": "上次穿出的下界传送门:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/last_nether_portal/install"}, "hoverEvent": {"action": "show_text", "contents": {"text": "安装", "color": "dark_green"}}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/last_nether_portal/uninstall"}, "hoverEvent": {"action": "show_text", "contents": {"text": "卸载", "color": "dark_red"}}}, {"text": "卸载", "color": "dark_red"}, {"text": "]"}]]]
tellraw @s [{"text": "上一出生点:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/last_spawn_point/install"}, "hoverEvent": {"action": "show_text", "contents": {"text": "安装", "color": "dark_green"}}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/last_spawn_point/uninstall"}, "hoverEvent": {"action": "show_text", "contents": {"text": "卸载", "color": "dark_red"}}}, {"text": "卸载", "color": "dark_red"}, {"text": "]"}]]]
tellraw @s [{"text": "计分板:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/scoreboard/install"}, "hoverEvent": {"action": "show_text", "contents": {"text": "安装", "color": "dark_green"}}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/scoreboard/uninstall"}, "hoverEvent": {"action": "show_text", "contents": {"text": "卸载", "color": "dark_red"}}}, {"text": "卸载", "color": "dark_red"}, {"text": "]"}]]]
tellraw @s [{"text": "扫地机:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/sweeper/install"}, "hoverEvent": {"action": "show_text", "contents": {"text": "安装", "color": "dark_green"}}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/sweeper/uninstall"}, "hoverEvent": {"action": "show_text", "contents": {"text": "卸载", "color": "dark_red"}}}, {"text": "卸载", "color": "dark_red"}, {"text": "]"}]]]
@@ -1 +0,0 @@
function fzsd:system/carpet/settings_preset
@@ -1,2 +0,0 @@
data modify storage fzsd:config fzsd.module.health.display.below_name set value 0b
function #fzsd:module/health/try_load
@@ -1,2 +0,0 @@
data modify storage fzsd:config fzsd.module.health.display.below_name set value 1b
function #fzsd:module/health/try_load
@@ -1,2 +0,0 @@
data modify storage fzsd:config fzsd.module.health.display.list set value 0b
function #fzsd:module/health/try_load
@@ -1,2 +0,0 @@
data modify storage fzsd:config fzsd.module.health.display.list set value 1b
function #fzsd:module/health/try_load
@@ -1,14 +1,9 @@
{ {
"parent": "fzsd:game_event",
"criteria": { "criteria": {
"on_sneak": { "config_check_sneak":{
"trigger": "minecraft:tick", "trigger": "minecraft:tick",
"conditions": { "conditions": {
"player": [ "player": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
},
{ {
"condition": "minecraft:entity_properties", "condition": "minecraft:entity_properties",
"entity": "this", "entity": "this",
@@ -21,8 +16,5 @@
] ]
} }
} }
},
"rewards": {
"function": "fzsd:game_event/advancement/on_sneak"
} }
} }
@@ -1,26 +1,22 @@
{ {
"parent": "fzsd:game_event/on_sneak",
"criteria": { "criteria": {
"on_unsneak": { "config_check_sneak":{
"trigger": "minecraft:tick", "trigger": "minecraft:tick",
"conditions": { "conditions": {
"player": [ "player": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
},
{ {
"condition": "minecraft:entity_properties", "condition": "minecraft:entity_properties",
"entity": "this", "entity": "this",
"predicate": { "predicate": {
"flags": { "type": "minecraft:player",
"is_sneaking": false
},
"type_specific": { "type_specific": {
"type": "player", "type": "player",
"advancements": { "advancements": {
"fzsd:game_event/on_sneak": true "fz:config/sneak": true
} }
},
"flags": {
"is_sneaking": false
} }
} }
} }
@@ -29,6 +25,6 @@
} }
}, },
"rewards": { "rewards": {
"function": "fzsd:game_event/advancement/on_unsneak" "function": "fz:config/unsneak"
} }
} }
@@ -1,8 +1,7 @@
{ {
"parent": "fzsd:game_event",
"criteria": { "criteria": {
"on_login": { "leave_game": {
"trigger": "tick", "trigger": "minecraft:tick",
"conditions": { "conditions": {
"player": [ "player": [
{ {
@@ -11,7 +10,7 @@
"condition": "minecraft:entity_scores", "condition": "minecraft:entity_scores",
"entity": "this", "entity": "this",
"scores": { "scores": {
"fzsd.event.leave_game": { "leaveGame": {
"max": 0 "max": 0
} }
} }
@@ -22,6 +21,6 @@
} }
}, },
"rewards": { "rewards": {
"function": "fzsd:game_event/advancement/on_login" "function": "fz:login/onlogin"
} }
} }
@@ -1,7 +1,6 @@
{ {
"parent": "fzsd:game_event",
"criteria": { "criteria": {
"on_took_damage": { "activation": {
"trigger": "minecraft:tick", "trigger": "minecraft:tick",
"conditions": { "conditions": {
"player": [ "player": [
@@ -9,8 +8,8 @@
"condition": "minecraft:entity_scores", "condition": "minecraft:entity_scores",
"entity": "this", "entity": "this",
"scores": { "scores": {
"fzsd.event.damage_taken": { "actimeCounter": {
"min": 10 "min": 3600
} }
} }
} }
@@ -19,6 +18,6 @@
} }
}, },
"rewards": { "rewards": {
"function": "fzsd:game_event/advancement/on_took_damage" "function": "fz:scoreboards/activation/calculator"
} }
} }
@@ -1,7 +1,6 @@
{ {
"parent": "fzsd:game_event",
"criteria": { "criteria": {
"on_aviate_one_meter": { "activation": {
"trigger": "minecraft:tick", "trigger": "minecraft:tick",
"conditions": { "conditions": {
"player": [ "player": [
@@ -9,7 +8,7 @@
"condition": "minecraft:entity_scores", "condition": "minecraft:entity_scores",
"entity": "this", "entity": "this",
"scores": { "scores": {
"fzsd.event.aviating_distance": { "fz.aviateCounter": {
"min": 200 "min": 200
} }
} }
@@ -19,6 +18,6 @@
} }
}, },
"rewards": { "rewards": {
"function": "fzsd:game_event/advancement/on_aviate_one_meter" "function": "fz:scoreboards/aviate1m/calculator"
} }
} }
@@ -1,7 +1,6 @@
{ {
"parent": "fzsd:game_event",
"criteria": { "criteria": {
"on_dead": { "damage_taken": {
"trigger": "minecraft:tick", "trigger": "minecraft:tick",
"conditions": { "conditions": {
"player": [ "player": [
@@ -9,7 +8,7 @@
"condition": "minecraft:entity_scores", "condition": "minecraft:entity_scores",
"entity": "this", "entity": "this",
"scores": { "scores": {
"fzsd.event.death_count": { "fz.bbl": {
"min": 1 "min": 1
} }
} }
@@ -19,6 +18,6 @@
} }
}, },
"rewards": { "rewards": {
"function": "fzsd:game_event/advancement/on_dead" "function": "fz:scoreboards/bedrockbreaked/calculator"
} }
} }
@@ -1,7 +1,6 @@
{ {
"parent": "fzsd:game_event",
"criteria": { "criteria": {
"broke_bedrock": { "damage_taken": {
"trigger": "minecraft:tick", "trigger": "minecraft:tick",
"conditions": { "conditions": {
"player": [ "player": [
@@ -9,7 +8,7 @@
"condition": "minecraft:entity_scores", "condition": "minecraft:entity_scores",
"entity": "this", "entity": "this",
"scores": { "scores": {
"fzsd.extra.bbl": { "10xDamageTaken": {
"min": 1 "min": 1
} }
} }
@@ -19,6 +18,6 @@
} }
}, },
"rewards": { "rewards": {
"function": "fzsd.extra.bbl:event/advancement/broke_bedrock" "function": "fz:scoreboards/damagetaken/calculator"
} }
} }
@@ -1,7 +1,6 @@
{ {
"parent": "fzsd:game_event",
"criteria": { "criteria": {
"on_play_one_hour": { "death_counter": {
"trigger": "minecraft:tick", "trigger": "minecraft:tick",
"conditions": { "conditions": {
"player": [ "player": [
@@ -9,8 +8,8 @@
"condition": "minecraft:entity_scores", "condition": "minecraft:entity_scores",
"entity": "this", "entity": "this",
"scores": { "scores": {
"fzsd.event.play_ticks": { "deathTester": {
"min": 72000 "min": 1
} }
} }
} }
@@ -19,6 +18,6 @@
} }
}, },
"rewards": { "rewards": {
"function": "fzsd:game_event/advancement/on_play_one_hour" "function": "fz:scoreboards/deathcounter/calculator"
} }
} }
@@ -0,0 +1,244 @@
{
"criteria": {
"used_tools": {
"trigger": "minecraft:tick",
"conditions": {
"player": [
{
"condition": "minecraft:alternative",
"terms": [
{
"condition": "minecraft:entity_scores",
"scores": {
"usedWooShovel": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedWooPickaxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedWooHoe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedWooAxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedStoShovel": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedStoPickaxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedStoHoe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedStoAxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedNetShovel": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedNetPickaxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedNetHoe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedNetAxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedIroShovel": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedIroPickaxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedIroHoe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedIroAxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedGolShovel": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedGolPickaxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedGolHoe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedGolAxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedDiaShovel": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedDiaPickaxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedDiaHoe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedDiaAxe": {
"min": 1
}
},
"entity": "this"
},
{
"condition": "minecraft:entity_scores",
"scores": {
"usedShears": {
"min": 1
}
},
"entity": "this"
}
]
}
]
}
}
},
"rewards": {
"function": "fz:scoreboards/digcounter/digtrigger"
}
}
@@ -0,0 +1,58 @@
{
"criteria": {
"right_click_tools": {
"trigger": "minecraft:item_used_on_block",
"conditions": {
"item": {
"items": [
"golden_axe",
"golden_hoe",
"golden_shovel",
"wooden_axe",
"wooden_hoe",
"wooden_shovel",
"diamond_axe",
"diamond_hoe",
"diamond_shovel",
"iron_axe",
"iron_hoe",
"iron_shovel",
"stone_axe",
"stone_hoe",
"stone_shovel",
"netherite_axe",
"netherite_hoe",
"netherite_shovel"
]
},
"location": {
"block": {
"blocks": [
"dirt_path",
"farmland",
"oak_log",
"stripped_birch_log",
"stripped_acacia_log",
"stripped_jungle_log",
"stripped_spruce_log",
"stripped_dark_oak_log",
"stripped_warped_stem",
"stripped_crimson_stem",
"stripped_oak_wood",
"stripped_birch_wood",
"stripped_acacia_wood",
"stripped_jungle_wood",
"stripped_spruce_wood",
"stripped_dark_oak_wood",
"stripped_warped_hyphae",
"stripped_crimson_hyphae"
]
}
}
}
}
},
"rewards": {
"function": "fz:scoreboards/digcounter/toolsfix"
}
}
@@ -0,0 +1,48 @@
{
"criteria": {
"tools_hit_entities": {
"trigger": "minecraft:player_hurt_entity",
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"mainhand": {
"items": [
"iron_axe",
"stone_axe",
"golden_axe",
"wooden_axe",
"diamond_axe",
"netherite_axe",
"iron_shovel",
"stone_shovel",
"golden_shovel",
"wooden_shovel",
"diamond_shovel",
"netherite_shovel",
"iron_hoe",
"stone_hoe",
"golden_hoe",
"wooden_hoe",
"diamond_hoe",
"netherite_hoe",
"iron_pickaxe",
"stone_pickaxe",
"golden_pickaxe",
"wooden_pickaxe",
"diamond_pickaxe",
"netherite_pickaxe"
]
}
}
}
}
]
}
}
},
"rewards": {"function": "fz:scoreboards/digcounter/toolsfix2"}
}
@@ -0,0 +1,23 @@
{
"criteria": {
"fishing_counter": {
"trigger": "minecraft:tick",
"conditions": {
"player": [
{
"condition": "minecraft:entity_scores",
"entity": "this",
"scores": {
"fishingTester": {
"min": 1
}
}
}
]
}
}
},
"rewards": {
"function": "fz:scoreboards/fishingcounter/calculator"
}
}
@@ -0,0 +1,24 @@
{
"criteria": {
"kill_counter": {
"trigger": "minecraft:player_killed_entity",
"conditions": {
"player": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:entity_scores",
"entity": "this",
"scores": {
"carpetBot": 1
}
}
}
]
}
}
},
"rewards": {
"function": "fz:scoreboards/killcounter/calculator"
}
}
@@ -0,0 +1,24 @@
{
"criteria": {
"trading_counter": {
"trigger": "minecraft:villager_trade",
"conditions": {
"player": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:entity_scores",
"entity": "this",
"scores": {
"carpetBot": 1
}
}
}
]
}
}
},
"rewards": {
"function": "fz:scoreboards/tradingcounter/calculator"
}
}
@@ -1,17 +1,18 @@
#给萌新辅助自动配置地毯优化和功能的函数
carpet setDefault language zh_cn carpet setDefault language zh_cn
carpet setDefault stackableShulkerBoxes 16 carpet setDefault antiCheatDisabled true
carpet setDefault leadFix true carpet setDefault combineXPOrbs true
carpet setDefault ctrlQCraftingFix true
carpet setDefault smoothClientAnimations true
carpet setDefault fastRedstoneDust true
carpet setDefault reloadSuffocationFix true
carpet setDefault persistentParrots true carpet setDefault persistentParrots true
carpet setDefault missingTools true carpet setDefault stackableShulkerBoxes true
carpet setDefault optimizedTNT true
carpet setDefault placementRotationFix true
carpet setDefault cleanLogs true
carpet setDefault lightningKillsDropsFix true
carpet setDefault lagFreeSpawning true carpet setDefault lagFreeSpawning true
carpet setDefault accurateBlockPlacement true carpet setDefault ctrlQCraftingFix true
carpet setDefault flippinCactus true carpet setDefault flippinCactus true
carpet setDefault missingTools true
carpet setDefault smoothClientAnimations true
carpet setDefault optimizedTNT true
carpet setDefault leadFix true
carpet setDefault placementRotationFix true
carpet setDefault xpNoCooldown true
carpet setDefault defaultLoggers mobcaps,tps carpet setDefault defaultLoggers mobcaps,tps
carpet setDefault commandTick true
carpet setDefault commandTrackAI true
@@ -0,0 +1,5 @@
#初始化tagplayer
carpet setDefault commandScript true
carpet setDefault commandScriptACE ops
script run carpet_rules = system_info('world_carpet_rules'); if(carpet_rules:'scriptsAutoload' != 'true', run('carpet setDefault scriptsAutoload true'); run('tellraw @a {"text":"[错误]假人插件未正确加载,已自动将“scriptsAutoload”设为true。正在重载,如仍未加载,请手动加载...", "color":"#ff6100"}'); run('reload'))
script unload player
@@ -0,0 +1,28 @@
#设置或重设超时时间为300stimeout函数
schedule function fz:config/timeout 300s
#输出玩家可见的设置页面
##扫地机
execute if data storage fz:survival installed{sweeper: 1b} run tellraw @s {"text": "扫地机:","color": "#ccff00"}
##扫地机时间1478966210-1478966215
execute if data storage fz:survival 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:survival 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:survival 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:survival installed{sweeper: 1b} run tellraw @s[tag=!fz.sweeperSoundOff] [{"text": "- "},{"text": "声音:","color": "#8c8f91"},{"text": "[已开启]","color": "#00ff00","clickEvent": {"action": "run_command","value": "/trigger config set 1478966209"}}]
execute if data storage fz:survival installed{sweeper: 1b} run tellraw @s[tag=fz.sweeperSoundOff] [{"text": "- "},{"text": "声音:","color": "#8c8f91"},{"text": "[已关闭]","color": "#ff0000","clickEvent": {"action": "run_command","value": "/trigger config set 1478966208"}}]
##消息提示
execute if data storage fz:survival installed{sweeper: 1b} run tellraw @s[tag=!fz.sweeperMessageOff] [{"text": "- "},{"text": "消息:","color": "#8c8f91"},{"text": "[已开启]","color": "#00ff00","clickEvent": {"action": "run_command","value": "/trigger config set 1478966205"}}]
execute if data storage fz:survival installed{sweeper: 1b} run tellraw @s[tag=fz.sweeperMessageOff] [{"text": "- "},{"text": "消息:","color": "#8c8f91"},{"text": "[已关闭]","color": "#ff0000","clickEvent": {"action": "run_command","value": "/trigger config set 1478966204"}}]
##血条栏提示
execute if data storage fz:survival installed{sweeper: 1b} run tellraw @s[tag=!fz.sweeperBossbarOff] [{"text": "- "},{"text": "血条栏:","color": "#8c8f91"},{"text": "[已开启]","color": "#00ff00","clickEvent": {"action": "run_command","value": "/trigger config set 1478966207"}}]
execute if data storage fz:survival installed{sweeper: 1b} run tellraw @s[tag=fz.sweeperBossbarOff] [{"text": "- "},{"text": "血条栏:","color": "#8c8f91"},{"text": "[已关闭]","color": "#ff0000","clickEvent": {"action": "run_command","value": "/trigger config set 1478966206"}}]
##记分板
execute if data storage fz:survival installed{scoreboards: 1b} run tellraw @s {"text": "记分板:","color": "#ccff00"}
##计分板显示1838019370-1838019379
execute if data storage fz:survival installed{scoreboards: 1b} unless score bedrockBreaked matches 1.. run tellraw @s [{"text": "- "},{"text": "[关]","color": "#ff0000","hoverEvent": {"action": "show_text","contents": {"text": "", "color": "#ff0000"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019370"}},{"text": "[轮播]","color": "gold","hoverEvent": {"action": "show_text","contents": {"text": "轮播", "color": "gold"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019371"}},{"text": "[总量]","color": "dark_aqua","hoverEvent": {"action": "show_text","contents": {"text": "总量","color": "dark_aqua"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019379"}},{"text": "[在线时间(h)]","color": "aqua","hoverEvent": {"action": "show_text","contents": {"text": "在线时间(h)","color": "aqua"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019372"}},{"text": "[抖M名单]","color": "yellow","hoverEvent": {"action": "show_text","contents": {"text": "受伤害量","color": "yellow"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019373"}},{"text": "[死亡榜]","color": "dark_red","hoverEvent": {"action": "show_text","contents": {"text": "死亡榜","color": "dark_red"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019374"}},{"text": "[挖掘榜]","color": "gray","hoverEvent": {"action": "show_text","contents": {"text": "挖掘榜","color": "gray"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019375"}},{"text": "[钩直饵咸]","color": "blue","hoverEvent": {"action": "show_text","contents": {"text": "钓鱼榜","color": "blue"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019376"}},{"text": "[击杀榜]","color": "red","hoverEvent": {"action": "show_text","contents": {"text": "击杀榜","color": "red"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019377"}},{"text": "[交♂易榜]","color": "green","hoverEvent": {"action": "show_text","contents": {"text": "交易榜","color": "green"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019378"}}]
execute if data storage fz:survival installed{scoreboards: 1b} unless score bedrockBreaked matches 1.. run tellraw @s [{"text": "- "},{"text": "[滑翔距离]", "color": "light_purple", "hoverEvent": {"action": "show_text","contents": {"text": "滑翔距离", "color": "light_purple"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019368"}}]
##计分板显示1838019369-1838019379()
execute if data storage fz:survival installed{scoreboards: 1b} if score bedrockBreaked matches 1.. run tellraw @s [{"text": "- "},{"text": "[关]","color": "#ff0000","hoverEvent": {"action": "show_text","contents": {"text": "", "color": "#ff0000"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019370"}},{"text": "[轮播]","color": "gold","hoverEvent": {"action": "show_text","contents": {"text": "轮播", "color": "gold"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019371"}},{"text": "[总量]","color": "dark_aqua","hoverEvent": {"action": "show_text","contents": {"text": "总量","color": "dark_aqua"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019379"}},{"text": "[在线时间(h)]","color": "aqua","hoverEvent": {"action": "show_text","contents": {"text": "在线时间(h)","color": "aqua"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019372"}},{"text": "[抖M名单]","color": "yellow","hoverEvent": {"action": "show_text","contents": {"text": "受伤害量","color": "yellow"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019373"}},{"text": "[死亡榜]","color": "dark_red","hoverEvent": {"action": "show_text","contents": {"text": "死亡榜","color": "dark_red"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019374"}},{"text": "[挖掘榜]","color": "gray","hoverEvent": {"action": "show_text","contents": {"text": "挖掘榜","color": "gray"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019375"}},{"text": "[钩直饵咸]","color": "blue","hoverEvent": {"action": "show_text","contents": {"text": "钓鱼榜","color": "blue"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019376"}},{"text": "[击杀榜]","color": "red","hoverEvent": {"action": "show_text","contents": {"text": "击杀榜","color": "red"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019377"}},{"text": "[交♂易榜]","color": "green","hoverEvent": {"action": "show_text","contents": {"text": "交易榜","color": "green"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019378"}}]
execute if data storage fz:survival installed{scoreboards: 1b} if score bedrockBreaked matches 1.. run tellraw @s [{"text": "- "},{"text": "[滑翔距离]", "color": "light_purple", "hoverEvent": {"action": "show_text","contents": {"text": "滑翔距离", "color": "light_purple"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019368"}},{"text": "[铁头功]","color": "dark_green","hoverEvent": {"action": "show_text","contents": {"text": "破基岩榜","color": "dark_green"}},"clickEvent": {"action": "run_command","value": "/trigger config set 1838019369"}}]
@@ -0,0 +1,9 @@
#安装设置功能
#初始化触发器记分板
scoreboard objectives add config trigger
#存入已安装信息
data modify storage fz:survival installed.config set value 1b
#提示已安装
tellraw @a {"text": "[信息]设置功能已安装","color": "#5fff00"}
#开始运行
function fz:config/start
+8
View File
@@ -0,0 +1,8 @@
#主函数
#允许玩家操作config记分板
scoreboard players enable @a config
#每条子函数都要reset config分数和function fz:config/display
execute if data storage fz:survival installed{sweeper: 1b} as @a if score @s config matches 1478966200..1478966217 run function fz:sweeper/config/trigger
execute if data storage fz:survival installed{scoreboards: 1b} as @a if score @s config matches 1838019368..1838019379 run function fz:scoreboards/config
#循环执行本函数
schedule function fz:config/main 1t
@@ -0,0 +1,9 @@
#删除进程残留
schedule clear fz:config/main
schedule clear fz:config/timeout
data remove storage fz.config is_open
scoreboard players enable @a config
advancement revoke @a only fz:config/sneak
advancement revoke @a only fz:config/unsneak
#测试用的输出
tellraw @a {"text": "[信息]设置功能已启用","color": "#5fff00"}
@@ -0,0 +1,8 @@
#关闭主进程
schedule clear fz:config/main
#输出给打开过设置界面的玩家的消息
tellraw @a[scores={openingConfig=1}] {"text": "[提醒]5分钟无任何人回应,为节省性能,已关闭设置功能,请重新唤起","color": "#66ffff"}
#重置打开过设置界面的玩家的列表
scoreboard objectives remove openingConfig
#移除设置界面被打开的信息
data remove storage fz.config is_open
@@ -0,0 +1,12 @@
#触发函数unsneak函数控制
#重置玩家的config分数
scoreboard players reset @s config
#判断设置功能是否已经开启
execute unless data storage fz.config {is_open: 1b} run function fz:config/main
execute unless data storage fz.config {is_open: 1b} run scoreboard objectives add openingConfig dummy
execute unless data storage fz.config {is_open: 1b} run data merge storage fz.config {is_open: 1b}
schedule function fz:config/timeout 300s replace
#将该玩家加入打开设置页面的玩家的列表
scoreboard players set @s openingConfig 1
#将设置内容输出给玩家
function fz:config/display
@@ -0,0 +1,9 @@
#卸载设置功能
#移除进程残留
schedule clear fz:config/main
schedule clear fz:config/timeout
data remove storage fz.config is_open
#写入已卸载的信息
data modify storage fz:survival installed.config set value 0b
#提示已卸载
tellraw @a {"text": "[信息]设置功能已卸载","color": "#5fff00"}
@@ -0,0 +1,6 @@
#由config/sneak和config/unsneak成就触发
#判断玩家视角是否指向正上方turnon函数
execute if data storage fz:survival installed{config: 1b} if entity @s[x_rotation=-90] run function fz:config/turnon
#重置该玩家的两个成就
advancement revoke @s only fz:config/sneak
advancement revoke @s only fz:config/unsneak
@@ -0,0 +1,10 @@
#安装血量显示
#初始化
scoreboard objectives add Health health {"text": "cm","color": "yellow"}
scoreboard objectives modify Health rendertype hearts
scoreboard objectives setdisplay list Health
scoreboard objectives setdisplay belowName Health
#写入已安装的信息
data modify storage fz:survival installed.health set value 1b
#提示已安装
tellraw @a {"text": "[信息]血量显示已安装","color": "#5fff00"}
@@ -0,0 +1,7 @@
#卸载血量显示
#删除计分板
scoreboard objectives remove Health
#写入已卸载的信息
data modify storage fz:survival installed.health set value 0b
#提示已卸载
tellraw @a {"text": "[信息]血量显示已卸载","color": "#5fff00"}
+42
View File
@@ -0,0 +1,42 @@
#用于储存参数的记分板
scoreboard objectives add parameter dummy
#用于数学计算的记分板
scoreboard objectives add calculator dummy
scoreboard players set 200 calculator 200
scoreboard players set 100 calculator 100
scoreboard players set 10 calculator 10
scoreboard players set 1 calculator 1
#检测玩家退出游戏的记分板
scoreboard objectives add leaveGame minecraft.custom:minecraft.leave_game
#安装各功能
function fz:config/install
function fz:sweeper/install
function fz:scoreboards/install
function fz:health/install
function fz:login/logintips/install
function fz:carpet/carpet
#版本信息
data modify storage fz:survival version set from storage fz:survival newVersion
data modify storage fz:survival date set value "2020-7.21"
data modify storage fz:survival time set value "1:14"
#提示已安装
data modify storage fz:survival installed.datapack set value 1b
tellraw @a {"text": "[信息]安装完成!","color": "#5fff00"}
tellraw @a {"text": "[信息]启动完毕","color": "#5fff00"}
#info: #5fff00
#alert: #d7ff00
#warn: #ffd900
#error: #ff6100
#抖M名单 -
#钩直饵咸 -
#交 -
#铁头功 -
#群p抖M -
#全部木大 -
#总交 -
#全员头铁 -
#{"text": "cm","color": "yellow"} - {"text": "HP"}
+22
View File
@@ -0,0 +1,22 @@
#新版本号
data modify storage fz:survival newVersion set value [2,2,0]
execute if data storage fz:survival newVersion[3] run data modify storage fz:survival snapshot set value 1b
execute unless data storage fz:survival newVersion[3] run data remove storage fz:survival snapshot
##data remove storage fz:survival snapshot
#版本号识别
scoreboard objectives add fz.cache dummy
execute store result score version1 fz.cache run data get storage fz:survival version[1]
execute store result score version2 fz.cache run data get storage fz:survival version[2]
execute store result score version3 fz.cache run data get storage fz:survival version[3]
execute store result score newVersion1 fz.cache run data get storage fz:survival newVersion[1]
execute store result score newVersion2 fz.cache run data get storage fz:survival newVersion[2]
execute store result score newVersion3 fz.cache run data get storage fz:survival newVersion[3]
#版本号比较
execute if data storage fz:survival installed{datapack: 1b} unless score version1 fz.cache = newVersion1 fz.cache run function fz:start/update
execute if data storage fz:survival installed{datapack: 1b} if score version1 fz.cache = newVersion1 fz.cache run function fz:start/00xx
scoreboard objectives remove fz.cache
#如果未安装且未卸载则安装
execute unless data storage fz:survival installed{datapack: 1b} unless data storage fz:survival installed{datapack: 0b} run function fz:install
#输出版本信息
execute unless data storage fz:survival {snapshot:1b} unless data storage fz:survival installed{datapack: 0b} run tellraw @a [{"text": "[版本信息]FZ's Datapack-","color": "#ffd900"},{"nbt":"version[0]","storage":"fz:survival","color": "#ffd900"},{"text":".","color": "#ffd900"},{"nbt":"version[1]","storage":"fz:survival","color": "#ffd900"},{"text": ".","color": "#ffd900"},{"nbt":"version[2]","storage":"fz:survival","color": "#ffd900"}]
execute if data storage fz:survival {snapshot:1b} unless data storage fz:survival installed{datapack: 0b} run tellraw @a [{"text": "[版本信息]FZ's Datapack-","color": "#ffd900"},{"nbt":"version[0]","storage":"fz:survival","color": "#ffd900"},{"text":".","color": "#ffd900"},{"nbt":"version[1]","storage":"fz:survival","color": "#ffd900"},{"text": ".","color": "#ffd900"},{"nbt":"version[2]","storage":"fz:survival","color": "#ffd900"},{"text": ".","color": "#ffd900"},{"nbt":"version[3]","storage":"fz:survival","color": "#ffd900"},{"text": "-SNAPSHOT","color": "red"}]
@@ -0,0 +1,4 @@
#安装登陆提示
data modify storage fz:survival installed.logintips set value 1b
#提示已安装
tellraw @a {"text": "[信息]登陆提示已安装","color": "#5fff00"}
@@ -0,0 +1,4 @@
#卸载登陆提示
data modify storage fz:survival installed.logintips set value 0b
#提示已卸载
tellraw @a {"text": "[信息]登陆提示已卸载","color": "#5fff00"}
@@ -0,0 +1,17 @@
execute if data storage fz:survival installed{logintips: 1b} run tellraw @s {"text": "[提醒]站在地面,抬头并按一下shift即可打开设置页面","color": "#66ffff"}
scoreboard players set @s leaveGame 0
advancement revoke @s only fz:scoreboards/activation
advancement revoke @s only fz:scoreboards/damagetaken
advancement revoke @s only fz:scoreboards/deathcounter
advancement revoke @s only fz:scoreboards/fishingcounter
advancement revoke @s only fz:scoreboards/killcounter
advancement revoke @s only fz:scoreboards/tradingcounter
advancement revoke @s only fz:scoreboards/digcounter/digtrigger
advancement revoke @s only fz:scoreboards/digcounter/toolsfix
advancement revoke @s only fz:scoreboards/digcounter/toolsfix2
advancement revoke @s only fz:config/sneak
advancement revoke @s only fz:config/unsneak
execute if data storage fz:survival installed{datapack: 1b} run advancement revoke @s from fz:leavegame
@@ -0,0 +1,9 @@
#计算在线时间和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s activation += 1 calculator
execute unless score @s carpetBot matches 1 run scoreboard players operation 线(h) activation += 1 calculator
execute unless score @s carpetBot matches 1 run scoreboard players operation 线(h) totalList += 1 calculator
#重置玩家计时器
scoreboard players reset @s actimeCounter
#重置触发该函数的成就
advancement revoke @s only fz:scoreboards/activation
@@ -0,0 +1,3 @@
#主函数给在线玩家的计时器1s+1
scoreboard players add @a actimeCounter 1
schedule function fz:scoreboards/activation/main 1s
@@ -0,0 +1,2 @@
#将在线时间榜显示给轮播计分板的队伍
scoreboard objectives setdisplay sidebar.team.gold activation
@@ -0,0 +1,11 @@
#计算滑翔距离和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s fz.aviateOneTime = @s fz.aviateCounter
execute unless score @s carpetBot matches 1 run scoreboard players operation @s fz.aviateOneTime /= 200 calculator
execute unless score @s carpetBot matches 1 run scoreboard players operation @s fz.aviate1m += @s fz.aviateOneTime
execute unless score @s carpetBot matches 1 run scoreboard players operation fz.aviate1m += @s fz.aviateOneTime
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s fz.aviateOneTime
#重置滑翔探测记分板
scoreboard players operation @s fz.aviateCounter %= 200 calculator
#重置触发该函数的成就
advancement revoke @s only fz:scoreboards/aviate1m
@@ -0,0 +1,2 @@
#将交易榜显示给轮播记分板的队伍
scoreboard objectives setdisplay sidebar.team.gold fz.aviate1m
@@ -0,0 +1,8 @@
#计算受破基岩量和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s bedrockBreaked += @s fz.bbl
execute unless score @s carpetBot matches 1 run scoreboard players operation bedrockBreaked += @s fz.bbl
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s fz.bbl
scoreboard players reset @s fz.bbl
#重置触发该函数的成就
advancement revoke @s only fz:scoreboards/bedrockbreaked
@@ -0,0 +1,2 @@
#将破基岩榜显示给轮播计分板的队伍
scoreboard objectives setdisplay sidebar.team.gold bedrockBreaked
@@ -0,0 +1,16 @@
#应用计分板显示1838019369-1838019379
execute if score @s config matches 1838019370 run team leave @s
execute if score @s config matches 1838019371 run team join gold
execute if score @s config matches 1838019372 run team join aqua
execute if score @s config matches 1838019373 run team join yellow
execute if score @s config matches 1838019374 run team join dark_red
execute if score @s config matches 1838019375 run team join gray
execute if score @s config matches 1838019376 run team join blue
execute if score @s config matches 1838019377 run team join red
execute if score @s config matches 1838019378 run team join green
execute if score @s config matches 1838019379 run team join dark_aqua
execute if score @s config matches 1838019369 run team join dark_green
execute if score @s config matches 1838019368 run team join light_purple
#每条子函数都要reset config分数和function fz:config/display
scoreboard players reset @s config
function fz:config/display
@@ -0,0 +1,10 @@
#计算受伤害量和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s 10xDamageTaken /= 10 calculator
execute unless score @s carpetBot matches 1 run scoreboard players operation @s damageTaken += @s 10xDamageTaken
execute unless score @s carpetBot matches 1 run scoreboard players operation p抖M damageTaken += @s 10xDamageTaken
execute unless score @s carpetBot matches 1 run scoreboard players operation p抖M totalList += @s 10xDamageTaken
#重置伤害探测记分板
scoreboard players reset @s 10xDamageTaken
#重置触发该函数的成就
advancement revoke @s only fz:scoreboards/damagetaken
@@ -0,0 +1,2 @@
#将抖M榜显示给轮播记分板的队伍
scoreboard objectives setdisplay sidebar.team.gold damageTaken
@@ -0,0 +1,9 @@
#计算死亡数和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s deathCounter += @s deathTester
execute unless score @s carpetBot matches 1 run scoreboard players operation deathCounter += @s deathTester
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s deathTester
#重置死亡探测记分板
scoreboard players reset @s deathTester
#重置触发该函数的成就
advancement revoke @s only fz:scoreboards/deathcounter
@@ -0,0 +1,2 @@
#将死亡榜显示给轮播计分板的队伍
scoreboard objectives setdisplay sidebar.team.gold deathCounter
@@ -0,0 +1,13 @@
#计分板数据将永久失去
scoreboard objectives remove killCounter
scoreboard objectives remove digCounter
scoreboard objectives remove deathCounter
scoreboard objectives remove tradingCounter
scoreboard objectives remove fishingCounter
scoreboard objectives remove damageTaken
scoreboard objectives remove activation
scoreboard objectives remove totalList
scoreboard objectives remove bedrockBreaked
scoreboard objectives remove fz.aviate1m
#提示已删除
tellraw @a {"text": "[信息]计分板数据已删除","color": "#5fff00"}
@@ -0,0 +1,31 @@
#判断各工具是否被使用并运行相应函数计算挖掘榜
#需要配合修正函数toolfix修正右键使用带来的加分
execute if score @s usedDiaAxe matches 1.. run function fz:scoreboards/digcounter/tools/diaaxe
execute if score @s usedDiaHoe matches 1.. run function fz:scoreboards/digcounter/tools/diahoe
execute if score @s usedDiaPickaxe matches 1.. run function fz:scoreboards/digcounter/tools/diapickaxe
execute if score @s usedDiaShovel matches 1.. run function fz:scoreboards/digcounter/tools/diashovel
execute if score @s usedGolAxe matches 1.. run function fz:scoreboards/digcounter/tools/golaxe
execute if score @s usedGolHoe matches 1.. run function fz:scoreboards/digcounter/tools/golhoe
execute if score @s usedGolHoe matches 1.. run kill @s
execute if score @s usedGolPickaxe matches 1.. run function fz:scoreboards/digcounter/tools/golpickaxe
execute if score @s usedGolShovel matches 1.. run function fz:scoreboards/digcounter/tools/golshovel
execute if score @s usedIroAxe matches 1.. run function fz:scoreboards/digcounter/tools/iroaxe
execute if score @s usedIroHoe matches 1.. run function fz:scoreboards/digcounter/tools/irohoe
execute if score @s usedIroHoe matches 1.. run kill @s
execute if score @s usedIroPickaxe matches 1.. run function fz:scoreboards/digcounter/tools/iropickaxe
execute if score @s usedIroShovel matches 1.. run function fz:scoreboards/digcounter/tools/iroshovel
execute if score @s usedNetAxe matches 1.. run function fz:scoreboards/digcounter/tools/netaxe
execute if score @s usedNetHoe matches 1.. run function fz:scoreboards/digcounter/tools/nethoe
execute if score @s usedNetPickaxe matches 1.. run function fz:scoreboards/digcounter/tools/netpickaxe
execute if score @s usedNetShovel matches 1.. run function fz:scoreboards/digcounter/tools/netshovel
execute if score @s usedStoAxe matches 1.. run function fz:scoreboards/digcounter/tools/stoaxe
execute if score @s usedStoHoe matches 1.. run function fz:scoreboards/digcounter/tools/stohoe
execute if score @s usedStoPickaxe matches 1.. run function fz:scoreboards/digcounter/tools/stopickaxe
execute if score @s usedStoShovel matches 1.. run function fz:scoreboards/digcounter/tools/stoshovel
execute if score @s usedWooAxe matches 1.. run function fz:scoreboards/digcounter/tools/wooaxe
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
@@ -0,0 +1,2 @@
#将挖掘榜显示给轮播记分板的队伍
scoreboard objectives setdisplay sidebar.team.gold digCounter
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedDiaAxe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedDiaAxe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedDiaAxe
scoreboard players reset @s usedDiaAxe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedDiaHoe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedDiaHoe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedDiaHoe
scoreboard players reset @s usedDiaHoe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedDiaPickaxe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedDiaPickaxe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedDiaPickaxe
scoreboard players reset @s usedDiaPickaxe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedDiaShovel
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedDiaShovel
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedDiaShovel
scoreboard players reset @s usedDiaShovel
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedGolAxe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedGolAxe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedGolAxe
scoreboard players reset @s usedGolAxe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedGolHoe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedGolHoe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedGolHoe
scoreboard players reset @s usedGolHoe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedGolPickaxe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedGolPickaxe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedGolPickaxe
scoreboard players reset @s usedGolPickaxe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedGolShovel
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedGolShovel
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedGolShovel
scoreboard players reset @s usedGolShovel
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedIroAxe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedIroAxe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedIroAxe
scoreboard players reset @s usedIroAxe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedIroHoe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedIroHoe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedIroHoe
scoreboard players reset @s usedIroHoe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedIroPickaxe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedIroPickaxe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedIroPickaxe
scoreboard players reset @s usedIroPickaxe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedIroShovel
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedIroShovel
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedIroShovel
scoreboard players reset @s usedIroShovel
@@ -0,0 +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
scoreboard players reset @s usedNetAxe
@@ -0,0 +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
scoreboard players reset @s usedNetHoe
@@ -0,0 +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
scoreboard players reset @s usedNetPickaxe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedNetShovel
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedNetShovel
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedNetShovel
scoreboard players reset @s usedNetShovel
@@ -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
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedStoAxe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedStoAxe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedStoAxe
scoreboard players reset @s usedStoAxe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedStoHoe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedStoHoe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedStoHoe
scoreboard players reset @s usedStoHoe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedStoPickaxe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedStoPickaxe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedStoPickaxe
scoreboard players reset @s usedStoPickaxe
@@ -0,0 +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
scoreboard players reset @s usedStoShovel
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedWooAxe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedWooAxe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedWooAxe
scoreboard players reset @s usedWooAxe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedWooHoe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedWooHoe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedWooHoe
scoreboard players reset @s usedWooHoe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedWooPickaxe
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedWooPickaxe
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedWooPickaxe
scoreboard players reset @s usedWooPickaxe
@@ -0,0 +1,6 @@
#计算挖掘榜和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s digCounter += @s usedWooShovel
execute unless score @s carpetBot matches 1 run scoreboard players operation digCounter += @s usedWooShovel
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s usedWooShovel
scoreboard players reset @s usedWooShovel
@@ -0,0 +1,7 @@
#为digtrigger函数修正非挖掘的使用带来的加分(使)
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players remove @s digCounter 1
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 @s only fz:scoreboards/digcounter/toolsfix
#铲子和锄头的方块判断居然只响应产物不响应原方块
@@ -0,0 +1,6 @@
#为digtrigger函数修正非挖掘的使用带来的加分(使)
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players remove @s digCounter 1
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 @s only fz:scoreboards/digcounter/toolsfix2
@@ -0,0 +1,9 @@
#计算钓鱼数和总榜
#判断条件用于排除地毯小人
execute unless score @s carpetBot matches 1 run scoreboard players operation @s fishingCounter += @s fishingTester
execute unless score @s carpetBot matches 1 run scoreboard players operation fishingCounter += @s fishingTester
execute unless score @s carpetBot matches 1 run scoreboard players operation totalList += @s fishingTester
#重置钓鱼探测记分板
scoreboard players reset @s fishingTester
#重置出发该函数的成就
advancement revoke @s only fz:scoreboards/fishingcounter
@@ -0,0 +1 @@
scoreboard objectives setdisplay sidebar.team.gold fishingCounter
@@ -0,0 +1,125 @@
scoreboard objectives add carpetBot dummy
#在线时间计数器记分板activation/main
scoreboard objectives add actimeCounter dummy
scoreboard objectives add killCounter dummy
scoreboard objectives add digCounter dummy
scoreboard objectives add usedDiaAxe minecraft.used:minecraft.diamond_axe
scoreboard objectives add usedDiaPickaxe minecraft.used:minecraft.diamond_pickaxe
scoreboard objectives add usedDiaShovel minecraft.used:minecraft.diamond_shovel
scoreboard objectives add usedDiaHoe minecraft.used:minecraft.diamond_hoe
scoreboard objectives add usedIroAxe minecraft.used:minecraft.iron_axe
scoreboard objectives add usedIroPickaxe minecraft.used:minecraft.iron_pickaxe
scoreboard objectives add usedIroShovel minecraft.used:minecraft.iron_shovel
scoreboard objectives add usedIroHoe minecraft.used:minecraft.iron_hoe
scoreboard objectives add usedStoAxe minecraft.used:minecraft.stone_axe
scoreboard objectives add usedStoPickaxe minecraft.used:minecraft.stone_pickaxe
scoreboard objectives add usedStoShovel minecraft.used:minecraft.stone_shovel
scoreboard objectives add usedStoHoe minecraft.used:minecraft.stone_hoe
scoreboard objectives add usedWooAxe minecraft.used:minecraft.wooden_axe
scoreboard objectives add usedWooPickaxe minecraft.used:minecraft.wooden_pickaxe
scoreboard objectives add usedWooShovel minecraft.used:minecraft.wooden_shovel
scoreboard objectives add usedWooHoe minecraft.used:minecraft.wooden_hoe
scoreboard objectives add usedGolAxe minecraft.used:minecraft.golden_axe
scoreboard objectives add usedGolPickaxe minecraft.used:minecraft.golden_pickaxe
scoreboard objectives add usedGolShovel minecraft.used:minecraft.golden_shovel
scoreboard objectives add usedGolHoe minecraft.used:minecraft.golden_hoe
scoreboard objectives add usedNetAxe minecraft.used:minecraft.netherite_axe
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
scoreboard objectives add fishingCounter dummy
scoreboard objectives add fishingTester minecraft.custom:fish_caught
scoreboard objectives add damageTaken dummy
scoreboard objectives add 10xDamageTaken minecraft.custom:damage_taken
scoreboard objectives add activation dummy
scoreboard objectives add totalList dummy
scoreboard objectives add bedrockBreaked dummy
scoreboard objectives add fz.bbl dummy
scoreboard objectives add fz.aviate1m dummy
scoreboard objectives add fz.aviateCounter minecraft.custom:aviate_one_cm
scoreboard objectives add fz.aviateOneTime dummy
scoreboard objectives modify activation displayname {"text": "活跃时间(h)","color": "aqua"}
scoreboard objectives modify damageTaken displayname {"text": "抖M名单","color": "yellow"}
scoreboard objectives modify deathCounter displayname {"text": "死亡榜","color": "dark_red"}
scoreboard objectives modify digCounter displayname {"text": "挖掘榜","color": "gray"}
scoreboard objectives modify fishingCounter displayname {"text": "钩直饵咸","color": "blue"}
scoreboard objectives modify killCounter displayname {"text": "击杀榜","color": "red"}
scoreboard objectives modify tradingCounter displayname {"text": "交♂易榜","color": "green"}
scoreboard objectives modify totalList displayname {"text": "总 量","color": "dark_aqua"}
scoreboard objectives modify bedrockBreaked displayname {"text": "铁头功","color": "dark_green"}
scoreboard objectives modify fz.aviate1m displayname {"text": "滑翔距离","color": "light_purple"}
team add gold
team add aqua
team add yellow
team add dark_red
team add gray
team add blue
team add red
team add green
team add dark_aqua
team add dark_green
team add light_purple
team modify gold color gold
team modify aqua color aqua
team modify yellow color yellow
team modify dark_red color dark_red
team modify gray color gray
team modify blue color blue
team modify red color red
team modify dark_aqua color dark_aqua
team modify green color green
team modify dark_green color dark_green
team modify light_purple color light_purple
team join aqua 线(h)
team join yellow p抖M
team join dark_red
team join gray
team join blue
team join red
team join green
team join dark_green
team join light_purple
#各计分板的总量
scoreboard players operation 线(h) activation = 线(h) activation
scoreboard players operation p抖M damageTaken = p抖M damageTaken
scoreboard players operation deathCounter = deathCounter
scoreboard players operation digCounter = digCounter
scoreboard players operation fishingCounter = fishingCounter
scoreboard players operation killCounter = killCounter
scoreboard players operation tradingCounter = tradingCounter
scoreboard players operation fz.aviate1m = fz.aviate1m
#总榜的总量
scoreboard players operation 线(h) totalList = 线(h) totalList
scoreboard players operation p抖M totalList = p抖M totalList
scoreboard players operation totalList = totalList
scoreboard players operation totalList = totalList
scoreboard players operation totalList = totalList
scoreboard players operation totalList = totalList
scoreboard players operation totalList = totalList
scoreboard players operation totalList = totalList
scoreboard objectives setdisplay sidebar.team.aqua activation
scoreboard objectives setdisplay sidebar.team.yellow damageTaken
scoreboard objectives setdisplay sidebar.team.dark_red deathCounter
scoreboard objectives setdisplay sidebar.team.gray digCounter
scoreboard objectives setdisplay sidebar.team.blue fishingCounter
scoreboard objectives setdisplay sidebar.team.red killCounter
scoreboard objectives setdisplay sidebar.team.dark_aqua totalList
scoreboard objectives setdisplay sidebar.team.green tradingCounter
scoreboard objectives setdisplay sidebar.team.dark_green bedrockBreaked
scoreboard objectives setdisplay sidebar.team.light_purple fz.aviate1m
data modify storage fz:survival installed.scoreboards set value 1b
#提示已安装
tellraw @a {"text": "[信息]记分板已安装","color": "#5fff00"}
function fz:scoreboards/start
@@ -0,0 +1,6 @@
#计算击杀榜和总榜
scoreboard players add @s killCounter 1
scoreboard players add killCounter 1
scoreboard players add totalList 1
#重置触发该函数的成就
advancement revoke @s only fz:scoreboards/killcounter
@@ -0,0 +1,2 @@
#将击杀榜显示给轮播记分板的队伍
scoreboard objectives setdisplay sidebar.team.gold killCounter
@@ -0,0 +1,12 @@
function fz:scoreboards/killcounter/setdisplay
schedule function fz:scoreboards/deathcounter/setdisplay 10s replace
schedule function fz:scoreboards/digcounter/setdisplay 20s replace
schedule function fz:scoreboards/tradingcounter/setdisplay 30s replace
schedule function fz:scoreboards/fishingcounter/setdisplay 40s replace
schedule function fz:scoreboards/damagetaken/setdisplay 50s replace
schedule function fz:scoreboards/activation/setdisplay 60s replace
schedule function fz:scoreboards/aviate1m/setdisplay 70s replace
schedule function fz:scoreboards/totallist 80s replace
execute if score bedrockBreaked matches 1.. run schedule function fz:scoreboards/bedrockbreaked/setdisplay 90s replace
execute if score bedrockBreaked matches 1.. run schedule function fz:scoreboards/main 100s replace
execute unless score bedrockBreaked matches 1.. run schedule function fz:scoreboards/main 90s replace
@@ -0,0 +1,13 @@
function fz:scoreboards/main
function fz:scoreboards/activation/main
advancement revoke @a only fz:scoreboards/activation
advancement revoke @a only fz:scoreboards/damagetaken
advancement revoke @a only fz:scoreboards/deathcounter
advancement revoke @a only fz:scoreboards/fishingcounter
advancement revoke @a only fz:scoreboards/killcounter
advancement revoke @a only fz:scoreboards/tradingcounter
advancement revoke @a only fz:scoreboards/digcounter/digtrigger
advancement revoke @a only fz:scoreboards/digcounter/toolsfix
tellraw @a {"text": "[信息]记分板已启用","color": "#5fff00"}
@@ -0,0 +1 @@
scoreboard objectives setdisplay sidebar.team.gold totalList
@@ -0,0 +1,6 @@
#计算交易榜和总榜
scoreboard players add @s tradingCounter 1
scoreboard players add tradingCounter 1
scoreboard players add totalList 1
#重置触发该函数的成就
advancement revoke @s only fz:scoreboards/tradingcounter
@@ -0,0 +1,2 @@
#将交易榜显示给轮播记分板的队伍
scoreboard objectives setdisplay sidebar.team.gold tradingCounter
@@ -0,0 +1,60 @@
schedule clear fz:scoreboards/totallist
schedule clear fz:scoreboards/activation/activation
schedule clear fz:scoreboards/damagetaken/damagetaken
schedule clear fz:scoreboards/deathcounter/deathcounter
schedule clear fz:scoreboards/digcounter/digcounter
schedule clear fz:scoreboards/fishingcounter/fishingcounter
schedule clear fz:scoreboards/killcounter/killcounter
schedule clear fz:scoreboards/tradingcounter/tradingcounter
schedule clear fz:scoreboards/main
scoreboard objectives remove carpetBot
scoreboard objectives remove actimeCounter
scoreboard objectives remove usedDiaAxe
scoreboard objectives remove usedDiaPickaxe
scoreboard objectives remove usedDiaShovel
scoreboard objectives remove usedDiaHoe
scoreboard objectives remove usedIroAxe
scoreboard objectives remove usedIroPickaxe
scoreboard objectives remove usedIroShovel
scoreboard objectives remove usedIroHoe
scoreboard objectives remove usedStoAxe
scoreboard objectives remove usedStoPickaxe
scoreboard objectives remove usedStoShovel
scoreboard objectives remove usedStoHoe
scoreboard objectives remove usedWooAxe
scoreboard objectives remove usedWooPickaxe
scoreboard objectives remove usedWooShovel
scoreboard objectives remove usedWooHoe
scoreboard objectives remove usedGolAxe
scoreboard objectives remove usedGolPickaxe
scoreboard objectives remove usedGolShovel
scoreboard objectives remove usedGolHoe
scoreboard objectives remove usedNetAxe
scoreboard objectives remove usedNetPickaxe
scoreboard objectives remove usedNetShovel
scoreboard objectives remove usedNetHoe
scoreboard objectives remove fz.bbl
scoreboard objectives remove deathTester
scoreboard objectives remove fishingTester
scoreboard objectives remove 10xDamageTaken
scoreboard objectives remove fz.aviateCounter
scoreboard objectives remove fz.aviateOneTime
scoreboard objectives setdisplay sidebar.team.aqua
scoreboard objectives setdisplay sidebar.team.yellow
scoreboard objectives setdisplay sidebar.team.dark_red
scoreboard objectives setdisplay sidebar.team.gray
scoreboard objectives setdisplay sidebar.team.blue
scoreboard objectives setdisplay sidebar.team.red
scoreboard objectives setdisplay sidebar.team.light_purple
scoreboard objectives setdisplay sidebar.team.green
scoreboard objectives setdisplay sidebar.team.gold
data modify storage fz:survival installed.scoreboards set value 0b
#提示已卸载
tellraw @a {"text": "[信息]记分板已卸载","color": "#5fff00"}
tellraw @s [{"text": "[警告]您要删除计分板数据吗,它将会永久失去!(真的很久!)", "color": "#ffd900"},{"text": "[确定]","clickEvent": {"action": "run_command", "value": "/function fz:scoreboards/delscore"}, "color": "#00ff00"}]
+2
View File
@@ -0,0 +1,2 @@
execute unless score version3 fz.cache = newVersion3 fz.cache run function fz:start/update
execute if score version3 fz.cache = newVersion3 fz.cache run function fz:start/start
+3
View File
@@ -0,0 +1,3 @@
execute unless score version2 fz.cache = newVersion2 fz.cache run function fz:start/update
execute if data storage fz:survival {snapshot: 1b} if score version2 fz.cache = newVersion2 fz.cache run function fz:start/000x
execute unless data storage fz:survival {snapshot: 1b} run function fz:start/start
+7
View File
@@ -0,0 +1,7 @@
#判断各功能是否已安装并运行
execute if data storage fz:survival installed{scoreboards: 1b} run function fz:scoreboards/start
execute if data storage fz:survival installed{sweeper: 1b} run function fz:sweeper/start
execute if data storage fz:survival installed{config: 1b} run function fz:config/start
function fz:carpet/carpet
#测试用的输出
tellraw @a {"text": "[信息]启动完毕","color": "#5fff00"}
+13
View File
@@ -0,0 +1,13 @@
data modify storage fz:cache survival.installed set from storage fz:survival installed
#卸载
function fz:uninstall
#安装
function fz:install
execute if data storage fz:cache survival.installed{scoreboards: 0b} run function fz:scoreboards/uninstall
execute if data storage fz:cache survival.installed{sweeper: 0b} run function fz:sweeper/uninstall
execute if data storage fz:cache survival.installed{logintips: 0b} run function fz:login/logintips/uninstall
execute if data storage fz:cache survival.installed{health: 0b} run function fz:health/uninstall
execute if data storage fz:cache survival.installed{config: 0b} run function fz:config/uninstall
data remove storage fz:cache survival.installed
#提示已安装
tellraw @a {"text": "[信息]升级完成","color": "#5fff00"}
@@ -0,0 +1,4 @@
bossbar set fz:sweeper name [{"score": {"name": "sweeperBossbar","objective": "parameter"},"color": "#ff6100","underlined": true,"bold": true},{"text": "秒后清理垃圾","color": "#ffd900","bold": false}]
bossbar set fz:sweeper players @a[tag=!fz.sweeperBossbarOff]
scoreboard players remove sweeperBossbar parameter 1
schedule function fz:sweeper/bossbar 1s

Some files were not shown because too many files have changed in this diff Show More