Compare commits

...

30 Commits

Author SHA1 Message Date
Harvey_Husky 52f182a02f 支持1.20-1.20.4;修复血量显示失效 2023-12-09 09:19:14 +08:00
延皓 78451c559e update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-12-08 11:41:32 +00:00
延皓 0fa1c6ae32 留言
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-11-14 06:05:47 +00:00
Harvey_Husky f2d84334fe 1.20.2 2023-10-01 03:57:37 +08:00
Harvey_Husky f3cee3baef support 1.20.2 2023-10-01 03:55:00 +08:00
Harvey_Husky 63efa94335 补充缺失的去皮原木标签 2023-09-03 20:54:47 +08:00
Harvey_Husky 6e8a38d027 update version 2023-09-03 20:49:33 +08:00
Harvey_Husky 888d664897 Merge branch 'dev/3.1' of https://gitee.com/harvey-husky/fz-survival-datapack into dev/3.1 2023-09-03 20:49:05 +08:00
Harvey_Husky c46c3d0ec2 补充缺失的去皮原木标签 2023-09-03 20:49:02 +08:00
延皓 b398e27d89 update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-08-06 03:44:43 +00:00
Harvey_Husky 14f7fdc70c 向扫地机白名单添加了所有矿车和船(不包括箱船!) 2023-08-05 09:56:01 +08:00
Harvey_Husky 664735720f 避免清理各类矿车 2023-08-05 09:31:19 +08:00
Harvey_Husky 697957300b update version 2023-08-05 09:28:41 +08:00
Harvey_Husky 1c9f10261a Merge branch 'dev/3.1' of https://gitee.com/harvey-husky/fz-survival-datapack into dev/3.1 2023-08-05 09:27:37 +08:00
Harvey_Husky a3642694e8 避免清理各类矿车 2023-08-05 09:27:35 +08:00
延皓 f2226d6c0e update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-07-24 13:08:21 +00:00
延皓 0c09cd467f update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-07-24 12:50:10 +00:00
延皓 4cd45d6ab1 update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-07-24 12:40:22 +00:00
延皓 3499fb0be3 update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-07-24 12:32:35 +00:00
延皓 0c93ee830c update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-07-24 12:30:47 +00:00
Harvey_Husky 09fcbb7891 update version 2023-07-24 19:49:46 +08:00
Harvey_Husky e13ab7619c Merge branch 'dev/3.1' of https://gitee.com/harvey-husky/fz-survival-datapack into dev/3.1 2023-07-24 19:46:30 +08:00
Harvey_Husky cfbd6da92a 破基岩榜改为深灰色;避免int型数据溢出污染记分板。脚本:不再缓存服务器白名单 2023-07-24 19:46:24 +08:00
延皓 b3582c3bab update README.md.
Signed-off-by: 延皓 <harvey_husky@qq.com>
2023-06-30 06:27:32 +00:00
Harvey_Husky 2a96a9ee3a update README.md 2023-06-26 12:48:45 +08:00
Harvey_Husky 4e79e3209e 忘了加管理员按钮了。。 2023-06-26 12:44:26 +08:00
Harvey_Husky 09fac1082a fix 2023-06-26 12:35:59 +08:00
Harvey_Husky 44d7a24b1b Merge branch 'dev/3.1' of https://gitee.com/harvey-husky/fz-survival-datapack into dev/3.1 2023-06-26 08:28:45 +08:00
Harvey_Husky 667822c436 添加幻翼提醒;在重装后会自动重载 2023-06-26 08:28:40 +08:00
延皓 02330aec55 update README.md.
Signed-off-by: 延皓 <harvey_husky@qq.com>
2023-06-08 09:59:29 +00:00
75 changed files with 404 additions and 107 deletions
+2 -2
View File
@@ -17,6 +17,6 @@
"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", "datapack.env.cmdVersion": "1.20.2",
"datapack.env.dataVersion": "1.20" "datapack.env.dataVersion": "1.20.4"
} }
+47 -27
View File
@@ -1,3 +1,6 @@
# 留言
因病一段时间内不再维护。
1.21以后函数允许入参,可以搞很多骚操作,但是得等有心思的时候再说了。
# FZ生存数据包 # FZ生存数据包
为FZ服务器写的Minecraft生存辅助数据包 为FZ服务器写的Minecraft生存辅助数据包
@@ -6,27 +9,21 @@
#### Copyright (C) 2019-2023 Harvey_Husky #### Copyright (C) 2019-2023 Harvey_Husky
[Bilibili专栏](https://www.bilibili.com/read/cv4267319)(年久失修)
## 安装教程 ## 安装教程
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`
- `数据包 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版本的数据包 2. 前往[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)下载对应MC版本的数据包
3. 从zip文件的 `scripts` 目录中挑选你需要的 `.sc` 文件 3. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks`
4. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks` 4. (可选)下载并安装 [Carpet Mod](https://github.com/gnembon/fabric-carpet/releases)
5. (可选)下载并安装 [Carpet Mod **1.4.24**](https://github.com/gnembon/fabric-carpet/releases) 或以上版本 5. (可选)从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
6. (可选)从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts` - **注意:如果未正确安装该脚本,数据包会强制禁用 carpet mod 的 `player` 命令以避免假人污染记分板,需要在安装好脚本后手动启用 `player` 命令**
7. 执行 `reload` 指令(或重新打开存档;在一些第三方服务端中可能需要改为`/minecraft:reload` 6. 执行 `reload` 指令(或重新打开存档;在一些第三方服务端中可能需要改为`/minecraft:reload`
# FZ生存数据包 3.1 # FZ生存数据包 3.1
[![数据包版本](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://img.shields.io/badge/正式版-3.1.6-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) > 其他版本见[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)
@@ -40,18 +37,18 @@
- 提供下列计分板: - 提供下列计分板:
| 默认名称 | 计分板ID | | 默认名称 | 计分板ID |
| :------: | :----------------------------------------------: | | :------: | :----------------------------------------------: |
| 总榜 | fzsd.module.scoreboard.display.general | | 总榜 | fzsd.module.scoreboard.display.general |
| 活跃度 | fzsd.module.scoreboard.display.activation | | 活跃度 | fzsd.module.scoreboard.display.activation |
| 飞行距离 | fzsd.module.scoreboard.display.aviating_distance | | 飞行距离 | fzsd.module.scoreboard.display.aviating_distance |
| 抖M榜 | fzsd.module.scoreboard.display.damage_taken | | 抖M榜 | fzsd.module.scoreboard.display.damage_taken |
| 死亡榜 | fzsd.module.scoreboard.display.death_count | | 死亡榜 | fzsd.module.scoreboard.display.death_count |
| 挖掘榜 | fzsd.module.scoreboard.display.dig_count | | 挖掘榜 | fzsd.module.scoreboard.display.dig_count |
| 钓鱼榜 | fzsd.module.scoreboard.display.fishing_count | | 钓鱼榜 | fzsd.module.scoreboard.display.fishing_count |
| 击杀榜 | fzsd.module.scoreboard.display.kill_count | | 击杀榜 | fzsd.module.scoreboard.display.kill_count |
| 放置榜 | fzsd.module.scoreboard.display.placement_count | | 放置榜 | fzsd.module.scoreboard.display.placement_count |
| 交易榜 | fzsd.module.scoreboard.display.trade_count | | 交易榜 | fzsd.module.scoreboard.display.trade_count |
- 兼容[破基岩榜Mod](https://gitee.com/harvey-husky/yh-bbl) - 兼容[破基岩榜Mod](https://gitee.com/harvey-husky/yh-bbl)
- 安装该Mod后,使用连点器破基岩,破基岩榜将自动显示在交互器页面 - 安装该Mod后,使用连点器破基岩,破基岩榜将自动显示在交互器页面
@@ -60,17 +57,32 @@
| :------: | :----------------------------------------------: | | :------: | :----------------------------------------------: |
| 破基岩榜 |fzsd.module.scoreboard.display.bedrock_broken_count| | 破基岩榜 |fzsd.module.scoreboard.display.bedrock_broken_count|
- 系统总榜计分板:`fzsd.module.scoreboard.assign.general`
- 可以在在此记分板修改总分数据,下次加分时会刷新显示分数
- 总计分项名称对照表:
| 默认名称 | 计分板ID |
| :------: | :----------------------------------------------: |
| 总活跃时间 | fzsd.module.scoreboard.total.activation |
| 总飞行距离 | fzsd.module.scoreboard.total.aviating_distance |
| 总受伤害量 | fzsd.module.scoreboard.total.damage_taken |
| 总死亡数 | fzsd.module.scoreboard.total.death_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 |
### 地毯脚本 ### 地毯脚本
- 如果你不知道 Carpet Mod 或 Carpet 脚本,请忽略本节 - 如果你不知道 Carpet Mod 或 Carpet 脚本,请忽略本节
- 需要安装 [Carpet Mod](https://github.com/gnembon/fabric-carpet/releases) - 需要安装 [Carpet Mod](https://github.com/gnembon/fabric-carpet/releases)
- 从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts` - 从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
- **注意:如果未正确安装该脚本,数据包会强制禁用 carpet mod 的 `player` 命令以避免假人污染记分板,需要在安装好脚本后手动启用 `player` 命令**
- 脚本: - 脚本:
- `fzsd_score.sc` - `fzsd_score.sc`
- 可避免Carpet假人污染计分板 - 可避免Carpet假人污染计分板
- 可以标记哪些玩家是假人 - 可以标记哪些玩家是假人
- *注:请不要使用为假人名添加“bot”前缀的carpet扩展,本插件不支持此类假人!*
- 子命令( `/fzsd_score <子命令>` ): - 子命令( `/fzsd_score <子命令>` ):
- `updateFrom <version>`:用于从给定的数据包版本恢复计分板数据(需要测试!) - `updateFrom <version>`:用于从给定的数据包版本恢复计分板数据(需要测试!)
- `recalculate`:重新计算所有计分板总分 - `recalculate`:重新计算所有计分板总分
@@ -85,13 +97,21 @@
- *副作用:恢复完成后玩家会被放置在出生点,请确保出生点完全安全* - *副作用:恢复完成后玩家会被放置在出生点,请确保出生点完全安全*
- `commandPlayer <permissionType>`:设置player命令权限类型 - `commandPlayer <permissionType>`:设置player命令权限类型
### 幻翼预警
- 首次使用需要先睡一觉
### 管理员 ### 管理员
- 使用`/function admin.fzsd:admin`命令管理(安装、卸载等)各模块 - 使用`/function admin.fzsd:admin`命令管理(安装、卸载等)各模块
### 其他 ### 其他
- 见游戏内交互器按钮 - 扫地机
- 获取当前维度和坐标(以及对应的主世界、下界坐标)(私信/广播)
- 获取上次死亡维度和坐标(私信/广播)
- 获取上次穿出的下界传送门坐标(私信/广播)
- 获取出生点维度和坐标(私信/广播)
## 开发者相关 ## 开发者相关
- 参见[开发文档](/DEVDOC.md)
- 见[开发文档](/DEVDOC.md)
@@ -0,0 +1,7 @@
execute unless data storage fzsd:config fzsd.module.health.display{below_name: 0b} run scoreboard objectives setdisplay below_name fzsd.module.health
execute if data storage fzsd:config fzsd.module.health.display{below_name: 0b} run scoreboard objectives setdisplay below_name
execute unless data storage fzsd:config fzsd.module.health.display{list: 0b} run scoreboard objectives setdisplay list fzsd.module.health
execute if data storage fzsd:config fzsd.module.health.display{list: 0b} run scoreboard objectives setdisplay list
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..500 run tellraw @a [{"nbt": "fzsd.level.info", "interpret": true, "storage": "fzsd:logger"}, {"text": "已加载组件:玩家血量显示"}]
@@ -36,3 +36,5 @@ tellraw @s [{"text": "计分板:"}, [{"text": "", "color": "dark_gray"}, [{"te
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/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": "]"}]]]
@@ -1,2 +1,2 @@
data modify storage fzsd:config fzsd.module.health.display.below_name set value 0b 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 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 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 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
@@ -1,6 +1,6 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"fzsd.extra.bbl:display/set_text/black" "fzsd.extra.bbl:display/set_text/dark_gray"
] ]
} }
@@ -0,0 +1,19 @@
{
"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"
}
}
@@ -0,0 +1,2 @@
# 游戏时间范围:0-2147483647
execute store result score fzsd.var.cache fzsd.variable.integer run time query daytime
@@ -0,0 +1,2 @@
# 游戏时间范围:0-2147483647
execute store result score fzsd.var.cache fzsd.variable.integer run time query gametime
@@ -0,0 +1 @@
scoreboard players operation fzsd.var.cache fzsd.variable.integer = @s fzsd.api.time_since_rest
@@ -0,0 +1,5 @@
##
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"}]
@@ -0,0 +1,5 @@
##
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"}]
+2 -2
View File
@@ -1,5 +1,5 @@
execute store success storage fzsd:version fzsd.need_update int 1 run data merge storage fzsd:version {fzsd: {version: '3.1.0.rc.1'}} execute store success storage fzsd:version fzsd.need_update byte 1 run data merge storage fzsd:version {fzsd: {version: '3.1.6'}}
execute if data storage fzsd:version fzsd{need_update: 1} 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
execute if score fzsd.logger.level fzsd.variable.integer matches ..500 run tellraw @a [{"nbt": "fzsd.level.info", "interpret": true, "storage": "fzsd:logger"}, {"text": "FZ Survival Data Pack,当前版本:", "color": "gold"}, {"nbt":"fzsd.version", "storage": "fzsd:version", "color": "red"}] execute if score fzsd.logger.level fzsd.variable.integer matches ..500 run tellraw @a [{"nbt": "fzsd.level.info", "interpret": true, "storage": "fzsd:logger"}, {"text": "FZ Survival Data Pack,当前版本:", "color": "gold"}, {"nbt":"fzsd.version", "storage": "fzsd:version", "color": "red"}]
@@ -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_liquid function #fzsd:game_event/player/on_placed_liquid
## ##
@@ -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_solid function #fzsd:game_event/player/on_placed_solid
## ##
@@ -0,0 +1,10 @@
# 调用者: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,2 +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": "放置了流体"}]
@@ -1,2 +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": "放置了方块"}]
@@ -0,0 +1,7 @@
# 调用者: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
@@ -0,0 +1,3 @@
# 由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,4 +1,4 @@
# 调用者:fzsd:game_event/player/on_used_tool # 调用者:fzsd:game_event/player/on_broke_block_with_tool/try_trigger
## ##
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 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,2 +1,4 @@
# 调用者:#fzsd:game_event/player/on_used_tool
## ##
execute unless score fzsd.var.score fzsd.variable.integer matches ..0 run function fzsd:game_event/player/on_broke_block_with_tool execute unless score fzsd.var.score fzsd.variable.integer matches ..0 run function fzsd:game_event/player/on_broke_block_with_tool
@@ -1,5 +1,5 @@
## ##
execute if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "使用了工具"}] execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "使用了工具"}]
## ##
function #fzsd:game_event/player/on_used_tool function #fzsd:game_event/player/on_used_tool
@@ -31,5 +31,5 @@ scoreboard players set @s fzsd.event.used_tool.wooden_pickaxe 0
scoreboard players set @s fzsd.event.used_tool.wooden_shovel 0 scoreboard players set @s fzsd.event.used_tool.wooden_shovel 0
scoreboard players set @s fzsd.event.used_tool.wooden_sword 0 scoreboard players set @s fzsd.event.used_tool.wooden_sword 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": "的used_tool计分板"}] execute if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "重置了玩家"}, {"selector": "@s"}, {"text": "的used_tool计分板"}]
@@ -1,3 +1,4 @@
## @see compat_16
execute unless data storage fzsd:config fzsd.module.health.display{below_name: 0b} run scoreboard objectives setdisplay belowName fzsd.module.health execute unless data storage fzsd:config fzsd.module.health.display{below_name: 0b} run scoreboard objectives setdisplay belowName fzsd.module.health
execute if data storage fzsd:config fzsd.module.health.display{below_name: 0b} run scoreboard objectives setdisplay belowName execute if data storage fzsd:config fzsd.module.health.display{below_name: 0b} run scoreboard objectives setdisplay belowName
execute unless data storage fzsd:config fzsd.module.health.display{list: 0b} run scoreboard objectives setdisplay list fzsd.module.health execute unless data storage fzsd:config fzsd.module.health.display{list: 0b} run scoreboard objectives setdisplay list fzsd.module.health
@@ -1 +1 @@
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"}]] 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 +1 @@
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"}] 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"}]
@@ -0,0 +1,3 @@
# TODO: 数字有待商榷
function #fzsd:api/get_time_since_rest
execute if score fzsd.var.cache fzsd.variable.integer matches 61766.. run function #fzsd:module/phantom_warning/send_phantom_warning
@@ -0,0 +1 @@
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
@@ -0,0 +1,5 @@
##
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": "已安装组件:幻翼预警"}]
@@ -0,0 +1,5 @@
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @s [{"nbt": "fzsd.level.alert", "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": "事件已触发:已向玩家"}, {"selector": "@s"}, {"text": "发送幻翼预警"}]
@@ -0,0 +1 @@
execute unless data storage fzsd:install fzsd.module{phantom_warning:0b} run function #fzsd:module/phantom_warning/install
@@ -0,0 +1,5 @@
##
data modify storage fzsd:install fzsd.module.phantom_warning 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,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.activation 1 scoreboard players add @s fzsd.module.scoreboard.display.activation 1
execute if score @s fzsd.module.scoreboard.display.activation matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.activation 2147483647
scoreboard players add fzsd.module.scoreboard.total.activation fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.activation fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.activation fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.activation fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players operation @s fzsd.module.scoreboard.display.aviating_distance += fzsd.var.score fzsd.variable.integer scoreboard players operation @s fzsd.module.scoreboard.display.aviating_distance += fzsd.var.score fzsd.variable.integer
execute if score @s fzsd.module.scoreboard.display.aviating_distance matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.aviating_distance 2147483647
scoreboard players operation fzsd.module.scoreboard.total.aviating_distance fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer scoreboard players operation fzsd.module.scoreboard.total.aviating_distance fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer
execute if score fzsd.module.scoreboard.total.aviating_distance fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.aviating_distance fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players operation @s fzsd.module.scoreboard.display.damage_taken += fzsd.var.score fzsd.variable.integer scoreboard players operation @s fzsd.module.scoreboard.display.damage_taken += fzsd.var.score fzsd.variable.integer
execute if score @s fzsd.module.scoreboard.display.damage_taken matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.damage_taken 2147483647
scoreboard players operation fzsd.module.scoreboard.total.damage_taken fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer scoreboard players operation fzsd.module.scoreboard.total.damage_taken fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer
execute if score fzsd.module.scoreboard.total.damage_taken fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.damage_taken fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.death_count 1 scoreboard players add @s fzsd.module.scoreboard.display.death_count 1
execute if score @s fzsd.module.scoreboard.display.death_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.death_count 2147483647
scoreboard players add fzsd.module.scoreboard.total.death_count fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.death_count fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.death_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.death_count fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players operation @s fzsd.module.scoreboard.display.dig_count += fzsd.var.score fzsd.variable.integer scoreboard players operation @s fzsd.module.scoreboard.display.dig_count += fzsd.var.score fzsd.variable.integer
execute if score @s fzsd.module.scoreboard.display.dig_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.dig_count 2147483647
scoreboard players operation fzsd.module.scoreboard.total.dig_count fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer scoreboard players operation fzsd.module.scoreboard.total.dig_count fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer
execute if score fzsd.module.scoreboard.total.dig_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.dig_count fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.fishing_count 1 scoreboard players add @s fzsd.module.scoreboard.display.fishing_count 1
execute if score @s fzsd.module.scoreboard.display.fishing_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.fishing_count 2147483647
scoreboard players add fzsd.module.scoreboard.total.fishing_count fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.fishing_count fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.fishing_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.fishing_count fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.kill_count 1 scoreboard players add @s fzsd.module.scoreboard.display.kill_count 1
execute if score @s fzsd.module.scoreboard.display.kill_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.kill_count 2147483647
scoreboard players add fzsd.module.scoreboard.total.kill_count fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.kill_count fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.kill_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.kill_count fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.placement_count 1 scoreboard players add @s fzsd.module.scoreboard.display.placement_count 1
execute if score @s fzsd.module.scoreboard.display.placement_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.placement_count 2147483647
scoreboard players add fzsd.module.scoreboard.total.placement_count fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.placement_count fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.placement_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.placement_count fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.trade_count 1 scoreboard players add @s fzsd.module.scoreboard.display.trade_count 1
execute if score @s fzsd.module.scoreboard.display.trade_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.trade_count 2147483647
scoreboard players add fzsd.module.scoreboard.total.trade_count fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.trade_count fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.trade_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.trade_count fzsd.module.scoreboard.assign.general 2147483647
@@ -2,4 +2,5 @@
scoreboard players set -1 fzsd.variable.integer -1 scoreboard players set -1 fzsd.variable.integer -1
scoreboard players set 10 fzsd.variable.integer 10 scoreboard players set 10 fzsd.variable.integer 10
scoreboard players set 200 fzsd.variable.integer 200 scoreboard players set 200 fzsd.variable.integer 200
scoreboard players set 24000 fzsd.variable.integer 24000
scoreboard players set 72000 fzsd.variable.integer 72000 scoreboard players set 72000 fzsd.variable.integer 72000
+94 -5
View File
@@ -1,7 +1,96 @@
{ {
"condition": "minecraft:entity_properties", "condition": "minecraft:any_of",
"entity": "this", "terms": [
"predicate": { {
"nbt": "{Item:{id:\"minecraft:minecart\"}}" "condition": "minecraft:entity_properties",
} "entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:minecart\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:hopper_minecart\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:chest_minecart\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:furnace_minecart\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:oak_boat\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:birch_boat\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:acacia_boat\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:cherry_boat\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:jungle_boat\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:spruce_boat\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:dark_oak_boat\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:mangrove_boat\"}}"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:bamboo_raft\"}}"
}
}
]
} }
+5 -1
View File
@@ -16,6 +16,10 @@
"minecraft:stripped_spruce_log", "minecraft:stripped_spruce_log",
"minecraft:stripped_spruce_wood", "minecraft:stripped_spruce_wood",
"minecraft:stripped_warped_hyphae", "minecraft:stripped_warped_hyphae",
"minecraft:stripped_warped_stem" "minecraft:stripped_warped_stem",
"minecraft:stripped_cherry_log",
"minecraft:stripped_cherry_wood",
"minecraft:stripped_mangrove_log",
"minecraft:stripped_mangrove_wood"
] ]
} }
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:api/get_current_daytime"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:api/get_current_gametime"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:api/get_time_since_rest"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:api/install"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:api/uninstall"
]
}
+3 -2
View File
@@ -2,7 +2,8 @@
"__comment": "本标签将强制重装所有模块", "__comment": "本标签将强制重装所有模块",
"replace": false, "replace": false,
"values": [ "values": [
"#fzsd:uninstall", "#fzsd:deep_uninstall",
"#fzsd:deep_install" "#fzsd:deep_install",
"#fzsd:load"
] ]
} }
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"#fzsd:module/phantom_warning/event/on_night"
]
}
@@ -1,6 +1,6 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"fzsd:game_event/game/on_night/on_tick"
] ]
} }
@@ -1,6 +1,5 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"fzsd:game_event/callback/on_placed_liquid"
] ]
} }
@@ -1,7 +1,6 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"fzsd:game_event/callback/on_placed_solid",
"#fzsd:module/scoreboard/assign/scoreboard/placement_count" "#fzsd:module/scoreboard/assign/scoreboard/placement_count"
] ]
} }
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
]
}
@@ -1,6 +0,0 @@
{
"replace": false,
"values": [
"fzsd:module/join_message/default_message"
]
}
@@ -1,6 +1,6 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"#fzsd:module/join_message/default_message" "fzsd:module/join_message/default_message"
] ]
} }
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:module/phantom_warning/check_time_since_rest"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:module/phantom_warning/event/on_night"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:module/phantom_warning/install"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:module/phantom_warning/send_phantom_warning"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:module/phantom_warning/uninstall"
]
}
@@ -2,7 +2,7 @@
"replace": false, "replace": false,
"values": [ "values": [
"fzsd:module/sweeper/clear", "fzsd:module/sweeper/clear",
"fzsd:module/sweeper/post_loop", "fzsd:module/sweeper/pre_loop",
"fzsd:module/sweeper/start_timer", "fzsd:module/sweeper/start_timer",
"fzsd:module/sweeper/bossbar" "fzsd:module/sweeper/bossbar"
] ]
+2 -1
View File
@@ -2,6 +2,7 @@
"replace": false, "replace": false,
"values": [ "values": [
"#fzsd:uninstall", "#fzsd:uninstall",
"#fzsd:install" "#fzsd:install",
"#fzsd:load"
] ]
} }
@@ -4,9 +4,11 @@
"#fzsd:module/health/install", "#fzsd:module/health/install",
"#fzsd:module/here/install", "#fzsd:module/here/install",
"#fzsd:module/interactor/install", "#fzsd:module/interactor/install",
"#fzsd:module/join_message/install",
"#fzsd:module/last_death/install", "#fzsd:module/last_death/install",
"#fzsd:module/last_nether_portal/install", "#fzsd:module/last_nether_portal/install",
"#fzsd:module/last_spawn_point/install", "#fzsd:module/last_spawn_point/install",
"#fzsd:module/phantom_warning/install",
"#fzsd:module/scoreboard/install", "#fzsd:module/scoreboard/install",
"#fzsd:module/sweeper/install" "#fzsd:module/sweeper/install"
] ]
@@ -8,6 +8,7 @@
"fzsd:module/last_death/try_install", "fzsd:module/last_death/try_install",
"fzsd:module/last_nether_portal/try_install", "fzsd:module/last_nether_portal/try_install",
"fzsd:module/last_spawn_point/try_install", "fzsd:module/last_spawn_point/try_install",
"fzsd:module/phantom_warning/try_install",
"fzsd:module/scoreboard/try_install", "fzsd:module/scoreboard/try_install",
"fzsd:module/sweeper/try_install" "fzsd:module/sweeper/try_install"
] ]
@@ -3,6 +3,7 @@
"values": [ "values": [
"fzsd:system/install/install", "fzsd:system/install/install",
"#fzsd:logger/install", "#fzsd:logger/install",
"#fzsd:api/install",
"#fzsd:game_event/install" "#fzsd:game_event/install"
] ]
} }
@@ -1,6 +1,7 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"#fzsd:api/uninstall",
"#fzsd:game_event/uninstall", "#fzsd:game_event/uninstall",
"#fzsd:logger/uninstall", "#fzsd:logger/uninstall",
"fzsd:system/uninstall/uninstall" "fzsd:system/uninstall/uninstall"
+16 -1
View File
@@ -1,6 +1,21 @@
{ {
"pack": { "pack": {
"description": "FZ Survival Datapack 3.1 | Author: Harvey_Husky", "description": "FZ Survival Datapack 3.1 | Author: Harvey_Husky",
"pack_format": 15 "pack_format": 15,
"supported_formats": {
"min_inclusive": 15,
"max_inclusive": 26
}
},
"overlays": {
"entries": [
{
"formats": {
"min_inclusive": 16,
"max_inclusive": 26
},
"directory": "compat_16"
}
]
} }
} }
+18 -27
View File
@@ -43,7 +43,6 @@ global_current_scoreboard_list = [
'fzsd.module.scoreboard.display.aviating_distance', 'fzsd.module.scoreboard.display.aviating_distance',
'fzsd.module.scoreboard.display.placement_count' 'fzsd.module.scoreboard.display.placement_count'
]; ];
global_server_whitelist_cache = null;
__config() -> { __config() -> {
'scope' -> 'global', 'scope' -> 'global',
@@ -184,10 +183,7 @@ __on_player_disconnects(player, reason) -> (
// 获取服务器白名单 // 获取服务器白名单
get_server_whitelist() -> ( get_server_whitelist() -> (
if(global_server_whitelist_cache == null, return(keys(system_info('server_whitelist')));
global_server_whitelist_cache = keys(system_info('server_whitelist'));
);
return(global_server_whitelist_cache);
); );
// 重载配置文件 // 重载配置文件
@@ -387,20 +383,14 @@ merge_score(from, to, fzsd_version) -> (
// 获取承载总榜数据的玩家名 // 获取承载总榜数据的玩家名
// 因为新计分板允许玩家自定义显示的总榜名称故做复杂判断才能使脚本确定用来承载总榜数据的玩家名 // 因为新计分板允许玩家自定义显示的总榜名称故做复杂判断才能使脚本确定用来承载总榜数据的玩家名
get_total_score_name_new(scoreboard) -> ( get_total_score_name_new(scoreboard) -> (
INT_MIN = -2147483648; // 系统总榜id
// 获取系统总榜id sys_total_name = replace(scoreboard, 'display', 'total');
system_total_name = replace(scoreboard, 'display', 'total');
// 当前总分
current_score = scoreboard('fzsd.module.scoreboard.assign.general', sys_total_name);
// 将系统总榜分数加上最小int值使其成为最低分 // 将系统总榜分数设为INT_MIN使其成为最低分
scoreboard( scoreboard('fzsd.module.scoreboard.assign.general', sys_total_name, -2147483648);
'fzsd.module.scoreboard.assign.general',
system_total_name,
scoreboard(
'fzsd.module.scoreboard.assign.general',
system_total_name
) + INT_MIN
);
// 将总分赋值到显示计分板上 // 将总分赋值到显示计分板上
display_total_score(scoreboard); display_total_score(scoreboard);
@@ -419,14 +409,7 @@ get_total_score_name_new(scoreboard) -> (
); );
// 恢复总榜分数 // 恢复总榜分数
scoreboard( scoreboard('fzsd.module.scoreboard.assign.general', sys_total_name, current_score);
'fzsd.module.scoreboard.assign.general',
system_total_name,
scoreboard(
'fzsd.module.scoreboard.assign.general',
system_total_name
) - INT_MIN
);
display_total_score(scoreboard); display_total_score(scoreboard);
// 返回榜内最低分的玩家名承载总榜数据的玩家名 // 返回榜内最低分的玩家名承载总榜数据的玩家名
@@ -444,7 +427,15 @@ command_recalculate_total_score(scoreboard) -> (
total_score = 0; total_score = 0;
for(scoreboard(scoreboard), for(scoreboard(scoreboard),
if(_ != total_score_name_new, if(_ != total_score_name_new,
total_score += scoreboard(scoreboard, _); current_player_score = scoreboard(scoreboard, _);
if(current_player_score < 0, // 避免溢出
current_player_score = 2147483647;
scoreboard(scoreboard, _, 2147483647);
);
total_score += current_player_score;
);
if(total_score < 0, // 避免溢出
total_score = 2147483647;
); );
); );
// 赋值总分到系统总分计分板 // 赋值总分到系统总分计分板
@@ -521,7 +512,7 @@ restore_score(player_name, scoreboard) -> (
require_not_null(player_name); require_not_null(player_name);
if(scoreboard == null, if(scoreboard == null,
for(global_current_scoreboard_list, restore_score(player_name, _)); for(global_current_scoreboard_list, restore_score(player_name, _));
return(); return(true);
); );
player = player(player_name); player = player(player_name);
player_is_offline = false; player_is_offline = false;