Compare commits

..

26 Commits

Author SHA1 Message Date
延皓 2f5ad8a394 ? 2025-02-16 11:00:02 +08:00
延皓 2ffb699fd9 3.0.11 2025-02-16 10:53:01 +08:00
延皓 86c55de083 扫地机额外时间 2025-02-16 10:52:13 +08:00
Harvey_Husky 628bd8470a Merge branch '3.0-1.18.x' of https://gitee.com/harvey-husky/fz-survival-datapack into 3.0-1.18.x 2023-08-05 09:55:16 +08:00
Harvey_Husky dc583dafe0 向扫地机白名单添加了所有船 2023-08-05 09:55:11 +08:00
延皓 02467b3a64 update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-07-24 12:41:30 +00:00
延皓 2bb7bdbe55 update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-07-24 12:40:44 +00:00
Harvey_Husky 5c9691969e update version 2023-07-24 19:49:38 +08:00
Harvey_Husky 9f98df20d4 不再缓存服务器白名单 2023-07-24 19:46:01 +08:00
Harvey_Husky 06694b5711 破基岩榜改为深灰色;避免int型数据溢出污染记分板 2023-07-24 19:41:32 +08:00
延皓 b97f215d7e 管理员界面添加扫地机 2023-02-04 09:34:43 +08:00
延皓 da257fcb32 2023-02-03 16:47:49 +08:00
延皓 c785195827 修复桶放液体两次会给计分板加分的bug。。。 2023-01-14 11:14:00 +08:00
延皓 8afd7410d5 放置榜忽略流体,避免连点器刷榜 2023-01-10 01:01:45 +08:00
延皓 010ba03f41 扫地机~ 2023-01-08 08:00:02 +08:00
延皓 51402bd33d Merge branch '3.0-1.18.x' of https://gitee.com/harvey-husky/yh-ssd into 3.0-1.18.x 2022-12-28 07:38:25 +08:00
延皓 fc168ac8ff fix 2022-12-28 07:38:23 +08:00
延皓 715345c7ff update LICENSE.
Signed-off-by: 延皓 <8511461+harvey-husky@user.noreply.gitee.com>
2022-11-18 20:21:39 +00:00
延皓 c48f34d5d9 3.0.5 2022-10-30 09:05:53 +08:00
延皓 4c6dcdbf5a 整理 2022-10-30 09:04:25 +08:00
延皓 f7ebb99557 修复重装失败bug 2022-10-30 01:40:16 +08:00
延皓 1babb5f733 为日志和游戏事件模块装卸添加单独的标签 2022-10-30 01:17:52 +08:00
延皓 6fb0d57394 增强挖掘榜工具的扩展性、优化here 2022-10-30 00:34:01 +08:00
延皓 40ca8db5d5 3.0.4 2022-10-28 23:38:45 +08:00
延皓 df968611a7 3.0.4 2022-10-28 23:38:07 +08:00
延皓 a91675e75e 为1.18删除了一些不支持的功能 2022-09-25 13:07:52 +08:00
706 changed files with 1155 additions and 1351 deletions
+3 -24
View File
@@ -17,28 +17,7 @@
"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.exclude": [
"data/fzsd/functions/system/carpet/*"
],
"datapack.lint.blockStateCommaSpacing": {
"before": 0,
"after": 1
},
"datapack.lint.blockStateEqualSpacing": {
"before": 1,
"after": 1
},
"datapack.lint.selectorCommaSpacing": {
"before": 0,
"after": 1
},
"datapack.lint.selectorEqualSpacing": {
"before": 1,
"after": 1
},
"datapack.env.cmdVersion": "1.20.3",
"datapack.env.dataVersion": "1.21",
"[javascript]": {
"editor.maxTokenizationLineLength": 25000
}
"datapack.env.cmdVersion": "1.18.2",
"datapack.env.jsonVersion": "1.18.2",
"datapack.env.dataVersion": "1.18.2"
}
+22 -41
View File
@@ -1,111 +1,94 @@
# 开发文档
## 指引
## 指引
- `函数`,指数据包`<命名空间>/functions`目录下的`.mcfunction`文件
- `标签`,指数据包`<命名空间>/tags`目录下的`.json`文件
- `覆盖标签并填入函数`时,`replace``true`
- `覆盖标签并填入函数`时,`replace``true`
``` json
{
"replace": true,
"values": ...
}
```
- `向标签中注册函数`时,`replace`为`false`
``` json
{
"replace": false,
"values": ...
}
```
``` 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)标签中注册上述函数
2. 在[`#fzsd:module/interactor/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. 按照“自定义计分板颜色”和“自定义计分板名称”中的操作,定义你的计分板颜色和名称
@@ -115,20 +98,18 @@
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)
- [`#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)
#### 注册交互器按钮
- 见[交互器按钮](#按钮操作)
+2 -2
View File
@@ -1,9 +1,9 @@
FZSD许可协议
2023/6/6 https://gitee.com/harvey-husky/fz-survival-datapack/blob/dev/3.0/LICENSE
2022/11/19 https://gitee.com/harvey-husky/fz-survival-datapack/blob/dev/3.0/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许可协议。
+44 -44
View File
@@ -1,23 +1,29 @@
# FZ生存数据包 v3.1
# FZ生存数据包
为FZ服务器写的Minecraft生存辅助数据包
[![数据包版本](https://img.shields.io/badge/正式版-3.2-blue.svg)](https://gitee.com/harvey-husky/FZ-sDatapack/releases) [![MC版本](https://img.shields.io/badge/Minecraft-1.21+-blue.svg)](https://minecraft.net/)
#### @Author: Harvey_Husky
> 其他版本见[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)
#### Copyright (C) 2019-2022 Harvey_Husky
## 安装教程
1. 兼容性
- `数据包 v3.2.x` 支持 `Minecraft 1.21+`
- `数据包 v3.1.x` 支持 `Minecraft 1.20-1.20.6`
- `数据包 v3.0.x` 支持 `Minecraft 1.18.2-1.19.x` (不再维护)
- `数据包 v3.0.x` 支持 `Minecraft 1.18.2/1.19.4`
- `数据包 v2.2.x` 支持 `Minecraft 1.19.x`
- `数据包 v2.1.x` 支持 `Minecraft 1.17.x-1.18.x`
- `数据包 v2.0.x` 支持 `Minecraft 1.16.3-1.16.5`
2. 前往[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)下载对应MC版本的数据包
3. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks`
4. (可选)下载并安装 [Carpet Mod](https://github.com/gnembon/fabric-carpet/releases)
4. (可选)下载并安装 [Carpet Mod **1.4.24**](https://github.com/gnembon/fabric-carpet/releases) 或以上版本
5. (可选)从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
- **注意:如果未正确安装该脚本,数据包会强制禁用 carpet mod 的 `player` 命令以避免假人污染记分板,需要在安装好脚本后手动启用 `player` 命令**
6. 执行 `reload` 指令(或重新打开存档;在一些第三方服务端中可能需要改为`/minecraft:reload`
6. 执行 `reload` 指令(或重新打开存档)
# FZ生存数据包 3.0
[![数据包版本](https://img.shields.io/badge/正式版-3.0.10-blue.svg)](https://gitee.com/harvey-husky/FZ-sDatapack/releases) [![MC版本](https://img.shields.io/badge/Minecraft-1.18+-blue.svg)](https://minecraft.net/)
> 其他版本见[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)
## 功能
@@ -29,69 +35,63 @@
- 提供下列计分板:
| 默认名称 | 计分板 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 |
| 默认名称 | 计分板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)
- 安装该Mod后,使用连点器破基岩,破基岩榜将自动显示在交互器页面
| 默认名称 | 计分板 ID |
| 默认名称 | 计分板ID |
| :------: | :----------------------------------------------: |
| 破基岩榜 |fzsd.module.scoreboard.display.bedrock_broken_count|
- 系统总计分板:`fzsd.module.scoreboard.assign.general`
- 系统总计分板:`fzsd.module.scoreboard.assign.general`
- 可以在在此记分板修改总分数据,下次加分时会刷新显示分数
- 总计分项名称对照表:
| 默认名称 | player ID |
| 默认名称 | 计分板ID |
| :------: | :----------------------------------------------: |
| 总活跃时间 | fzsd.module.scoreboard.total.activation |
| 总飞行距离 | fzsd.module.scoreboard.total.aviating_distance |
| 总受伤害 | fzsd.module.scoreboard.total.damage_taken |
| 总受伤害 | fzsd.module.scoreboard.total.damage_taken |
| 总死亡数 | fzsd.module.scoreboard.total.death_count |
| 总挖掘 | fzsd.module.scoreboard.total.dig_count |
| 总挖掘 | fzsd.module.scoreboard.total.dig_count |
| 总钓鱼数 | fzsd.module.scoreboard.total.fishing_count |
| 总击杀数 | fzsd.module.scoreboard.total.kill_count |
| 总建造数 | fzsd.module.scoreboard.total.placement_count |
| 总交易 | fzsd.module.scoreboard.total.trade_count |
| 总破基岩数 |fzsd.module.scoreboard.total.bedrock_broken_count|
| 总放置方块数 | fzsd.module.scoreboard.total.placement_count |
| 总交易 | fzsd.module.scoreboard.total.trade_count |
### 地毯脚本
- 如果你不知道 Carpet Mod 或 Carpet 脚本,请忽略本节
- 需要安装 [Carpet Mod](https://github.com/gnembon/fabric-carpet/releases)
- 从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
- **注意:如果未正确安装该脚本,数据包会强制禁用 carpet mod 的 `player` 命令以避免假人污染记分板,需要在安装好脚本后手动启用 `player` 命令**
- 脚本:
- `fzsd_score.sc`
- `fzsd_score.sc`(**开发中!此处列举目前已完成的**)
- 可避免Carpet假人污染计分板
- 可以标记哪些玩家是假人
- 执行 `reload` 指令后自动生效
- 子命令( `/fzsd_score <子命令>` ):
- 重写
### 管理员
- 使用`/function admin.fzsd:admin`命令管理(安装、卸载等)各模块
- `updateFrom <version>`:用于从给定的数据包版本恢复计分板数据(需要测试!)
- `recalculate`:重新计算所有计分板总分
- `recalculate <scoreboardID>`:重新计算该计分板总分
- `reset <player>`:重置该玩家的所有分数
- `reset <player> <scoreboardID>`:重置该玩家该计分板的分数
- `commandPlayer <permissionType>`:设置player命令权限类型
### 其他
- 扫地机
- 获取当前维度和坐标(以及对应的主世界、下界坐标)(私信/广播)
- 获取上次死亡维度和坐标(私信)
- 获取上次穿出的下界传送门坐标(私信/广播)
- 获取上个重生点维度和坐标(私信)
- 幻翼预警
- 见游戏内交互器按钮
## 开发者相关
- 见[开发文档](/DEVDOC.md)
- 见[开发文档](/DEVDOC.md)
@@ -33,8 +33,6 @@ tellraw @s [{"text": "上一出生点:"}, [{"text": "", "color": "dark_gray"},
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": "]"}]]]
# TODO: fzsd:module fzsd.module.scoreboard.config{trade_count_includes_piglin:1b} ?
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": "]"}]]]
tellraw @s [{"text": "幻翼预警"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/phantom_warning/install"}, "hoverEvent": {"action": "show_text", "contents": {"text": "安装", "color": "dark_green"}}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/phantom_warning/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": "]"}],[{"text": "[", "clickEvent": {"action": "run_command", "value": "/data modify storage fzsd:module fzsd.sweeper.extra_interval set value 1b"}},{"text": "显示额外时间","color": "green"},{"text": "]"}],[{"text": "[", "clickEvent": {"action": "run_command", "value": "/data modify storage fzsd:module fzsd.sweeper.extra_interval set value 0b"}},{"text": "隐藏额外时间","color": "red"},{"text": "]"}]]]
@@ -1,2 +1,2 @@
data modify storage fzsd:config fzsd.module.health.display.below_name set value 0b
function fzsd:module/health/try_load
function #fzsd:module/health/try_load
@@ -1,2 +1,2 @@
data modify storage fzsd:config fzsd.module.health.display.below_name set value 1b
function fzsd:module/health/try_load
function #fzsd:module/health/try_load
@@ -1,2 +1,2 @@
data modify storage fzsd:config fzsd.module.health.display.list set value 0b
function fzsd:module/health/try_load
function #fzsd:module/health/try_load
@@ -1,2 +1,2 @@
data modify storage fzsd:config fzsd.module.health.display.list set value 1b
function fzsd:module/health/try_load
function #fzsd:module/health/try_load
@@ -18,4 +18,4 @@ execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer mat
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 15 run scoreboard objectives setdisplay sidebar.team.white fzsd.module.scoreboard.display.bedrock_broken_count
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.module.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "text", "interpret": true, "storage": "fzsd.extra.bbl:text"}, {"text": "计分板"}]
execute if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "text", "interpret": true, "storage": "fzsd.extra.bbl:text"}, {"text": "计分板"}]
@@ -3,4 +3,4 @@
execute if score fzsd.module.scoreboard.total.bedrock_broken_count fzsd.module.scoreboard.assign.general matches 1.. run function #fzsd:calculation/highest_id_add_1
execute if score fzsd.module.scoreboard.total.bedrock_broken_count fzsd.module.scoreboard.assign.general matches 1.. run scoreboard players operation fzsd.module.scoreboard.display.id.bedrock_broken_count fzsd.variable.integer = fzsd.module.scoreboard.display.highest_id fzsd.variable.integer
execute if score fzsd.module.scoreboard.total.bedrock_broken_count fzsd.module.scoreboard.assign.general matches 1.. if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "注册"}, {"nbt": "fzsd.module.scoreboard.text.bedrock_broken_count", "interpret": true, "storage": "fzsd:module"}, {"text": "id为:"}, {"score": {"name": "fzsd.module.scoreboard.display.id.bedrock_broken_count", "objective": "fzsd.variable.integer"}}]
execute if score fzsd.module.scoreboard.total.bedrock_broken_count fzsd.module.scoreboard.assign.general matches 1.. if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "注册"}, {"nbt": "fzsd.scoreboard.text.bedrock_broken_count", "interpret": true, "storage": "fzsd:module"}, {"text": "id为:"}, {"score": {"name": "fzsd.module.scoreboard.display.id.bedrock_broken_count", "objective": "fzsd.variable.integer"}}]
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "aqua"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "aqua"}'
scoreboard objectives setdisplay sidebar.team.aqua fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "aqua"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color aqua
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "black"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "black"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color black
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "blue"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "blue"}'
scoreboard objectives setdisplay sidebar.team.blue fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "blue"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color blue
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_aqua"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_aqua"}'
scoreboard objectives setdisplay sidebar.team.dark_aqua fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "dark_aqua"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color dark_aqua
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_blue"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_blue"}'
scoreboard objectives setdisplay sidebar.team.dark_blue fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "dark_blue"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color dark_blue
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_gray"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_gray"}'
scoreboard objectives setdisplay sidebar.team.dark_gray fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "dark_gray"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color dark_gray
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_green"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_green"}'
scoreboard objectives setdisplay sidebar.team.dark_green fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "dark_green"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color dark_green
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_purple"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_purple"}'
scoreboard objectives setdisplay sidebar.team.dark_purple fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "dark_purple"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color dark_purple
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_red"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "dark_red"}'
scoreboard objectives setdisplay sidebar.team.dark_red fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "dark_red"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color dark_red
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "gold"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "gold"}'
scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "gold"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color gold
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "gray"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "gray"}'
scoreboard objectives setdisplay sidebar.team.gray fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "gray"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color gray
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "green"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "green"}'
scoreboard objectives setdisplay sidebar.team.green fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "green"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color green
@@ -1,7 +1,7 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "light_purple"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "purple"}'
scoreboard objectives setdisplay sidebar.team.light_purple fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "light_purple"}
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "purple"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color light_purple
team modify fzsd.module.scoreboard.display.bedrock_broken_count displayName {"text": "破基岩榜", "color": "light_purple"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count displayName {"text": "破基岩榜", "color": "purple"}
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "red"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "red"}'
scoreboard objectives setdisplay sidebar.team.red fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "red"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color red
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "white"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "white"}'
scoreboard objectives setdisplay sidebar.team.white fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "white"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color white
@@ -1,6 +1,6 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.module.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "yellow"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "yellow"}'
scoreboard objectives setdisplay sidebar.team.yellow fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "yellow"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color yellow
@@ -1,3 +1,3 @@
# 见#fzsd:module/scoreboard/interactor/display
## 0
execute if data storage fzsd:install fzsd.extra{bbl:1b} if score fzsd.module.scoreboard.total.bedrock_broken_count fzsd.module.scoreboard.assign.general matches 1.. run tellraw @s [{"text": "[", "color": "dark_gray", "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1210"}, "hoverEvent": {"action": "show_text", "contents": {"nbt": "text", "interpret": true, "storage": "fzsd.extra.bbl:text"}}}, {"nbt": "fzsd.module.scoreboard.text.bedrock_broken_count", "interpret": true, "storage": "fzsd:module"}, {"text": "]"}]
execute if data storage fzsd:install fzsd.extra{bbl:1b} if score fzsd.module.scoreboard.total.bedrock_broken_count fzsd.module.scoreboard.assign.general matches 1.. run tellraw @s [{"text": "[", "color": "dark_gray", "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1210"}, "hoverEvent": {"action": "show_text", "contents": {"nbt": "text", "interpret": true, "storage": "fzsd.extra.bbl:text"}}}, {"nbt": "fzsd.scoreboard.text.bedrock_broken_count", "interpret": true, "storage": "fzsd:module"}, {"text": "]"}]
@@ -1,3 +1,3 @@
execute if data storage fzsd:install fzsd.extra{bbl:1b} if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"text": "", "color": "green"}, {"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "fzsd.module.scoreboard.display.bedrock_broken_count - "}, {"nbt": "fzsd.module.scoreboard.text.bedrock_broken_count", "interpret": true, "storage": "fzsd:module"}]
execute if data storage fzsd:install fzsd.extra{bbl:1b} if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"text": "", "color": "green"}, {"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "fzsd.module.scoreboard.display.bedrock_broken_count - "}, {"nbt": "fzsd.scoreboard.text.bedrock_broken_count", "interpret": true, "storage": "fzsd:module"}]
execute if data storage fzsd:install fzsd.extra{bbl:1b} if score fzsd.logger.level fzsd.variable.integer matches ..500 run tellraw @a [{"nbt": "fzsd.level.info", "interpret": true, "storage": "fzsd:logger"}, {"text": "已加载扩展:破基岩榜"}]
@@ -1,27 +0,0 @@
{
"parent": "fzsd:game_event/on_placed_block",
"criteria": {
"on_placed_liquid": {
"trigger": "minecraft:placed_block",
"conditions": {
"location": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
},
{
"condition": "minecraft:location_check",
"predicate": {
"block": {
"blocks": "#fzsd:liquid"
}
}
}
]
}
}
},
"rewards": {
"function": "fzsd:game_event/advancement/on_placed_block/on_placed_liquid"
}
}
@@ -1,31 +0,0 @@
{
"parent": "fzsd:game_event/on_placed_block",
"criteria": {
"on_placed_solid": {
"trigger": "minecraft:placed_block",
"conditions": {
"location": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
},
{
"condition": "minecraft:inverted",
"term":
{
"condition": "minecraft:location_check",
"predicate": {
"block": {
"blocks": "#fzsd:liquid"
}
}
}
}
]
}
}
},
"rewards": {
"function": "fzsd:game_event/advancement/on_placed_block/on_placed_solid"
}
}
@@ -1,19 +0,0 @@
{
"parent": "fzsd:game_event",
"criteria": {
"on_sleeping": {
"trigger": "minecraft:slept_in_bed",
"conditions": {
"player": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
}
]
}
}
},
"rewards": {
"function": "fzsd:game_event/advancement/on_sleeping"
}
}
@@ -1,50 +0,0 @@
{
"parent": "fzsd:game_event",
"criteria": {
"on_tools_exclude_axes_used_on_block": {
"trigger": "minecraft:item_used_on_block",
"conditions": {
"location": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
},
{
"condition": "minecraft:any_of",
"terms": [
{
"condition": "minecraft:match_tool",
"predicate": {
"items": "#fzsd:tools_exclude_axes"
}
},
{
"condition": "minecraft:all_of",
"terms": [
{
"condition": "minecraft:match_tool",
"predicate": {
"items": "#fzsd:tool/axes"
}
},
{
"condition": "minecraft:location_check",
"predicate": {
"__comment": "斧子剥树皮会触发两次,所以用目标方块限定只触发一次",
"block": {
"blocks": "#fzsd:stripped_blocks"
}
}
}
]
}
]
}
]
}
}
},
"rewards": {
"function": "fzsd:game_event/advancement/on_tools_used_on_block"
}
}
@@ -11,7 +11,7 @@
}
],
"item": {
"items": "#fzsd:raw_fishes"
"tag": "fzsd:raw_fishes"
}
}
}
@@ -15,7 +15,7 @@
"predicate": {
"equipment": {
"mainhand": {
"items": "#fzsd:tools"
"tag": "fzsd:tools"
}
}
}
@@ -4,7 +4,7 @@
"on_placed_block": {
"trigger": "minecraft:placed_block",
"conditions": {
"location": [
"player": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
@@ -0,0 +1,13 @@
{
"parent": "fzsd:game_event/on_placed_block",
"criteria": {
"on_placed_liquid": {
"trigger": "minecraft:placed_block",
"conditions": {
"item": {
"tag": "fzsd:bucket_of_liquid"
}
}
}
}
}
@@ -14,7 +14,7 @@
"type": "#fzsd:shearable"
},
"item": {
"items": "#fzsd:tool/shears"
"tag": "fzsd:tool/shears"
}
}
}
@@ -0,0 +1,28 @@
{
"parent": "fzsd:game_event",
"criteria": {
"on_tools_exclude_axes_used_on_block": {
"trigger": "minecraft:item_used_on_block",
"conditions": {
"player": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
}
],
"item": {
"tag": "fzsd:tool/axes"
},
"location": {
"__comment": "斧子剥树皮会触发两次,所以用目标方块限定只触发一次",
"block": {
"tag": "fzsd:stripped_blocks"
}
}
}
}
},
"rewards": {
"function": "fzsd:game_event/advancement/on_tools_used_on_block"
}
}
@@ -0,0 +1,23 @@
{
"parent": "fzsd:game_event",
"criteria": {
"on_tools_exclude_axes_used_on_block": {
"__comment": "斧子剥树皮会触发两次!",
"trigger": "minecraft:item_used_on_block",
"conditions": {
"player": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
}
],
"item": {
"tag": "fzsd:tools_exclude_axes"
}
}
}
},
"rewards": {
"function": "fzsd:game_event/advancement/on_tools_used_on_block"
}
}
@@ -16,11 +16,18 @@
"flags": {
"is_sneaking": false
},
"__comment_type_specific": "1.19+",
"type_specific": {
"type": "player",
"advancements": {
"fzsd:game_event/on_sneak": true
}
},
"__comment_player": "1.18 compat",
"player": {
"advancements": {
"fzsd:game_event/on_sneak": true
}
}
}
}
@@ -10,7 +10,7 @@
"name": "fzsd:is_real_player"
},
{
"condition": "minecraft:any_of",
"condition": "minecraft:alternative",
"terms": [
{
"condition": "minecraft:entity_scores",
@@ -1,2 +0,0 @@
# 游戏时间范围:0-2147483647
execute store result score fzsd.var.cache fzsd.variable.integer run time query daytime
@@ -1,2 +0,0 @@
# 游戏时间范围:0-2147483647
execute store result score fzsd.var.cache fzsd.variable.integer run time query gametime
@@ -1 +0,0 @@
scoreboard players operation fzsd.var.cache fzsd.variable.integer = @s fzsd.api.time_since_rest
@@ -1,5 +0,0 @@
##
scoreboard objectives add fzsd.api.time_since_rest minecraft.custom:time_since_rest
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "已安装系统组件:API"}]
@@ -1,5 +0,0 @@
##
scoreboard objectives remove fzsd.api.time_since_rest
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "已卸载系统组件:API"}]
@@ -1,9 +0,0 @@
# 调用者:advancements/fzsd:~
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "放置了方块/流体"}]
function #fzsd:game_event/player/on_placed_block
##
advancement revoke @s from fzsd:game_event/on_placed_block
@@ -1,9 +0,0 @@
# 调用者:advancements/fzsd:~
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "放置了流体"}]
function #fzsd:game_event/player/on_placed_liquid
##
advancement revoke @s from fzsd:game_event/on_placed_block/on_placed_liquid
@@ -1,9 +0,0 @@
# 调用者:advancements/fzsd:~
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "放置了方块"}]
function #fzsd:game_event/player/on_placed_solid
##
advancement revoke @s from fzsd:game_event/on_placed_block/on_placed_solid
@@ -1,10 +0,0 @@
# 调用者:advancements/fzsd:~
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "正在睡觉"}]
##
function #fzsd:game_event/player/on_sleeping
##
advancement revoke @s from fzsd:game_event/on_sleeping
@@ -1,7 +0,0 @@
# 调用者:fzsd:game_event/game/on_night/on_tick
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "事件已触发:夜幕降临"}]
##
function #fzsd:game_event/game/on_night
@@ -1,3 +0,0 @@
# 由fzsd:game_event/on_tick事件调用
function #fzsd:api/get_current_daytime
execute if score fzsd.var.cache fzsd.variable.integer matches 12516 run function fzsd:game_event/game/on_night
@@ -1 +0,0 @@
tellraw @a [{"text": ""}, [{"selector": "@s"}, {"text": "说:我在", "color": "white"}, {"nbt": "fzsd.dimension.name", "interpret": true, "storage": "fzsd:here"}, [{"text": " [", "color": "green"}, {"nbt": "fzsd.x", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.y", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.z", "storage": "fzsd:here"}, {"text": "]"}], {"nbt": "fzsd.message.append", "interpret": true, "storage": "fzsd:here"}]]
@@ -1 +0,0 @@
execute if data storage fzsd:install fzsd.module{last_nether_portal:1b} run tellraw @s [{"text": "获取位置:"},[{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "value": "发送给:自己"}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -2000"}},{"text": "私信", "color": "aqua"},{"text": "] "}], [{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "value": "发送给:所有人"}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -2010"}},{"text": "广播", "color": "aqua"},{"text": "]"}]]
@@ -1 +0,0 @@
tellraw @s [{"text": "你在", "color": "white"}, {"nbt": "fzsd.dimension.name", "interpret": true, "storage": "fzsd:here"}, [{"text": " [", "color": "green"}, {"nbt": "fzsd.x", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.y", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.z", "storage": "fzsd:here"}, {"text": "]"}], {"nbt": "fzsd.message.append", "interpret": true, "storage": "fzsd:here"}]
@@ -1,3 +0,0 @@
# 本目录用于存放向事件中注册的函数,并不用来新建事件
execute if data storage fzsd:install fzsd.module{interactor: 1b} if entity @s[tag=!fzsd.ignore_interactor_headup_sneak, x_rotation = -90] run function #fzsd:module/interactor/event/on_start_interact
@@ -1,7 +0,0 @@
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "向玩家"}, {"selector": "@s"}, {"text": "显示交互器"}]
execute if data storage fzsd:install fzsd.module{interactor:1b} run tellraw @s {"text": "交互器:"}
execute if data storage fzsd:install fzsd.module{interactor:1b} if entity @s[tag=!fzsd.ignore_interactor_headup_sneak] run tellraw @s [{"text": "- 打开方式“抬头+蹲起”:"}, [{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "value": "点击关闭"}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 900"}},{"text": "已启用", "color": "green"},{"text": "]"}]]
execute if data storage fzsd:install fzsd.module{interactor:1b} if entity @s[tag=fzsd.ignore_interactor_headup_sneak] run tellraw @s [{"text": "- 打开方式“抬头+蹲起”:"}, [{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "value": "点击启用"}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 910"}},{"text": "已关闭", "color": "red"},{"text": "]"}]]
@@ -1,5 +0,0 @@
tellraw @s [{"nbt": "fzsd.root", "interpret": true, "storage": "fzsd:logger"}, [{"text": "本服务器启用了"}, {"text": "FZ生存数据包", "color": "gold", "underlined": true, "hoverEvent": {"action": "show_text", "contents": {"text": "点击前往数据包gitee主页"}}, "clickEvent": {"action": "open_url", "value": "https://gitee.com/harvey-husky/fz-survival-datapack"}}]]
##
execute if entity @s[tag=!fzsd.ignore_interactor_headup_sneak] run tellraw @s [{"nbt": "fzsd.root", "interpret": true, "storage": "fzsd:logger"}, [{"text": "抬头90°并蹲起,或使用", "color": "white"}, {"text": "/trigger fzsd.module.interactor.trigger", "color": "aqua", "underlined": true, "hoverEvent": {"action": "show_text", "contents": {"text": "点击填入聊天栏"}}, "clickEvent": {"action": "suggest_command", "value": "/trigger fzsd.module.interactor.trigger"}}, {"text": "打开交互器"}]]
##
execute if entity @s[tag=fzsd.ignore_interactor_headup_sneak] run tellraw @s [{"nbt": "fzsd.root", "interpret": true, "storage": "fzsd:logger"}, [{"text": "使用", "color": "white"}, {"text": "/trigger fzsd.module.interactor.trigger", "color": "aqua", "underlined": true, "hoverEvent": {"action": "show_text", "contents": {"text": "点击填入聊天栏"}}, "clickEvent": {"action": "suggest_command", "value": "/trigger fzsd.module.interactor.trigger"}}, {"text": "打开交互器"}]]
@@ -1,7 +0,0 @@
data modify storage fzsd:global fzsd.api.dimension.id set from entity @s LastDeathLocation.dimension
execute store result storage fzsd:last_death fzsd.x int 1 run data get entity @s LastDeathLocation.pos[0]
execute store result storage fzsd:last_death fzsd.y int 1 run data get entity @s LastDeathLocation.pos[1]
execute store result storage fzsd:last_death fzsd.z int 1 run data get entity @s LastDeathLocation.pos[2]
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "玩家"}, {"selector": "@s"}, {"text": "获取了死亡点"}]
@@ -1,5 +0,0 @@
##
data modify storage fzsd:install fzsd.module.last_death set value 1b
##
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 +0,0 @@
execute if data storage fzsd:install fzsd.module{last_death:1b} run tellraw @s [{"text": "获取上一死亡点:"},[{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "value": "发送给:自己"}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -2100"}},{"text": "私信", "color": "aqua"},{"text": "]"}]]
@@ -1 +0,0 @@
execute if score @s fzsd.module.interactor.trigger matches -2100 run function #fzsd:module/last_death/private_message
@@ -1,2 +0,0 @@
execute if data entity @s LastDeathLocation run tellraw @s [{"text": "你上次死亡于"}, {"nbt": "fzsd.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"text": " [", "color": "green"}, {"nbt": "fzsd.x", "storage": "fzsd:last_death"}, {"text": ", "}, {"nbt": "fzsd.y", "storage": "fzsd:last_death"}, {"text": ", "}, {"nbt": "fzsd.z", "storage": "fzsd:last_death"}, {"text": "]"}]]
execute unless data entity @s LastDeathLocation run tellraw @s {"text": "你从未死亡!"}
@@ -1 +0,0 @@
execute unless data storage fzsd:install fzsd.module{last_death:0b} run function #fzsd:module/last_death/install
@@ -1,7 +0,0 @@
data remove storage fzsd:last_death fzsd
##
data modify storage fzsd:install fzsd.module.last_death set value 0b
##
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,4 +0,0 @@
# TODO: 数字有待商榷
## @s this player
function #fzsd:api/get_time_since_rest
execute if score fzsd.var.cache fzsd.variable.integer matches 61766.. if entity @s[tag=!fzsd.ignore_phantom_warning] run function #fzsd:module/phantom_warning/send_phantom_warning
@@ -1 +0,0 @@
execute if data storage fzsd:install fzsd.module{phantom_warning:1b} as @a[predicate=fzsd:is_real_player] run function #fzsd:module/phantom_warning/check_time_since_rest
@@ -1,5 +0,0 @@
##
data modify storage fzsd:install fzsd.module.phantom_warning set value 1b
##
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 +0,0 @@
execute if data storage fzsd:install fzsd.module{phantom_warning:1b} run function fzsd:module/phantom_warning/interactor/display_0
@@ -1,2 +0,0 @@
tellraw @s[tag=!fzsd.ignore_phantom_warning] [{"text": "幻翼预警:"}, [{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "value": "点击关闭"}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 4000"}}, {"text": "已启用", "color": "green"}, {"text": "]"}]]
tellraw @s[tag=fzsd.ignore_phantom_warning] [{"text": "幻翼预警:"}, [{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "value": "点击启用"}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 4001"}}, {"text": "已关闭", "color": "red"}, {"text": "]"}]]
@@ -1,2 +0,0 @@
execute if score @s fzsd.module.interactor.trigger matches 4000 run tag @s add fzsd.ignore_phantom_warning
execute if score @s fzsd.module.interactor.trigger matches 4001 run tag @s remove fzsd.ignore_phantom_warning

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