1.20.6
This commit is contained in:
parent
218b24b4a4
commit
d6124efa12
23
.vscode/settings.json
vendored
23
.vscode/settings.json
vendored
@ -17,6 +17,25 @@
|
|||||||
"storageText": "{\"nbt\": \"${1:NBT}\", \"interpret\": true, \"storage\": \"${2:A namespaced ID}\"}",
|
"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}"
|
"ifInstalled": "execute if data storage fzsd:installed fzsd.module{${1:module_name}:1b} run ${tellraw}"
|
||||||
},
|
},
|
||||||
"datapack.env.cmdVersion": "1.20.2",
|
"datapack.env.exclude": [
|
||||||
"datapack.env.dataVersion": "1.20.4"
|
"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.20.6"
|
||||||
}
|
}
|
62
DEVDOC.md
62
DEVDOC.md
@ -1,73 +1,85 @@
|
|||||||
# 开发文档
|
# 开发文档
|
||||||
|
|
||||||
|
|
||||||
## 指引
|
## 指引
|
||||||
|
|
||||||
- `函数`,指数据包`<命名空间>/functions`目录下的`.mcfunction`文件
|
- `函数`,指数据包`<命名空间>/functions`目录下的`.mcfunction`文件
|
||||||
- `标签`,指数据包`<命名空间>/tags`目录下的`.json`文件
|
- `标签`,指数据包`<命名空间>/tags`目录下的`.json`文件
|
||||||
- `覆盖标签并填入函数`时,`replace`为`true`
|
- `覆盖标签并填入函数`时,`replace`为`true`
|
||||||
``` json
|
|
||||||
{
|
``` json
|
||||||
"replace": true,
|
{
|
||||||
"values": ...
|
"replace": true,
|
||||||
}
|
"values": ...
|
||||||
```
|
}
|
||||||
- `向标签中注册函数`时,`replace`为`false`
|
```
|
||||||
``` json
|
|
||||||
{
|
- `向标签中注册函数`时,`replace`为`false`
|
||||||
"replace": false,
|
|
||||||
"values": ...
|
``` json
|
||||||
}
|
{
|
||||||
```
|
"replace": false,
|
||||||
|
"values": ...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
- ***函数和标签是否能被扩展数据包成功覆盖,取决于数据包加载顺序***,请使用`/datapack enable <xxx> after <xxx>`指令,使您的扩展数据包在FZ's Survival Datapack之后加载
|
- ***函数和标签是否能被扩展数据包成功覆盖,取决于数据包加载顺序***,请使用`/datapack enable <xxx> after <xxx>`指令,使您的扩展数据包在FZ's Survival Datapack之后加载
|
||||||
|
|
||||||
|
|
||||||
## 基本要求
|
## 基本要求
|
||||||
|
|
||||||
- 函数由两个以上的函数调用,或由不同包下的函数调用,或需要作为接口开放给下游数据包时,应改用标签调用!
|
- 函数由两个以上的函数调用,或由不同包下的函数调用,或需要作为接口开放给下游数据包时,应改用标签调用!
|
||||||
- 函数调用尽量不要使用`function`命令,应改在标签中按顺序调用!
|
- 函数调用尽量不要使用`function`命令,应改在标签中按顺序调用!
|
||||||
|
|
||||||
|
|
||||||
## 系统模块
|
## 系统模块
|
||||||
|
|
||||||
### 频繁使用的计算单元
|
### 频繁使用的计算单元
|
||||||
|
|
||||||
- [`#fzsd:calculation/*`](data/fzsd/tags/functions/calculation/)标签通常被用来进行简单重复的计算任务
|
- [`#fzsd:calculation/*`](data/fzsd/tags/functions/calculation/)标签通常被用来进行简单重复的计算任务
|
||||||
|
|
||||||
### 事件模块
|
### 事件模块
|
||||||
|
|
||||||
- 通常由**进度**触发,触发后调用同名的事件标签
|
- 通常由**进度**触发,触发后调用同名的事件标签
|
||||||
- 在[`#fzsd:game_event/(<...>/)on_<事件>`](data/fzsd/tags/functions/game_event/)标签中注册触发时需要调用的函数即可
|
- 在[`#fzsd:game_event/(<...>/)on_<事件>`](data/fzsd/tags/functions/game_event/)标签中注册触发时需要调用的函数即可
|
||||||
|
|
||||||
### 日志模块
|
### 日志模块
|
||||||
|
|
||||||
- 仓库中提供了日志相关的代码片段,位于[`.vscode/settings.json`](.vscode/settings.json)
|
- 仓库中提供了日志相关的代码片段,位于[`.vscode/settings.json`](.vscode/settings.json)
|
||||||
- 暂时没有找到方法在服务端控制台打印日志,但会被记录在客户端
|
- 暂时没有找到方法在服务端控制台打印日志,但会被记录在客户端
|
||||||
|
|
||||||
#### 详细 Fine
|
#### 详细 Fine
|
||||||
|
|
||||||
- 等级:300
|
- 等级: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": "你的日志"}`
|
- 使用方法:`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
|
#### 调试 Debug
|
||||||
|
|
||||||
- 等级:400
|
- 等级: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": "你的日志"}`
|
- 使用方法:`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
|
#### 信息 Info
|
||||||
|
|
||||||
- 等级:500
|
- 等级: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": "你的日志"}`
|
- 使用方法:`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
|
#### 提醒 Alert
|
||||||
|
|
||||||
- 等级:600
|
- 等级: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": "你的日志"}`
|
- 使用方法:`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
|
#### 意外 Exception
|
||||||
|
|
||||||
- 暂不提供
|
- 暂不提供
|
||||||
|
|
||||||
#### 错误 Error
|
#### 错误 Error
|
||||||
|
|
||||||
- 等级:800
|
- 等级: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": "你的日志"}`
|
- 使用方法:`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 <触发器分数>"}}`的指令定义按钮。
|
1. 定义一个显示按钮时执行的函数,使用形如`tellraw @s {"text": "[按钮]", "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set <触发器分数>"}}`的指令定义按钮。
|
||||||
- *触发器分数为正数会重新向玩家发送交互按钮,如不想重新发送,请使用负数*
|
- *触发器分数为正数会重新向玩家发送交互按钮,如不想重新发送,请使用负数*
|
||||||
- 大多数情况下这里的触发器分数必须是独一无二的
|
- 大多数情况下这里的触发器分数必须是独一无二的
|
||||||
@ -77,19 +89,23 @@
|
|||||||
4. 在[`#fzsd:module/interactor/event/on_click`](data/fzsd/tags/functions/module/interactor/event/on_click.json)标签中注册上述函数
|
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`的触发器计分板
|
- 标签[`#fzsd:module/interactor/reset_trigger`](data/fzsd/tags/functions/module/interactor/reset_trigger.json):重置玩家`@s`的触发器计分板
|
||||||
|
|
||||||
### 计分板模块
|
### 计分板模块
|
||||||
|
|
||||||
#### 自定义计分板颜色
|
#### 自定义计分板颜色
|
||||||
|
|
||||||
- 数据包提供了所有计分板的全部16色命名函数
|
- 数据包提供了所有计分板的全部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/)函数
|
- 使用方法:**覆盖**[`#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/)函数
|
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/)标签,填入上述函数
|
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)函数
|
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)标签中注册该函数
|
2. 在[`#fzsd:module/scoreboard/install`](data/fzsd/tags/functions/module/scoreboard/install.json)标签中注册该函数
|
||||||
3. 按照“自定义计分板颜色”和“自定义计分板名称”中的操作,定义你的计分板颜色和名称
|
3. 按照“自定义计分板颜色”和“自定义计分板名称”中的操作,定义你的计分板颜色和名称
|
||||||
@ -99,18 +115,20 @@
|
|||||||
7. 定义一个用来判断在轮播时是否轮到你的计分板的函数,在判断后调用上一条中的函数,参考[`fzsd:module/scoreboard/display/carousel/try_display/*`](data/fzsd/functions/module/scoreboard/display/carousel/try_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)标签中
|
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>
|
<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/install/module`](data/fzsd/tags/functions/system/install/module.json)
|
||||||
- [`#fzsd:system/uninstall/module`](data/fzsd/tags/functions/system/uninstall/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/load/module`](data/fzsd/tags/functions/system/load/module.json)
|
||||||
|
|
||||||
#### 注册交互器按钮
|
#### 注册交互器按钮
|
||||||
|
|
||||||
- 见[交互器按钮](#按钮操作)
|
- 见[交互器按钮](#按钮操作)
|
||||||
|
20
README.md
20
README.md
@ -1,12 +1,16 @@
|
|||||||
# FZ生存数据包
|
# FZ生存数据包 v3.1
|
||||||
|
|
||||||
为FZ服务器写的Minecraft生存辅助数据包
|
为FZ服务器写的Minecraft生存辅助数据包
|
||||||
|
|
||||||
|
[![数据包版本](https://img.shields.io/badge/正式版-3.1.7-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)
|
||||||
|
|
||||||
## 安装教程
|
## 安装教程
|
||||||
|
|
||||||
1. 兼容性
|
1. 兼容性
|
||||||
- `数据包 v3.1.x` 支持 `Minecraft 1.20.x`
|
- `数据包 v3.1.x` 支持 `Minecraft 1.20.x`
|
||||||
- `数据包 v3.0.x` 支持 `Minecraft 1.18.2-1.19.x`
|
- `数据包 v3.0.x` 支持 `Minecraft 1.18.2-1.19.x` (不再维护)
|
||||||
2. 前往[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)下载对应MC版本的数据包
|
2. 前往[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)下载对应MC版本的数据包
|
||||||
3. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks`)
|
3. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks`)
|
||||||
4. (可选)下载并安装 [Carpet Mod](https://github.com/gnembon/fabric-carpet/releases)
|
4. (可选)下载并安装 [Carpet Mod](https://github.com/gnembon/fabric-carpet/releases)
|
||||||
@ -14,12 +18,6 @@
|
|||||||
- **注意:如果未正确安装该脚本,数据包会强制禁用 carpet mod 的 `player` 命令以避免假人污染记分板,需要在安装好脚本后手动启用 `player` 命令**
|
- **注意:如果未正确安装该脚本,数据包会强制禁用 carpet mod 的 `player` 命令以避免假人污染记分板,需要在安装好脚本后手动启用 `player` 命令**
|
||||||
6. 执行 `reload` 指令(或重新打开存档;在一些第三方服务端中可能需要改为`/minecraft:reload`)
|
6. 执行 `reload` 指令(或重新打开存档;在一些第三方服务端中可能需要改为`/minecraft:reload`)
|
||||||
|
|
||||||
# FZ生存数据包 3.1
|
|
||||||
|
|
||||||
[![数据包版本](https://img.shields.io/badge/正式版-3.1.7-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)
|
|
||||||
|
|
||||||
## 功能
|
## 功能
|
||||||
|
|
||||||
### 交互器
|
### 交互器
|
||||||
@ -77,6 +75,9 @@
|
|||||||
- 可避免Carpet假人污染计分板
|
- 可避免Carpet假人污染计分板
|
||||||
- 可以标记哪些玩家是假人
|
- 可以标记哪些玩家是假人
|
||||||
- 子命令( `/fzsd_score <子命令>` ):
|
- 子命令( `/fzsd_score <子命令>` ):
|
||||||
|
- ***使用前请务必备份存档!请报告不符预期的结果***
|
||||||
|
- ***使用前请务必备份存档!请报告不符预期的结果***
|
||||||
|
- ***使用前请务必备份存档!请报告不符预期的结果***
|
||||||
- `updateFrom <version>`:用于从给定的数据包版本恢复计分板数据(需要测试!)
|
- `updateFrom <version>`:用于从给定的数据包版本恢复计分板数据(需要测试!)
|
||||||
- `recalculate`:重新计算所有计分板总分
|
- `recalculate`:重新计算所有计分板总分
|
||||||
- `recalculate <scoreboardID>`:重新计算该计分板总分
|
- `recalculate <scoreboardID>`:重新计算该计分板总分
|
||||||
@ -91,7 +92,8 @@
|
|||||||
- `commandPlayer <permissionType>`:设置player命令权限类型
|
- `commandPlayer <permissionType>`:设置player命令权限类型
|
||||||
|
|
||||||
### 幻翼预警
|
### 幻翼预警
|
||||||
- 首次使用需要先睡一觉
|
|
||||||
|
- 首次使用需要先睡一觉
|
||||||
|
|
||||||
### 管理员
|
### 管理员
|
||||||
|
|
||||||
|
22
compat_27/data/fzsd/advancements/game_event/on_fished.json
Normal file
22
compat_27/data/fzsd/advancements/game_event/on_fished.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"parent": "fzsd:game_event",
|
||||||
|
"criteria": {
|
||||||
|
"on_fished": {
|
||||||
|
"trigger": "minecraft:fishing_rod_hooked",
|
||||||
|
"conditions": {
|
||||||
|
"player": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:reference",
|
||||||
|
"name": "fzsd:is_real_player"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"item": {
|
||||||
|
"items": "#fzsd:raw_fishes"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rewards": {
|
||||||
|
"function": "fzsd:game_event/advancement/on_fished"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"parent": "fzsd:game_event",
|
||||||
|
"criteria": {
|
||||||
|
"on_hurt_entity_with_tools": {
|
||||||
|
"trigger": "minecraft:player_hurt_entity",
|
||||||
|
"conditions": {
|
||||||
|
"player": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:reference",
|
||||||
|
"name": "fzsd:is_real_player"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"condition": "minecraft:entity_properties",
|
||||||
|
"entity": "this",
|
||||||
|
"predicate": {
|
||||||
|
"equipment": {
|
||||||
|
"mainhand": {
|
||||||
|
"items": "#fzsd:tools"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rewards": {
|
||||||
|
"function": "fzsd:game_event/advancement/on_hurt_entity_with_tools"
|
||||||
|
}
|
||||||
|
}
|
@ -1,9 +1,8 @@
|
|||||||
{
|
{
|
||||||
"parent": "fzsd:game_event",
|
"parent": "fzsd:game_event/on_placed_block",
|
||||||
"criteria": {
|
"criteria": {
|
||||||
"on_tools_exclude_axes_used_on_block": {
|
"on_placed_liquid": {
|
||||||
"__comment": "斧子剥树皮会触发两次!",
|
"trigger": "minecraft:placed_block",
|
||||||
"trigger": "minecraft:item_used_on_block",
|
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"location": [
|
"location": [
|
||||||
{
|
{
|
||||||
@ -11,9 +10,11 @@
|
|||||||
"name": "fzsd:is_real_player"
|
"name": "fzsd:is_real_player"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"condition": "minecraft:match_tool",
|
"condition": "minecraft:location_check",
|
||||||
"predicate": {
|
"predicate": {
|
||||||
"tag": "fzsd:tools_exclude_axes"
|
"block": {
|
||||||
|
"blocks": "#fzsd:liquid"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -21,6 +22,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rewards": {
|
"rewards": {
|
||||||
"function": "fzsd:game_event/advancement/on_tools_used_on_block"
|
"function": "fzsd:game_event/advancement/on_placed_block/on_placed_liquid"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"parent": "fzsd:game_event",
|
||||||
|
"criteria": {
|
||||||
|
"on_shears_used_on_entity": {
|
||||||
|
"trigger": "minecraft:player_interacted_with_entity",
|
||||||
|
"conditions": {
|
||||||
|
"player": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:reference",
|
||||||
|
"name": "fzsd:is_real_player"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"entity": {
|
||||||
|
"type": "#fzsd:shearable"
|
||||||
|
},
|
||||||
|
"item": {
|
||||||
|
"items": "#fzsd:tool/shears"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rewards": {
|
||||||
|
"function": "fzsd:game_event/advancement/on_shears_used_on_entity"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,50 @@
|
|||||||
|
{
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
# 见#fzsd.extra.bbl:display/set_text
|
# 见#fzsd.extra.bbl:display/set_text
|
||||||
|
|
||||||
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "purple"}'
|
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "light_purple"}'
|
||||||
scoreboard objectives setdisplay sidebar.team.light_purple fzsd.module.scoreboard.display.bedrock_broken_count
|
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": "purple"}
|
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "light_purple"}
|
||||||
team modify fzsd.module.scoreboard.display.bedrock_broken_count color light_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": "purple"}
|
team modify fzsd.module.scoreboard.display.bedrock_broken_count displayName {"text": "破基岩榜", "color": "light_purple"}
|
||||||
|
@ -1,34 +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:match_tool",
|
|
||||||
"predicate": {
|
|
||||||
"tag": "fzsd:tool/axes"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition": "minecraft:location_check",
|
|
||||||
"predicate": {
|
|
||||||
"__comment": "斧子剥树皮会触发两次,所以用目标方块限定只触发一次",
|
|
||||||
"block": {
|
|
||||||
"tag": "fzsd:stripped_blocks"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"rewards": {
|
|
||||||
"function": "fzsd:game_event/advancement/on_tools_used_on_block"
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,50 @@
|
|||||||
|
{
|
||||||
|
"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": {
|
||||||
|
"tag": "fzsd:tools_exclude_axes"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"condition": "minecraft:all_of",
|
||||||
|
"terms": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:match_tool",
|
||||||
|
"predicate": {
|
||||||
|
"tag": "fzsd:tool/axes"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"condition": "minecraft:location_check",
|
||||||
|
"predicate": {
|
||||||
|
"__comment": "斧子剥树皮会触发两次,所以用目标方块限定只触发一次",
|
||||||
|
"block": {
|
||||||
|
"tag": "fzsd:stripped_blocks"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rewards": {
|
||||||
|
"function": "fzsd:game_event/advancement/on_tools_used_on_block"
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
execute store success storage fzsd:version fzsd.need_update byte 1 run data merge storage fzsd:version {fzsd: {version: '3.1.7'}}
|
execute store success storage fzsd:version fzsd.need_update byte 1 run data merge storage fzsd:version {fzsd: {version: '3.1.8-beta.1'}}
|
||||||
execute if data storage fzsd:version fzsd{need_update: 1b} run function fzsd:system/update
|
execute if data storage fzsd:version fzsd{need_update: 1b} run function fzsd:system/update
|
||||||
function fzsd:system/carpet/try_load_fzsd_score
|
function fzsd:system/carpet/try_load_fzsd_score
|
||||||
function #fzsd:load
|
function #fzsd:load
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
# 调用者:advancements/fzsd:~
|
# 调用者: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
|
function #fzsd:game_event/player/on_placed_block
|
||||||
|
|
||||||
## 重置事件进度
|
## 重置事件进度
|
||||||
|
@ -10,5 +10,4 @@ scoreboard players remove @s fzsd.event.used_tool.dig_offset 1
|
|||||||
function #fzsd:game_event/player/on_tools_used_on_block
|
function #fzsd:game_event/player/on_tools_used_on_block
|
||||||
|
|
||||||
## 重置事件进度
|
## 重置事件进度
|
||||||
advancement revoke @s from fzsd:game_event/on_tool_axes_used_on_block
|
advancement revoke @s from fzsd:game_event/on_tools_used_on_block
|
||||||
advancement revoke @s from fzsd:game_event/on_tools_exclude_axes_used_on_block
|
|
@ -1,48 +0,0 @@
|
|||||||
{
|
|
||||||
"condition": "minecraft:any_of",
|
|
||||||
"terms": [
|
|
||||||
{
|
|
||||||
"__comment": "主手==斧子",
|
|
||||||
"condition": "minecraft:entity_properties",
|
|
||||||
"entity": "this",
|
|
||||||
"predicate": {
|
|
||||||
"equipment": {
|
|
||||||
"mainhand": {
|
|
||||||
"tag": "fzsd:tool/axes"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"__comment": "主手!=工具&&副手==斧子",
|
|
||||||
"condition": "minecraft:all_of",
|
|
||||||
"terms": [
|
|
||||||
{
|
|
||||||
"condition": "minecraft:inverted",
|
|
||||||
"term": {
|
|
||||||
"condition": "minecraft:entity_properties",
|
|
||||||
"entity": "this",
|
|
||||||
"predicate": {
|
|
||||||
"equipment": {
|
|
||||||
"mainhand": {
|
|
||||||
"tag": "fzsd:tools"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"condition": "minecraft:entity_properties",
|
|
||||||
"entity": "this",
|
|
||||||
"predicate": {
|
|
||||||
"equipment": {
|
|
||||||
"offhand": {
|
|
||||||
"tag": "fzsd:tool/axes"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"fzsd:module/scoreboard/display/set_text/placement_count/dark_green"
|
"fzsd:module/scoreboard/display/set_text/placement_count/dark_blue"
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -8,6 +8,6 @@
|
|||||||
"replace": false,
|
"replace": false,
|
||||||
"__comment_values": "此处只能填写一个函数!",
|
"__comment_values": "此处只能填写一个函数!",
|
||||||
"values": [
|
"values": [
|
||||||
"fzsd:module/scoreboard/display/set_text/trade_count/green"
|
"fzsd:module/scoreboard/display/set_text/trade_count/dark_green"
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -4,7 +4,7 @@
|
|||||||
"pack_format": 15,
|
"pack_format": 15,
|
||||||
"supported_formats": {
|
"supported_formats": {
|
||||||
"min_inclusive": 15,
|
"min_inclusive": 15,
|
||||||
"max_inclusive": 26
|
"max_inclusive": 41
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"overlays": {
|
"overlays": {
|
||||||
@ -15,6 +15,13 @@
|
|||||||
"max_inclusive": 26
|
"max_inclusive": 26
|
||||||
},
|
},
|
||||||
"directory": "compat_16"
|
"directory": "compat_16"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"formats": {
|
||||||
|
"min_inclusive": 27,
|
||||||
|
"max_inclusive": 41
|
||||||
|
},
|
||||||
|
"directory": "compat_27"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user