Compare commits

..

25 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
29 changed files with 228 additions and 89 deletions
+2 -2
View File
@@ -17,6 +17,6 @@
"storageText": "{\"nbt\": \"${1:NBT}\", \"interpret\": true, \"storage\": \"${2:A namespaced ID}\"}",
"ifInstalled": "execute if data storage fzsd:installed fzsd.module{${1:module_name}:1b} run ${tellraw}"
},
"datapack.env.cmdVersion": "1.20",
"datapack.env.dataVersion": "1.20"
"datapack.env.cmdVersion": "1.20.2",
"datapack.env.dataVersion": "1.20.4"
}
+47 -27
View File
@@ -1,3 +1,6 @@
# 留言
因病一段时间内不再维护。
1.21以后函数允许入参,可以搞很多骚操作,但是得等有心思的时候再说了。
# FZ生存数据包
为FZ服务器写的Minecraft生存辅助数据包
@@ -6,27 +9,21 @@
#### Copyright (C) 2019-2023 Harvey_Husky
[Bilibili专栏](https://www.bilibili.com/read/cv4267319)(年久失修)
## 安装教程
1. 兼容性
- `数据包 v3.1.x` 支持 `Minecraft 1.20.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版本的数据包
3. 从zip文件的 `scripts` 目录中挑选你需要的 `.sc` 文件
4. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks`
5. (可选)下载并安装 [Carpet Mod **1.4.24**](https://github.com/gnembon/fabric-carpet/releases) 或以上版本
6. (可选)从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
7. 执行 `reload` 指令(或重新打开存档;在一些第三方服务端中可能需要改为`/minecraft:reload`
3. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks`
4. (可选)下载并安装 [Carpet Mod](https://github.com/gnembon/fabric-carpet/releases)
5. (可选)从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
- **注意:如果未正确安装该脚本,数据包会强制禁用 carpet mod 的 `player` 命令以避免假人污染记分板,需要在安装好脚本后手动启用 `player` 命令**
6. 执行 `reload` 指令(或重新打开存档;在一些第三方服务端中可能需要改为`/minecraft:reload`
# 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)
@@ -40,18 +37,18 @@
- 提供下列计分板:
| 默认名称 | 计分板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后,使用连点器破基岩,破基岩榜将自动显示在交互器页面
@@ -60,17 +57,32 @@
| :------: | :----------------------------------------------: |
| 破基岩榜 |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](https://github.com/gnembon/fabric-carpet/releases)
- 从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
- **注意:如果未正确安装该脚本,数据包会强制禁用 carpet mod 的 `player` 命令以避免假人污染记分板,需要在安装好脚本后手动启用 `player` 命令**
- 脚本:
- `fzsd_score.sc`
- 可避免Carpet假人污染计分板
- 可以标记哪些玩家是假人
- *注:请不要使用为假人名添加“bot”前缀的carpet扩展,本插件不支持此类假人!*
- 子命令( `/fzsd_score <子命令>` ):
- `updateFrom <version>`:用于从给定的数据包版本恢复计分板数据(需要测试!)
- `recalculate`:重新计算所有计分板总分
@@ -85,13 +97,21 @@
- *副作用:恢复完成后玩家会被放置在出生点,请确保出生点完全安全*
- `commandPlayer <permissionType>`:设置player命令权限类型
### 幻翼预警
- 首次使用需要先睡一觉
### 管理员
- 使用`/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": "已加载组件:玩家血量显示"}]
@@ -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
@@ -1,6 +1,6 @@
{
"replace": false,
"values": [
"fzsd.extra.bbl:display/set_text/black"
"fzsd.extra.bbl:display/set_text/dark_gray"
]
}
+1 -1
View File
@@ -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.1.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: 1b} run function fzsd:system/update
function fzsd:system/carpet/try_load_fzsd_score
function #fzsd:load
@@ -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 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
@@ -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"}]
@@ -1,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.activation 1
scoreboard players add fzsd.module.scoreboard.total.activation fzsd.module.scoreboard.assign.general 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
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 fzsd.module.scoreboard.total.aviating_distance fzsd.module.scoreboard.assign.general += 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
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 fzsd.module.scoreboard.total.damage_taken fzsd.module.scoreboard.assign.general += 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
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 fzsd.module.scoreboard.total.death_count fzsd.module.scoreboard.assign.general 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
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 fzsd.module.scoreboard.total.dig_count fzsd.module.scoreboard.assign.general += 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
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 fzsd.module.scoreboard.total.fishing_count fzsd.module.scoreboard.assign.general 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
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 fzsd.module.scoreboard.total.kill_count fzsd.module.scoreboard.assign.general 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
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 fzsd.module.scoreboard.total.placement_count fzsd.module.scoreboard.assign.general 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
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 fzsd.module.scoreboard.total.trade_count fzsd.module.scoreboard.assign.general 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
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
+95 -6
View File
@@ -1,7 +1,96 @@
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:minecart\"}}"
}
}
"condition": "minecraft:any_of",
"terms": [
{
"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_wood",
"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"
]
}
@@ -1,6 +0,0 @@
{
"replace": false,
"values": [
"fzsd:module/join_message/default_message"
]
}
@@ -1,6 +1,6 @@
{
"replace": false,
"values": [
"#fzsd:module/join_message/default_message"
"fzsd:module/join_message/default_message"
]
}
@@ -2,7 +2,7 @@
"replace": false,
"values": [
"fzsd:module/sweeper/clear",
"fzsd:module/sweeper/post_loop",
"fzsd:module/sweeper/pre_loop",
"fzsd:module/sweeper/start_timer",
"fzsd:module/sweeper/bossbar"
]
+16 -1
View File
@@ -1,6 +1,21 @@
{
"pack": {
"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.placement_count'
];
global_server_whitelist_cache = null;
__config() -> {
'scope' -> 'global',
@@ -184,10 +183,7 @@ __on_player_disconnects(player, reason) -> (
// 获取服务器白名单
get_server_whitelist() -> (
if(global_server_whitelist_cache == null,
global_server_whitelist_cache = keys(system_info('server_whitelist'));
);
return(global_server_whitelist_cache);
return(keys(system_info('server_whitelist')));
);
// 重载配置文件
@@ -387,20 +383,14 @@ merge_score(from, to, fzsd_version) -> (
// 获取承载总榜数据的玩家名
// 因为新计分板允许玩家自定义显示的总榜名称故做复杂判断才能使脚本确定用来承载总榜数据的玩家名
get_total_score_name_new(scoreboard) -> (
INT_MIN = -2147483648;
// 获取系统总榜id
system_total_name = replace(scoreboard, 'display', 'total');
// 系统总榜id
sys_total_name = replace(scoreboard, 'display', 'total');
// 当前总分
current_score = scoreboard('fzsd.module.scoreboard.assign.general', sys_total_name);
// 将系统总榜分数加上最小int值使其成为最低分
scoreboard(
'fzsd.module.scoreboard.assign.general',
system_total_name,
scoreboard(
'fzsd.module.scoreboard.assign.general',
system_total_name
) + INT_MIN
);
// 将系统总榜分数设为INT_MIN使其成为最低分
scoreboard('fzsd.module.scoreboard.assign.general', sys_total_name, -2147483648);
// 将总分赋值到显示计分板上
display_total_score(scoreboard);
@@ -419,14 +409,7 @@ get_total_score_name_new(scoreboard) -> (
);
// 恢复总榜分数
scoreboard(
'fzsd.module.scoreboard.assign.general',
system_total_name,
scoreboard(
'fzsd.module.scoreboard.assign.general',
system_total_name
) - INT_MIN
);
scoreboard('fzsd.module.scoreboard.assign.general', sys_total_name, current_score);
display_total_score(scoreboard);
// 返回榜内最低分的玩家名承载总榜数据的玩家名
@@ -444,7 +427,15 @@ command_recalculate_total_score(scoreboard) -> (
total_score = 0;
for(scoreboard(scoreboard),
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);
if(scoreboard == null,
for(global_current_scoreboard_list, restore_score(player_name, _));
return();
return(true);
);
player = player(player_name);
player_is_offline = false;