Compare commits

...

21 Commits

Author SHA1 Message Date
Harvey_Husky 05853884de 新功能:
- fzsd_score.sc:禁止生成白名单玩家,可能在carpet1.4.112可用
2023-06-08 17:44:31 +08:00
Harvey_Husky 5ea4c7461f fix 版本号 2023-06-06 19:49:21 +08:00
Harvey_Husky 648898966e update readme.md 2023-06-06 19:47:13 +08:00
Harvey_Husky 153439abfc rc.1 2023-06-06 19:46:24 +08:00
Harvey_Husky b4b296ea9b mc1.20! 2023-06-06 19:43:35 +08:00
延皓 b1ea5bb682 update README.md.
Signed-off-by: 延皓 <8511461+harvey-husky@user.noreply.gitee.com>
2023-04-17 12:43:50 +00:00
延皓 2e9b0637c4 管理员界面添加扫地机按钮 2023-02-04 09:33:11 +08:00
延皓 6b000ceba9 fix join message 2023-02-03 16:45:04 +08:00
延皓 9fb6a4f0bc 修复桶放液体两次会给计分板加分的bug。。。 2023-01-14 11:14:12 +08:00
延皓 03d0d0df63 放置榜忽略流体,避免连点器刷榜 2023-01-10 01:01:56 +08:00
延皓 95abf97f17 扫地机~ 2023-01-08 07:59:55 +08:00
延皓 f886ca2ed5 Merge branch 'dev/3.0' of https://gitee.com/harvey-husky/yh-ssd into dev/3.0 2022-12-28 07:28:08 +08:00
延皓 ffe6930599 fix 2022-12-28 07:28:06 +08:00
延皓 1bfe996fb5 update DEVDOC.md.
Signed-off-by: 延皓 <8511461+harvey-husky@user.noreply.gitee.com>
2022-12-19 14:48:46 +00:00
延皓 4c66b76e1f update DEVDOC.md.
Signed-off-by: 延皓 <8511461+harvey-husky@user.noreply.gitee.com>
2022-12-19 14:47:16 +00:00
延皓 ab37f056d7 update DEVDOC.md.
Signed-off-by: 延皓 <8511461+harvey-husky@user.noreply.gitee.com>
2022-12-19 14:46:55 +00:00
延皓 caad1117c3 update README.md.
Signed-off-by: 延皓 <8511461+harvey-husky@user.noreply.gitee.com>
2022-12-10 22:09:19 +00:00
延皓 6ac7cbc246 update README.md.
Signed-off-by: 延皓 <8511461+harvey-husky@user.noreply.gitee.com>
2022-12-10 22:06:48 +00:00
延皓 6a26940eef update README.md.
Signed-off-by: 延皓 <8511461+harvey-husky@user.noreply.gitee.com>
2022-12-04 14:50:40 +00:00
延皓 dec77bb496 update LICENSE.
Signed-off-by: 延皓 <8511461+harvey-husky@user.noreply.gitee.com>
2022-11-18 20:20:50 +00:00
延皓 8325f9ec08 update LICENSE.
Signed-off-by: 延皓 <8511461+harvey-husky@user.noreply.gitee.com>
2022-11-18 20:20:38 +00:00
97 changed files with 550 additions and 157 deletions
+2 -3
View File
@@ -17,7 +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.19",
"datapack.env.jsonVersion": "1.19",
"datapack.env.dataVersion": "1.19"
"datapack.env.cmdVersion": "1.20",
"datapack.env.dataVersion": "1.20"
}
+2 -1
View File
@@ -18,6 +18,7 @@
"values": ...
}
```
- ***函数和标签是否能被扩展数据包成功覆盖,取决于数据包加载顺序***,请使用`/datapack enable <xxx> after <xxx>`指令,使您的扩展数据包在FZ's Survival Datapack之后加载
## 基本要求
@@ -71,7 +72,7 @@
- *触发器分数为正数会重新向玩家发送交互按钮,如不想重新发送,请使用负数*
- 大多数情况下这里的触发器分数必须是独一无二的
- 建议使用`>10000`的随机数作为自定义按钮的触发器分数
2. 在[`#fzsd:module/interactor/display`](data/fzsd/tags/functions/module/interactor/display.json)标签中注册上述函数
2. 在[`#fzsd:module/interactor/event/on_display`](data/fzsd/tags/functions/module/interactor/display.json)标签中注册上述函数
3. 定义一个点击按钮时执行的函数,使用形如`execute if score @s fzsd.module.interactor.trigger matches <min>..<max> run ...`的指令判断玩家的触发器分数,并执行你的操作
4. 在[`#fzsd:module/interactor/event/on_click`](data/fzsd/tags/functions/module/interactor/event/on_click.json)标签中注册上述函数
+8 -8
View File
@@ -1,20 +1,20 @@
FZSD许可
FZSD许可协议
2022/8/1 https://gitee.com/harvey-husky/fz-survival-datapack/blob/dev/3.0/LICENSE
2023/6/6 https://gitee.com/harvey-husky/fz-survival-datapack/blob/dev/3.0/LICENSE
版权所有 © 2019-2022 延皓<https://gitee.com/harvey-husky><https://space.bilibili.com/677233356>
版权所有 © 2019-2023 延皓<https://gitee.com/harvey-husky><https://space.bilibili.com/677233356>
定义:
“该许可”指FZSD许可
“该软件”指许可在该许可下的程序和相关文档的集合。
“该许可协议”指FZSD许可协议
“该软件”指许可在该许可协议下的程序和相关文档的集合。
“官方网址”指由版权所有者提供的该软件的发布网址。
您对该软件的复制、使用、修改及分发受如下条款的约束:
1. 禁止添加、修改或删除该许可的内容。
1. 禁止添加、修改或删除该许可协议的内容。
2. 禁止未经授权的转载、销售或二次发布该软件。
3. 禁止添加、修改或抹除该软件中的原作者署名。
4. 如果您从部署了该软件的Minecraft服务器中以任何方式获取了收益,则您必须在游戏中的明显位置明确告知用户您的Minecraft服务器使用了该软件,并附上官方网址。
4. 如果您从部署了该软件的Minecraft服务器中以任何方式获取了收益,则您必须在游戏中的明显位置明确告知用户您的Minecraft服务器使用了该软件,并附上该软件的官方网址。
5. 如果您修改了该软件中的任何内容,您必须将修改部分开源在主流开源平台(如gitee<https://gitee.com/>或github<https://github.com/>等)。
6. 如果您修改了该软件中的任何内容,您必须保留该许可,但您可以追加其他许可(不包括不支持附加条款的许可)。当您添加的许可中的条款与该许可冲突时,必须以该许可为准。
6. 如果您修改了该软件中的任何内容,您必须保留该许可协议,但您可以追加其他许可协议(不包括不支持附加条款的许可协议)。当您添加的许可协议中的条款与该许可协议冲突时,必须以该许可协议为准。
7. 该软件在提供时不带任何明示或默示的担保。在任何情况下,版权所有者不对任何人因使用该软件而引发的任何直接或间接损失承担任何责任。
+13 -7
View File
@@ -4,13 +4,14 @@
#### @Author: Harvey_Husky
#### Copyright (C) 2019-2022 Harvey_Husky
#### 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`
@@ -20,12 +21,12 @@
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` 指令(或重新打开存档)
7. 执行 `reload` 指令(或重新打开存档;在一些第三方服务端中可能需要改为`/minecraft:reload`
# FZ生存数据包 3.0
# FZ生存数据包 3.1
[![数据包版本](https://img.shields.io/badge/正式版-3.0.3-blue.svg)](https://gitee.com/harvey-husky/FZ-sDatapack/releases) [![MC版本](https://img.shields.io/badge/Minecraft-1.19+-blue.svg)](https://minecraft.net/)
[![数据包版本](https://img.shields.io/badge/正式版-3.1.0.rc.1-blue.svg)](https://gitee.com/harvey-husky/FZ-sDatapack/releases) [![MC版本](https://img.shields.io/badge/Minecraft-1.20+-blue.svg)](https://minecraft.net/)
> 其他版本见[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)
@@ -66,7 +67,7 @@
- 需要安装 [Carpet Mod](https://github.com/gnembon/fabric-carpet/releases)
- 从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
- 脚本:
- `fzsd_score.sc`(**开发中!此处列举目前已完成的**)
- `fzsd_score.sc`
- 可避免Carpet假人污染计分板
- 可以标记哪些玩家是假人
- *注:请不要使用为假人名添加“bot”前缀的carpet扩展,本插件不支持此类假人!*
@@ -79,12 +80,17 @@
- `reset <player> <scoreboardID>`:重置该玩家该计分板的分数
- `restore player <玩家名> <计分板ID>`:恢复该玩家的该计分板分数
- `restore player <玩家名>`:恢复该玩家的所有计分板分数
- `restore whitelist <玩家名> <计分板ID>`:恢复所有白名单玩家的该计分板分数
- `restore whitelist <玩家名>`:恢复所有白名单玩家的所有计分板分数
- `restore whitelist <计分板ID>`:恢复所有白名单玩家的该计分板分数
- `restore whitelist`:恢复所有白名单玩家的所有计分板分数
- *副作用:恢复完成后玩家会被放置在出生点,请确保出生点完全安全*
- `commandPlayer <permissionType>`:设置player命令权限类型
### 管理员
- 使用`/function admin.fzsd:admin`命令管理(安装、卸载等)各模块
### 其他
- 见游戏内交互器按钮
## 开发者相关
@@ -33,3 +33,6 @@ tellraw @s [{"text": "上一出生点:"}, [{"text": "", "color": "dark_gray"},
tellraw @s [{"text": "计分板:"}, [{"text": "", "color": "dark_gray"}, [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/scoreboard/install"}, "hoverEvent": {"action": "show_text", "contents": {"text": "安装", "color": "dark_green"}}}, {"text": "安装", "color": "dark_green"}, {"text": "]"}], [{"text": "[", "clickEvent": {"action": "run_command", "value": "/function #fzsd:module/scoreboard/uninstall"}, "hoverEvent": {"action": "show_text", "contents": {"text": "卸载", "color": "dark_red"}}}, {"text": "卸载", "color": "dark_red"}, {"text": "]"}]]]
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": "]"}]]]
@@ -4,7 +4,7 @@
"on_placed_block": {
"trigger": "minecraft:placed_block",
"conditions": {
"player": [
"location": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
@@ -0,0 +1,27 @@
{
"parent": "fzsd:game_event/on_placed_block",
"criteria": {
"on_placed_liquid": {
"trigger": "minecraft:placed_block",
"conditions": {
"location": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
},
{
"condition": "minecraft:location_check",
"predicate": {
"block": {
"tag": "fzsd:liquid"
}
}
}
]
}
}
},
"rewards": {
"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": {
"tag": "fzsd:liquid"
}
}
}
}
]
}
}
},
"rewards": {
"function": "fzsd:game_event/advancement/on_placed_block/on_placed_solid"
}
}
@@ -4,21 +4,27 @@
"on_tools_exclude_axes_used_on_block": {
"trigger": "minecraft:item_used_on_block",
"conditions": {
"player": [
"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"
}
}
}
],
"item": {
"tag": "fzsd:tool/axes"
},
"location": {
"__comment": "斧子剥树皮会触发两次,所以用目标方块限定只触发一次",
"block": {
"tag": "fzsd:stripped_blocks"
}
}
]
}
}
},
@@ -5,15 +5,18 @@
"__comment": "斧子剥树皮会触发两次!",
"trigger": "minecraft:item_used_on_block",
"conditions": {
"player": [
"location": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
},
{
"condition": "minecraft:match_tool",
"predicate": {
"tag": "fzsd:tools_exclude_axes"
}
}
],
"item": {
"tag": "fzsd:tools_exclude_axes"
}
]
}
}
},
@@ -16,18 +16,11 @@
"flags": {
"is_sneaking": false
},
"__comment_type_specific": "1.19+",
"type_specific": {
"type": "player",
"advancements": {
"fzsd:game_event/on_sneak": true
}
},
"__comment_player": "1.18 compat",
"player": {
"advancements": {
"fzsd:game_event/on_sneak": true
}
}
}
}
@@ -10,7 +10,7 @@
"name": "fzsd:is_real_player"
},
{
"condition": "minecraft:alternative",
"condition": "minecraft:any_of",
"terms": [
{
"condition": "minecraft:entity_scores",
+1 -1
View File
@@ -1,4 +1,4 @@
execute store success storage fzsd:version fzsd.need_update int 1 run data merge storage fzsd:version {fzsd: {version: '3.0.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 if data storage fzsd:version fzsd{need_update: 1} run function fzsd:system/update
function fzsd:system/carpet/try_load_fzsd_score
function #fzsd:load
@@ -1,9 +1,5 @@
# 调用者: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
##
@@ -0,0 +1,6 @@
# 调用者:advancements/fzsd:~
function #fzsd:game_event/player/on_placed_liquid
##
advancement revoke @s from fzsd:game_event/on_placed_block/on_placed_liquid
@@ -0,0 +1,6 @@
# 调用者:advancements/fzsd:~
function #fzsd:game_event/player/on_placed_solid
##
advancement revoke @s from fzsd:game_event/on_placed_block/on_placed_solid
@@ -0,0 +1,2 @@
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "放置了流体"}]
@@ -0,0 +1,2 @@
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "放置了方块"}]
@@ -0,0 +1 @@
execute unless data storage fzsd:install fzsd.module{health:0b} run function #fzsd:module/health/install
@@ -0,0 +1 @@
execute unless data storage fzsd:install fzsd.module{here:0b} run function #fzsd:module/here/install
@@ -1,4 +1,4 @@
##
function #fzsd:module/interactor/event/on_click
##
execute if score @s fzsd.module.interactor.trigger matches 1.. run function #fzsd:module/interactor/display
execute if score @s fzsd.module.interactor.trigger matches 1.. run function #fzsd:module/interactor/event/on_display
@@ -0,0 +1 @@
execute unless data storage fzsd:install fzsd.module{interactor:0b} run function #fzsd:module/interactor/install
@@ -1 +1 @@
execute if data storage fzsd:installed fzsd.module{join_message:1b} run function #fzsd:module/join_message/send_message
execute if data storage fzsd:install fzsd.module{join_message:1b} run function #fzsd:module/join_message/send_message
@@ -0,0 +1 @@
execute unless data storage fzsd:install fzsd.module{join_message:0b} run function #fzsd:module/join_message/install
@@ -0,0 +1 @@
execute unless data storage fzsd:install fzsd.module{last_death:0b} run function #fzsd:module/last_death/install
@@ -1,2 +1,2 @@
execute if score @s fzsd.module.last_nether_portal.dimension matches -2147483648..2147483647 run tellraw @a [{"text": ""}, [{"selector": "@s"}, {"text": "说:我上次穿出的下界传送门位于", "color": "white"}, {"nbt": "fzsd.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"text": " [", "color": "green"}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.x"}}, {"text": ", "}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.z"}}, {"text": ", "}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.z"}}, {"text": "]"}]]]
execute if score @s fzsd.module.last_nether_portal.dimension matches -2147483648..2147483647 run tellraw @a [{"text": ""}, [{"selector": "@s"}, {"text": "说:我上次穿出的下界传送门位于", "color": "white"}, {"nbt": "fzsd.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"text": " [", "color": "green"}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.x"}}, {"text": ", "}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.y"}}, {"text": ", "}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.z"}}, {"text": "]"}]]]
execute unless score @s fzsd.module.last_nether_portal.dimension matches -2147483648..2147483647 run tellraw @s {"text": "你从未穿出过下界传送门!"}
@@ -1,2 +1,2 @@
execute if score @s fzsd.module.last_nether_portal.dimension matches -2147483648..2147483647 run tellraw @s [{"text": "你上次穿出的下界传送门位于"}, {"nbt": "fzsd.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"text": " [", "color": "green"}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.x"}}, {"text": ", "}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.z"}}, {"text": ", "}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.z"}}, {"text": "]"}]]
execute if score @s fzsd.module.last_nether_portal.dimension matches -2147483648..2147483647 run tellraw @s [{"text": "你上次穿出的下界传送门位于"}, {"nbt": "fzsd.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"text": " [", "color": "green"}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.x"}}, {"text": ", "}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.y"}}, {"text": ", "}, {"score": {"name": "@s", "objective": "fzsd.module.last_nether_portal.z"}}, {"text": "]"}]]
execute unless score @s fzsd.module.last_nether_portal.dimension matches -2147483648..2147483647 run tellraw @s {"text": "你从未穿出过下界传送门!"}
@@ -0,0 +1 @@
execute unless data storage fzsd:install fzsd.module{last_nether_portal:0b} run function #fzsd:module/last_nether_portal/install
@@ -0,0 +1 @@
execute unless data storage fzsd:install fzsd.module{last_spawn_point:0b} run function #fzsd:module/last_spawn_point/install
@@ -1,13 +1,18 @@
# 调用者:fzsd:module/scoreboard/carousel/try_display/~
## https://minecraft.fandom.com/zh/wiki/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.activation
###
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "fzsd.scoreboard.text.activation", "interpret": true, "storage": "fzsd:module"}, {"text": "计分板"}]
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run return 6
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 0 run scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.activation
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 1 run scoreboard objectives setdisplay sidebar.team.dark_blue fzsd.module.scoreboard.display.activation
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 2 run scoreboard objectives setdisplay sidebar.team.dark_green fzsd.module.scoreboard.display.activation
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 3 run scoreboard objectives setdisplay sidebar.team.dark_aqua fzsd.module.scoreboard.display.activation
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 4 run scoreboard objectives setdisplay sidebar.team.dark_red fzsd.module.scoreboard.display.activation
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 5 run scoreboard objectives setdisplay sidebar.team.dark_purple fzsd.module.scoreboard.display.activation
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.activation
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 7 run scoreboard objectives setdisplay sidebar.team.gray fzsd.module.scoreboard.display.activation
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 8 run scoreboard objectives setdisplay sidebar.team.dark_gray fzsd.module.scoreboard.display.activation
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 9 run scoreboard objectives setdisplay sidebar.team.blue fzsd.module.scoreboard.display.activation
@@ -1,13 +1,17 @@
# 调用者:fzsd:module/scoreboard/carousel/try_display/~
## https://minecraft.fandom.com/zh/wiki/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.aviating_distance
###
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "fzsd.scoreboard.text.aviating_distance", "interpret": true, "storage": "fzsd:module"}, {"text": "计分板"}]
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run return 6
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 0 run scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.aviating_distance
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 1 run scoreboard objectives setdisplay sidebar.team.dark_blue fzsd.module.scoreboard.display.aviating_distance
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 2 run scoreboard objectives setdisplay sidebar.team.dark_green fzsd.module.scoreboard.display.aviating_distance
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 3 run scoreboard objectives setdisplay sidebar.team.dark_aqua fzsd.module.scoreboard.display.aviating_distance
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 4 run scoreboard objectives setdisplay sidebar.team.dark_red fzsd.module.scoreboard.display.aviating_distance
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 5 run scoreboard objectives setdisplay sidebar.team.dark_purple fzsd.module.scoreboard.display.aviating_distance
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.aviating_distance
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 7 run scoreboard objectives setdisplay sidebar.team.gray fzsd.module.scoreboard.display.aviating_distance
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 8 run scoreboard objectives setdisplay sidebar.team.dark_gray fzsd.module.scoreboard.display.aviating_distance
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 9 run scoreboard objectives setdisplay sidebar.team.blue fzsd.module.scoreboard.display.aviating_distance
@@ -1,13 +1,17 @@
# 调用者:fzsd:module/scoreboard/carousel/try_display/~
## https://minecraft.fandom.com/zh/wiki/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.damage_taken
###
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "fzsd.scoreboard.text.damage_taken", "interpret": true, "storage": "fzsd:module"}, {"text": "计分板"}]
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run return 6
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 0 run scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.damage_taken
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 1 run scoreboard objectives setdisplay sidebar.team.dark_blue fzsd.module.scoreboard.display.damage_taken
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 2 run scoreboard objectives setdisplay sidebar.team.dark_green fzsd.module.scoreboard.display.damage_taken
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 3 run scoreboard objectives setdisplay sidebar.team.dark_aqua fzsd.module.scoreboard.display.damage_taken
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 4 run scoreboard objectives setdisplay sidebar.team.dark_red fzsd.module.scoreboard.display.damage_taken
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 5 run scoreboard objectives setdisplay sidebar.team.dark_purple fzsd.module.scoreboard.display.damage_taken
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.damage_taken
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 7 run scoreboard objectives setdisplay sidebar.team.gray fzsd.module.scoreboard.display.damage_taken
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 8 run scoreboard objectives setdisplay sidebar.team.dark_gray fzsd.module.scoreboard.display.damage_taken
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 9 run scoreboard objectives setdisplay sidebar.team.blue fzsd.module.scoreboard.display.damage_taken
@@ -1,13 +1,17 @@
# 调用者:fzsd:module/scoreboard/carousel/try_display/~
## https://minecraft.fandom.com/zh/wiki/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.death_count
###
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "fzsd.scoreboard.text.death_count", "interpret": true, "storage": "fzsd:module"}, {"text": "计分板"}]
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run return 6
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 0 run scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.death_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 1 run scoreboard objectives setdisplay sidebar.team.dark_blue fzsd.module.scoreboard.display.death_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 2 run scoreboard objectives setdisplay sidebar.team.dark_green fzsd.module.scoreboard.display.death_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 3 run scoreboard objectives setdisplay sidebar.team.dark_aqua fzsd.module.scoreboard.display.death_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 4 run scoreboard objectives setdisplay sidebar.team.dark_red fzsd.module.scoreboard.display.death_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 5 run scoreboard objectives setdisplay sidebar.team.dark_purple fzsd.module.scoreboard.display.death_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.death_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 7 run scoreboard objectives setdisplay sidebar.team.gray fzsd.module.scoreboard.display.death_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 8 run scoreboard objectives setdisplay sidebar.team.dark_gray fzsd.module.scoreboard.display.death_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 9 run scoreboard objectives setdisplay sidebar.team.blue fzsd.module.scoreboard.display.death_count
@@ -1,13 +1,17 @@
# 调用者:fzsd:module/scoreboard/carousel/try_display/~
## https://minecraft.fandom.com/zh/wiki/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.dig_count
###
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "fzsd.scoreboard.text.dig_count", "interpret": true, "storage": "fzsd:module"}, {"text": "计分板"}]
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run return 6
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 0 run scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.dig_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 1 run scoreboard objectives setdisplay sidebar.team.dark_blue fzsd.module.scoreboard.display.dig_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 2 run scoreboard objectives setdisplay sidebar.team.dark_green fzsd.module.scoreboard.display.dig_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 3 run scoreboard objectives setdisplay sidebar.team.dark_aqua fzsd.module.scoreboard.display.dig_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 4 run scoreboard objectives setdisplay sidebar.team.dark_red fzsd.module.scoreboard.display.dig_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 5 run scoreboard objectives setdisplay sidebar.team.dark_purple fzsd.module.scoreboard.display.dig_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.dig_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 7 run scoreboard objectives setdisplay sidebar.team.gray fzsd.module.scoreboard.display.dig_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 8 run scoreboard objectives setdisplay sidebar.team.dark_gray fzsd.module.scoreboard.display.dig_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 9 run scoreboard objectives setdisplay sidebar.team.blue fzsd.module.scoreboard.display.dig_count
@@ -1,13 +1,17 @@
# 调用者:fzsd:module/scoreboard/carousel/try_display/~
## https://minecraft.fandom.com/zh/wiki/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.fishing_count
###
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "fzsd.scoreboard.text.fishing_count", "interpret": true, "storage": "fzsd:module"}, {"text": "计分板"}]
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run return 6
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 0 run scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.fishing_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 1 run scoreboard objectives setdisplay sidebar.team.dark_blue fzsd.module.scoreboard.display.fishing_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 2 run scoreboard objectives setdisplay sidebar.team.dark_green fzsd.module.scoreboard.display.fishing_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 3 run scoreboard objectives setdisplay sidebar.team.dark_aqua fzsd.module.scoreboard.display.fishing_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 4 run scoreboard objectives setdisplay sidebar.team.dark_red fzsd.module.scoreboard.display.fishing_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 5 run scoreboard objectives setdisplay sidebar.team.dark_purple fzsd.module.scoreboard.display.fishing_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.fishing_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 7 run scoreboard objectives setdisplay sidebar.team.gray fzsd.module.scoreboard.display.fishing_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 8 run scoreboard objectives setdisplay sidebar.team.dark_gray fzsd.module.scoreboard.display.fishing_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 9 run scoreboard objectives setdisplay sidebar.team.blue fzsd.module.scoreboard.display.fishing_count
@@ -1,13 +1,17 @@
# 调用者:fzsd:module/scoreboard/carousel/try_display/~
## https://minecraft.fandom.com/zh/wiki/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.general
###
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "fzsd.scoreboard.text.general", "interpret": true, "storage": "fzsd:module"}, {"text": "计分板"}]
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run return 6
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 0 run scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.general
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 1 run scoreboard objectives setdisplay sidebar.team.dark_blue fzsd.module.scoreboard.display.general
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 2 run scoreboard objectives setdisplay sidebar.team.dark_green fzsd.module.scoreboard.display.general
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 3 run scoreboard objectives setdisplay sidebar.team.dark_aqua fzsd.module.scoreboard.display.general
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 4 run scoreboard objectives setdisplay sidebar.team.dark_red fzsd.module.scoreboard.display.general
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 5 run scoreboard objectives setdisplay sidebar.team.dark_purple fzsd.module.scoreboard.display.general
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.general
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 7 run scoreboard objectives setdisplay sidebar.team.gray fzsd.module.scoreboard.display.general
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 8 run scoreboard objectives setdisplay sidebar.team.dark_gray fzsd.module.scoreboard.display.general
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 9 run scoreboard objectives setdisplay sidebar.team.blue fzsd.module.scoreboard.display.general
@@ -1,13 +1,17 @@
# 调用者:fzsd:module/scoreboard/carousel/try_display/~
## https://minecraft.fandom.com/zh/wiki/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.kill_count
###
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "fzsd.scoreboard.text.kill_count", "interpret": true, "storage": "fzsd:module"}, {"text": "计分板"}]
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run return 6
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 0 run scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.kill_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 1 run scoreboard objectives setdisplay sidebar.team.dark_blue fzsd.module.scoreboard.display.kill_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 2 run scoreboard objectives setdisplay sidebar.team.dark_green fzsd.module.scoreboard.display.kill_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 3 run scoreboard objectives setdisplay sidebar.team.dark_aqua fzsd.module.scoreboard.display.kill_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 4 run scoreboard objectives setdisplay sidebar.team.dark_red fzsd.module.scoreboard.display.kill_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 5 run scoreboard objectives setdisplay sidebar.team.dark_purple fzsd.module.scoreboard.display.kill_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.kill_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 7 run scoreboard objectives setdisplay sidebar.team.gray fzsd.module.scoreboard.display.kill_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 8 run scoreboard objectives setdisplay sidebar.team.dark_gray fzsd.module.scoreboard.display.kill_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 9 run scoreboard objectives setdisplay sidebar.team.blue fzsd.module.scoreboard.display.kill_count
@@ -1,13 +1,17 @@
# 调用者:fzsd:module/scoreboard/carousel/try_display/~
## https://minecraft.fandom.com/zh/wiki/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.placement_count
###
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "fzsd.scoreboard.text.placement_count", "interpret": true, "storage": "fzsd:module"}, {"text": "计分板"}]
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run return 6
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 0 run scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.placement_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 1 run scoreboard objectives setdisplay sidebar.team.dark_blue fzsd.module.scoreboard.display.placement_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 2 run scoreboard objectives setdisplay sidebar.team.dark_green fzsd.module.scoreboard.display.placement_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 3 run scoreboard objectives setdisplay sidebar.team.dark_aqua fzsd.module.scoreboard.display.placement_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 4 run scoreboard objectives setdisplay sidebar.team.dark_red fzsd.module.scoreboard.display.placement_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 5 run scoreboard objectives setdisplay sidebar.team.dark_purple fzsd.module.scoreboard.display.placement_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.placement_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 7 run scoreboard objectives setdisplay sidebar.team.gray fzsd.module.scoreboard.display.placement_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 8 run scoreboard objectives setdisplay sidebar.team.dark_gray fzsd.module.scoreboard.display.placement_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 9 run scoreboard objectives setdisplay sidebar.team.blue fzsd.module.scoreboard.display.placement_count
@@ -1,13 +1,17 @@
# 调用者:fzsd:module/scoreboard/carousel/try_display/~
## https://minecraft.fandom.com/zh/wiki/%E6%A0%BC%E5%BC%8F%E5%8C%96%E4%BB%A3%E7%A0%81
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.trade_count
###
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 if score fzsd.logger.level fzsd.variable.integer matches ..300 run tellraw @a [{"nbt": "fzsd.level.fine", "interpret": true, "storage": "fzsd:logger"}, {"text": "已为队伍"}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "显示"}, {"nbt": "fzsd.scoreboard.text.trade_count", "interpret": true, "storage": "fzsd:module"}, {"text": "计分板"}]
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run return 6
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 0 run scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.trade_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 1 run scoreboard objectives setdisplay sidebar.team.dark_blue fzsd.module.scoreboard.display.trade_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 2 run scoreboard objectives setdisplay sidebar.team.dark_green fzsd.module.scoreboard.display.trade_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 3 run scoreboard objectives setdisplay sidebar.team.dark_aqua fzsd.module.scoreboard.display.trade_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 4 run scoreboard objectives setdisplay sidebar.team.dark_red fzsd.module.scoreboard.display.trade_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 5 run scoreboard objectives setdisplay sidebar.team.dark_purple fzsd.module.scoreboard.display.trade_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 6 run scoreboard objectives setdisplay sidebar.team.gold fzsd.module.scoreboard.display.trade_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 7 run scoreboard objectives setdisplay sidebar.team.gray fzsd.module.scoreboard.display.trade_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 8 run scoreboard objectives setdisplay sidebar.team.dark_gray fzsd.module.scoreboard.display.trade_count
execute if score fzsd.module.scoreboard.carousel.color fzsd.variable.integer matches 9 run scoreboard objectives setdisplay sidebar.team.blue fzsd.module.scoreboard.display.trade_count
@@ -2,4 +2,4 @@
execute if data storage fzsd:install fzsd.module{scoreboard:1b} run tellraw @s {"text": "计分板:"}
execute if data storage fzsd:install fzsd.module{scoreboard:1b} run tellraw @s [[{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "contents": {"text": "", "color": "dark_red"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1000"}}, {"text": "", "color": "dark_red"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1010"}}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.general", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1020"}}, {"nbt": "fzsd.scoreboard.text.general", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.activation", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1030"}}, {"nbt": "fzsd.scoreboard.text.activation", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.aviating_distance", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1040"}}, {"nbt": "fzsd.scoreboard.text.aviating_distance", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.damage_taken", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1050"}}, {"nbt": "fzsd.scoreboard.text.damage_taken", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.death_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1060"}}, {"nbt": "fzsd.scoreboard.text.death_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.dig_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1070"}}, {"nbt": "fzsd.scoreboard.text.dig_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.fishing_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1080"}}, {"nbt": "fzsd.scoreboard.text.fishing_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.kill_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1090"}}, {"nbt": "fzsd.scoreboard.text.kill_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.trade_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1100"}}, {"nbt": "fzsd.scoreboard.text.trade_count", "interpret": true, "storage": "fzsd:module"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.placement_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1200"}}, {"nbt": "fzsd.scoreboard.text.placement_count", "interpret": true, "storage": "fzsd:module"}, {"text": "]"}]]
execute if data storage fzsd:install fzsd.module{scoreboard:1b} run tellraw @s [[{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "contents": {"text": "", "color": "dark_red"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1000"}}, {"text": "", "color": "red"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1010"}}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.general", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1020"}}, {"nbt": "fzsd.scoreboard.text.general", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.activation", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1030"}}, {"nbt": "fzsd.scoreboard.text.activation", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.aviating_distance", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1040"}}, {"nbt": "fzsd.scoreboard.text.aviating_distance", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.damage_taken", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1050"}}, {"nbt": "fzsd.scoreboard.text.damage_taken", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.death_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1060"}}, {"nbt": "fzsd.scoreboard.text.death_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.dig_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1070"}}, {"nbt": "fzsd.scoreboard.text.dig_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.fishing_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1080"}}, {"nbt": "fzsd.scoreboard.text.fishing_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.kill_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1090"}}, {"nbt": "fzsd.scoreboard.text.kill_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.trade_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1100"}}, {"nbt": "fzsd.scoreboard.text.trade_count", "interpret": true, "storage": "fzsd:module"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.placement_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1200"}}, {"nbt": "fzsd.scoreboard.text.placement_count", "interpret": true, "storage": "fzsd:module"}, {"text": "]"}]]
@@ -0,0 +1,2 @@
execute unless data storage fzsd:install fzsd.module{scoreboard:0b} run function #fzsd:module/scoreboard/install
@@ -0,0 +1,4 @@
bossbar set fzsd:sweeper name [{"score": {"objective": "fzsd.variable.integer", "name": "fzsd.sweeper.bossbar.current_time"},"color": "#ff6100","underlined": true,"bold": true},{"text": "秒后清理掉落物","color": "#ffd900","bold": false}]
bossbar set fzsd:sweeper players @a[tag=!fzsd.ignore_sweeper_bossbar]
scoreboard players remove fzsd.sweeper.bossbar.current_time fzsd.variable.integer 1
schedule function fzsd:module/sweeper/bossbar 1s
@@ -0,0 +1,15 @@
schedule clear fzsd:module/sweeper/bossbar
schedule clear fzsd:module/sweeper/main
schedule clear fzsd:module/sweeper/timer/1s
schedule clear fzsd:module/sweeper/timer/2s
schedule clear fzsd:module/sweeper/timer/3s
schedule clear fzsd:module/sweeper/timer/4s
schedule clear fzsd:module/sweeper/timer/5s
schedule clear fzsd:module/sweeper/timer/10s
schedule clear fzsd:module/sweeper/timer/30s
schedule clear fzsd:module/sweeper/timer/1min
schedule clear fzsd:module/sweeper/timer/2min
schedule clear fzsd:module/sweeper/timer/3min
schedule clear fzsd:module/sweeper/timer/4min
bossbar set fzsd:sweeper visible false
bossbar set fzsd:sweeper value 0
@@ -0,0 +1,8 @@
bossbar add fzsd:sweeper ""
bossbar set fzsd:sweeper max 60
##
data modify storage fzsd:install fzsd.module.sweeper 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,2 @@
# 调用者:#fzsd:module/sweeper/interactor/display
execute if data storage fzsd:install fzsd.module{sweeper:1b} run function fzsd:module/sweeper/interactor/display_0
@@ -0,0 +1,12 @@
tellraw @s [{"text": "扫地机:"}]
tellraw @s[tag=!fzsd.ignore_sweeper_bossbar] [{"text": "- 血条栏:"}, [{"text": "[", "color": "gray", "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 3400"}}, {"text": "已开启", "color": "green"}, {"text": "]", "color": "gray"}]]
tellraw @s[tag=fzsd.ignore_sweeper_bossbar] [{"text": "- 血条栏:"}, [{"text": "[", "color": "gray", "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 3401"}}, {"text": "已关闭", "color": "red"}, {"text": "]", "color": "gray"}]]
tellraw @s[tag=!fzsd.ignore_sweeper_sound] [{"text": "- 音效:"}, [{"text": "[", "color": "gray", "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 3500"}}, {"text": "已开启", "color": "green"}, {"text": "]", "color": "gray"}]]
tellraw @s[tag=fzsd.ignore_sweeper_sound] [{"text": "- 音效:"}, [{"text": "[", "color": "gray", "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 3501"}}, {"text": "已关闭", "color": "red"}, {"text": "]", "color": "gray"}]]
tellraw @s[tag=!fzsd.ignore_sweeper_message] [{"text": "- 消息:"}, [{"text": "[", "color": "gray", "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 3600"}}, {"text": "已开启", "color": "green"}, {"text": "]", "color": "gray"}]]
tellraw @s[tag=fzsd.ignore_sweeper_message] [{"text": "- 消息:"}, [{"text": "[", "color": "gray", "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 3601"}}, {"text": "已关闭", "color": "red"}, {"text": "]", "color": "gray"}]]
tellraw @s [{"text": "- 开关:"}, [{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "contents": {"text": "", "color": "dark_red"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -3000"}}, {"text": "", "color": "red"}, {"text": "]"}], [{"text": "[", "color": "gray", "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -3300"}}, {"text": "清理一次", "color": "aqua"}, {"text": "]", "color": "gray"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "10s", "color": "#aa0000"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -3010"}}, {"text": "10s", "color": "#aa0000"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "30s", "color": "#da7924"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -3030"}}, {"text": "30s", "color": "#da7924"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "1min", "color": "#ffe34c"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -3060"}}, {"text": "1min", "color": "#ffe34c"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "2min", "color": "#e3ff50"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -3120"}}, {"text": "2min", "color": "#e3ff50"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "3min", "color": "#81d42c"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -3180"}}, {"text": "3min", "color": "#81d42c"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "4min", "color": "#00aa00"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -3240"}}, {"text": "4min", "color": "#00aa00"}, {"text": "]"}]]
@@ -0,0 +1,9 @@
execute if score @s fzsd.module.interactor.trigger matches 3400 run tag @s add fzsd.ignore_sweeper_bossbar
execute if score @s fzsd.module.interactor.trigger matches 3401 run tag @s remove fzsd.ignore_sweeper_bossbar
execute if score @s fzsd.module.interactor.trigger matches 3500 run tag @s add fzsd.ignore_sweeper_sound
execute if score @s fzsd.module.interactor.trigger matches 3501 run tag @s remove fzsd.ignore_sweeper_sound
execute if score @s fzsd.module.interactor.trigger matches 3600 run tag @s add fzsd.ignore_sweeper_message
execute if score @s fzsd.module.interactor.trigger matches 3601 run tag @s remove fzsd.ignore_sweeper_message
execute if score @s fzsd.module.interactor.trigger matches -3300 run function #fzsd:module/sweeper/sweep
execute if score @s fzsd.module.interactor.trigger matches -3000 run function #fzsd:module/sweeper/stop_loop
execute if score @s fzsd.module.interactor.trigger matches -3240..-3010 run function #fzsd:module/sweeper/start_loop
@@ -0,0 +1,4 @@
function fzsd:module/sweeper/clear
##
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,3 @@
bossbar set fzsd:sweeper value 0
function #fzsd:module/sweeper/sweep
function fzsd:module/sweeper/start_timer
@@ -0,0 +1,6 @@
# 获取间隔时间
scoreboard players set fzsd.sweeper.interval_time fzsd.variable.integer 3000
scoreboard players operation fzsd.sweeper.interval_time fzsd.variable.integer += @s fzsd.module.interactor.trigger
scoreboard players operation fzsd.sweeper.interval_time fzsd.variable.integer *= -1 fzsd.variable.integer
# 设为显示
bossbar set fzsd:sweeper visible true
@@ -0,0 +1,7 @@
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 10 run function fzsd:module/sweeper/timer/10s
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 30 run function fzsd:module/sweeper/timer/30s
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 60 run function fzsd:module/sweeper/timer/1min
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 120 run function fzsd:module/sweeper/timer/2min
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 180 run function fzsd:module/sweeper/timer/3min
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 240 run function fzsd:module/sweeper/timer/4min
scoreboard players operation fzsd.sweeper.bossbar.current_time fzsd.variable.integer = fzsd.sweeper.interval_time fzsd.variable.integer
@@ -0,0 +1,3 @@
execute store result score fzsd.sweeper.killed fzsd.variable.integer run kill @e[type=minecraft:item,predicate=!fzsd:sweeper/whitelist]
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "本次共清理了"}, {"score": {"objective": "fzsd.variable.integer", "name": "fzsd.sweeper.killed"}}, {"text": "堆掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 2
@@ -0,0 +1,5 @@
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "10秒后清理掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1
bossbar set fzsd:sweeper color yellow
bossbar set fzsd:sweeper value 10
schedule function fzsd:module/sweeper/timer/5s 5s
@@ -0,0 +1,5 @@
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "1分钟后清理掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1
bossbar set fzsd:sweeper color yellow
bossbar set fzsd:sweeper value 60
schedule function fzsd:module/sweeper/timer/30s 30s
@@ -0,0 +1,4 @@
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "1秒后清理掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1
bossbar set fzsd:sweeper value 12
schedule function fzsd:module/sweeper/main 1s
@@ -0,0 +1,5 @@
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "2分钟后清理掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1
bossbar set fzsd:sweeper color green
bossbar set fzsd:sweeper value 30
schedule function fzsd:module/sweeper/timer/1min 60s
@@ -0,0 +1,4 @@
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "2秒后清理掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1
bossbar set fzsd:sweeper value 24
schedule function fzsd:module/sweeper/timer/1s 1s
@@ -0,0 +1,5 @@
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "30秒后清理掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1
bossbar set fzsd:sweeper color yellow
bossbar set fzsd:sweeper value 30
schedule function fzsd:module/sweeper/timer/10s 20s
@@ -0,0 +1,5 @@
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "3分钟后清理掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1
bossbar set fzsd:sweeper color green
bossbar set fzsd:sweeper value 45
schedule function fzsd:module/sweeper/timer/2min 60s
@@ -0,0 +1,4 @@
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "3秒后清理掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1
bossbar set fzsd:sweeper value 36
schedule function fzsd:module/sweeper/timer/2s 1s
@@ -0,0 +1,5 @@
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "4分钟后清理掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1
bossbar set fzsd:sweeper color green
bossbar set fzsd:sweeper value 50
schedule function fzsd:module/sweeper/timer/3min 60s
@@ -0,0 +1,4 @@
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "4秒后清理掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1
bossbar set fzsd:sweeper value 48
schedule function fzsd:module/sweeper/timer/3s 1s
@@ -0,0 +1,5 @@
execute if score fzsd.logger.level fzsd.variable.integer matches ..600 run tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "5秒后清理掉落物"}]
execute as @a[tag=!fzsd.ignore_sweeper_sound] at @s run playsound minecraft:block.note_block.pling voice @s ~ ~ ~ 1 1
bossbar set fzsd:sweeper color red
bossbar set fzsd:sweeper value 60
schedule function fzsd:module/sweeper/timer/4s 1s
@@ -0,0 +1 @@
execute unless data storage fzsd:install fzsd.module{sweeper:0b} run function #fzsd:module/sweeper/install
@@ -0,0 +1,2 @@
##
execute if data storage fzsd:install fzsd.module{sweeper:1b} run function #fzsd:module/sweeper/load
@@ -0,0 +1,7 @@
bossbar remove fzsd:sweeper
##
data modify storage fzsd:install fzsd.module.sweeper 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,11 +0,0 @@
# 调用者:#fzsd:module/try_install
##
execute unless data storage fzsd:install fzsd.module{health:0b} run function #fzsd:module/health/install
execute unless data storage fzsd:install fzsd.module{here:0b} run function #fzsd:module/here/install
execute unless data storage fzsd:install fzsd.module{interactor:0b} run function #fzsd:module/interactor/install
execute unless data storage fzsd:install fzsd.module{join_message:0b} run function #fzsd:module/join_message/install
execute unless data storage fzsd:install fzsd.module{last_death:0b} run function #fzsd:module/last_death/install
execute unless data storage fzsd:install fzsd.module{last_nether_portal:0b} run function #fzsd:module/last_nether_portal/install
execute unless data storage fzsd:install fzsd.module{last_spawn_point:0b} run function #fzsd:module/last_spawn_point/install
execute unless data storage fzsd:install fzsd.module{scoreboard:0b} run function #fzsd:module/scoreboard/install
@@ -1,4 +1,5 @@
##
scoreboard players set -1 fzsd.variable.integer -1
scoreboard players set 10 fzsd.variable.integer 10
scoreboard players set 200 fzsd.variable.integer 200
scoreboard players set 72000 fzsd.variable.integer 72000
+17 -20
View File
@@ -1,5 +1,5 @@
{
"condition": "minecraft:alternative",
"condition": "minecraft:any_of",
"terms": [
{
"__comment": "主手==斧子",
@@ -15,11 +15,11 @@
},
{
"__comment": "主手!=工具&&副手==斧子",
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:alternative",
"terms": [
{
"condition": "minecraft:all_of",
"terms": [
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
@@ -29,23 +29,20 @@
}
}
}
},
{
"condition": "minecraft:inverted",
"term": {
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"offhand": {
"tag": "fzsd:tool/axes"
}
}
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"offhand": {
"tag": "fzsd:tool/axes"
}
}
}
]
}
}
]
}
]
}
+1 -1
View File
@@ -1,5 +1,5 @@
{
"condition": "minecraft:alternative",
"condition": "minecraft:any_of",
"terms": [
{
"condition": "minecraft:reference",
@@ -0,0 +1,7 @@
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:minecart\"}}"
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
{
"condition": "minecraft:alternative",
"condition": "minecraft:any_of",
"terms": [
{
"condition": "minecraft:entity_scores",
+7
View File
@@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"minecraft:water",
"minecraft:lava"
]
}
@@ -1,6 +1,5 @@
{
"replace": false,
"values": [
"#fzsd:module/scoreboard/assign/scoreboard/placement_count"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:game_event/callback/on_placed_liquid"
]
}
@@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"fzsd:game_event/callback/on_placed_solid",
"#fzsd:module/scoreboard/assign/scoreboard/placement_count"
]
}
@@ -6,6 +6,7 @@
"#fzsd:module/here/interactor/on_click",
"#fzsd:module/last_death/interactor/on_click",
"#fzsd:module/last_nether_portal/interactor/on_click",
"#fzsd:module/last_spawn_point/interactor/on_click"
"#fzsd:module/last_spawn_point/interactor/on_click",
"#fzsd:module/sweeper/interactor/on_click"
]
}
@@ -7,6 +7,7 @@
"#fzsd:module/here/interactor/display",
"#fzsd:module/last_death/interactor/display",
"#fzsd:module/last_nether_portal/interactor/display",
"#fzsd:module/last_spawn_point/interactor/display"
"#fzsd:module/last_spawn_point/interactor/display",
"#fzsd:module/sweeper/interactor/display"
]
}
@@ -1,7 +1,7 @@
{
"replace": false,
"values": [
"#fzsd:module/interactor/display",
"#fzsd:module/interactor/event/on_display",
"#fzsd:module/interactor/reset_trigger"
]
}
@@ -0,0 +1,7 @@
{
"__comment": "调用者:#fzsd:module/install",
"replace": false,
"values": [
"fzsd:module/sweeper/install"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:module/sweeper/interactor/display"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:module/sweeper/interactor/on_click"
]
}
@@ -1,6 +1,6 @@
{
"replace": false,
"values": [
"fzsd:module/health/try_load"
"fzsd:module/sweeper/load"
]
}
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
"fzsd:module/sweeper/clear",
"fzsd:module/sweeper/post_loop",
"fzsd:module/sweeper/start_timer",
"fzsd:module/sweeper/bossbar"
]
}
@@ -1,6 +1,6 @@
{
"replace": false,
"values": [
"fzsd:module/scoreboard/try_load"
"fzsd:module/sweeper/clear"
]
}
@@ -1,6 +1,6 @@
{
"replace": false,
"values": [
"fzsd:module/interactor/try_load"
"fzsd:module/sweeper/sweep"
]
}
@@ -0,0 +1,7 @@
{
"__comment": "调用者:#fzsd:module/uninstall",
"replace": false,
"values": [
"fzsd:module/sweeper/uninstall"
]
}
@@ -1,7 +0,0 @@
{
"__comment": "调用者:fzsd:load",
"replace": false,
"values": [
"fzsd:module/try_install"
]
}
@@ -1,9 +0,0 @@
{
"__comment": "调用者:fzsd:load",
"replace": false,
"values": [
"#fzsd:module/health/try_load",
"#fzsd:module/interactor/try_load",
"#fzsd:module/scoreboard/try_load"
]
}
@@ -7,6 +7,7 @@
"#fzsd:module/last_death/install",
"#fzsd:module/last_nether_portal/install",
"#fzsd:module/last_spawn_point/install",
"#fzsd:module/scoreboard/install"
"#fzsd:module/scoreboard/install",
"#fzsd:module/sweeper/install"
]
}
@@ -1,6 +1,14 @@
{
"replace": false,
"values": [
"#fzsd:module/try_install"
"fzsd:module/health/try_install",
"fzsd:module/here/try_install",
"fzsd:module/interactor/try_install",
"fzsd:module/join_message/try_install",
"fzsd:module/last_death/try_install",
"fzsd:module/last_nether_portal/try_install",
"fzsd:module/last_spawn_point/try_install",
"fzsd:module/scoreboard/try_install",
"fzsd:module/sweeper/try_install"
]
}
@@ -1,6 +1,9 @@
{
"replace": false,
"values": [
"#fzsd:module/try_load"
"fzsd:module/health/try_load",
"fzsd:module/interactor/try_load",
"fzsd:module/scoreboard/try_load",
"fzsd:module/sweeper/try_load"
]
}
@@ -8,6 +8,7 @@
"#fzsd:module/last_death/uninstall",
"#fzsd:module/last_nether_portal/uninstall",
"#fzsd:module/last_spawn_point/uninstall",
"#fzsd:module/scoreboard/uninstall"
"#fzsd:module/scoreboard/uninstall",
"#fzsd:module/sweeper/uninstall"
]
}
@@ -0,0 +1,9 @@
{
"replace": false,
"values": [
"minecraft:lava_bucket",
"minecraft:water_bucket",
"minecraft:powder_snow_bucket",
"#fzsd:bucket_of_mob"
]
}
+11
View File
@@ -0,0 +1,11 @@
{
"replace": false,
"values": [
"minecraft:cod_bucket",
"minecraft:salmon_bucket",
"minecraft:axolotl_bucket",
"minecraft:tadpole_bucket",
"minecraft:pufferfish_bucket",
"minecraft:tropical_fish_bucket"
]
}
+2 -2
View File
@@ -1,6 +1,6 @@
{
"pack": {
"description": "FZ Survival Datapack 3.0 | Author: Harvey_Husky",
"pack_format": 10
"description": "FZ Survival Datapack 3.1 | Author: Harvey_Husky",
"pack_format": 15
}
}
+91 -30
View File
@@ -1,7 +1,36 @@
// 计分板模块扩展插件
// 忽略假人分数
// **请勿修改文件名**
global_app_version = '1.0-beta.13';
//** 工具函数 **//
contains(list, value) -> (
return(list ~ value != null);
);
debug(msg) -> (
logger('debug', msg);
return();
);
require_not_null(value) -> (
if(value == null, throw('空指针异常!'));
return(value);
);
require_version(requirement) -> (
req_ver = split('\\.', requirement);
cur_ver = split('\\.', global_carpet_version);
return(number(cur_ver:0) >= number(req_ver:0)
&& number(cur_ver:1) >= number(req_ver:1)
&& number(cur_ver:2) >= number(req_ver:2));
);
//** 主要逻辑 **//
global_app_name = system_info('app_name');
global_app_version = '1.1-beta.1';
global_carpet_version = split('\\+', system_info('scarpet_version')):0;
global_current_scoreboard_list = [
'fzsd.module.scoreboard.display.activation',
'fzsd.module.scoreboard.display.damage_taken',
@@ -14,13 +43,13 @@ global_current_scoreboard_list = [
'fzsd.module.scoreboard.display.aviating_distance',
'fzsd.module.scoreboard.display.placement_count'
];
global_app_name = system_info('app_name');
global_server_whitelist_cache = null;
__config() -> {
'scope' -> 'global',
'requires' -> {
'carpet' -> '>=1.4.45',
'minecraft' -> '>=1.17'
'minecraft' -> '>=1.18'
},
'command_permission' -> 2,
'commands' -> {
@@ -34,8 +63,8 @@ __config() -> {
'restore player <playerName> <scoreboardID>' -> 'command_restore',
'restore <custom> whitelist <trade_count>' -> _(custom, trade_count) -> command_restore_trade_count_confirm(custom, null, trade_count),
'restore <custom> player <playerName> <trade_count>' -> 'command_restore_trade_count_confirm',
'recalculate <scoreboardID>' -> 'recalculate_total_score',
'recalculate' -> ['recalculate_total_score', null],
'recalculate <scoreboardID>' -> 'command_recalculate_total_score',
'recalculate' -> ['command_recalculate_total_score', null],
'commandPlayer <permissionType>' -> 'carpet_command_player',
'reset <scoreboardPlayer> <scoreboardID>' -> 'command_reset',
'reset <scoreboardPlayer>' -> ['command_reset', null],
@@ -87,6 +116,7 @@ __config() -> {
};
__on_start() -> (
reload_configs();
global_team_cache = read_file('team_cache', 'json');
if(global_team_cache == null, // carpet 1.4.69 兼容
global_team_cache = {};
@@ -99,13 +129,26 @@ __on_close() -> (
write_file('team_cache', 'json', global_team_cache);
);
if(require_version('1.4.112'), // 新功能支持
__on_player_command(player, command) -> (
l = length(command);
if(l > 13
&& slice(command, 0, 6) == 'player'
&& slice(command, l - 5, l) == 'spawn'
&& !(global_config:'allow_spawn_whitelist_player')
&& contains(get_server_whitelist(), slice(command, 7, l - 6)),
return('cancel');
);
);
);
__on_player_connects(player) -> (
player_type = player ~ 'player_type';
player_team = player ~ 'team';
player_name = player ~ 'name';
if(player_type == 'fake',
(
player_team = player ~ 'team';
if(player_team != 'fzsd.module.scoreboard.fake',
player_name = player ~ 'name';
global_team_cache:player_name = player_team;
);
team_add('fzsd.module.scoreboard.fake', player);
@@ -113,7 +156,9 @@ __on_player_connects(player) -> (
),
player_type == 'shadow',
(
player_team = player ~ 'team';
if(player_team != 'fzsd.module.scoreboard.shadow',
player_name = player ~ 'name';
global_team_cache:player_name = player_team;
);
team_add('fzsd.module.scoreboard.shadow', player);
@@ -137,6 +182,38 @@ __on_player_disconnects(player, reason) -> (
try_restore_team_from_cache(player);
);
// 获取服务器白名单
get_server_whitelist() -> (
if(global_server_whitelist_cache == null,
global_server_whitelist_cache = keys(system_info('server_whitelist'));
);
return(global_server_whitelist_cache);
);
// 重载配置文件
reload_configs() -> (
// 读取配置文件
global_config = read_file('config', 'json');
if(global_config == null, // carpet 1.4.69 兼容
global_config = {};
);
config_changed = false;
// 读取失败或不存在
if(length(global_config) == 0,
global_config:'config_version' = '1.0.0'; // 占位用无实际作用
config_changed = true;
);
// 新功能支持
if(require_version('1.4.112') && !contains(global_config, 'allow_spawn_whitelist_player'),
global_config:'allow_spawn_whitelist_player' = false;
config_changed = true;
);
if(config_changed == true,
delete_file('config', 'json'); // 避免一些意外的问题
write_file('config', 'json', global_config);
);
);
// 获取所有计分板下的所有玩家列表
get_scoreboard_player_list() -> (
set = m();
@@ -156,12 +233,12 @@ command_reset(player, scoreboard) -> (
for(scoreboard(),
scoreboard_remove(_, player);
);
recalculate_total_score(null);
command_recalculate_total_score(null);
print('已重置' + player + '的所有分数');
return();
);
scoreboard_remove(scoreboard, player);
recalculate_total_score(scoreboard);
command_recalculate_total_score(scoreboard);
print('已重置' + player + '' + scoreboard + '分数');
return();
);
@@ -269,7 +346,7 @@ command_update(fzsd_version) -> (
print('参数错误!');
return();
);
recalculate_total_score(null);
command_recalculate_total_score(null);
print('已从' + fzsd_version + '升级!');
return();
);
@@ -357,9 +434,9 @@ get_total_score_name_new(scoreboard) -> (
);
// 重算总分scoreboard == null 时重算所有总分
recalculate_total_score(scoreboard) -> (
command_recalculate_total_score(scoreboard) -> (
if(scoreboard == null,
for(global_current_scoreboard_list, recalculate_total_score(_));
for(global_current_scoreboard_list, command_recalculate_total_score(_));
return();
);
total_score_name_new = get_total_score_name_new(scoreboard);
@@ -503,7 +580,7 @@ restore_score(player_name, scoreboard) -> (
print('未识别的计分板ID' + scoreboard);
return(false);
);
recalculate_total_score(scoreboard);
command_recalculate_total_score(scoreboard);
if(player_is_offline,
world_spawn = system_info('world_spawn_point');
run('spreadplayers ' + world_spawn:0 + ' ' + world_spawn:2 + ' 0 10 false ' + player);
@@ -548,22 +625,6 @@ carpet_command_player(level) -> (
command_set(player, scoreboard, score) -> (
i = scoreboard(scoreboard, player, score);
print('玩家' + player + '修改前的分数为:' + i);
recalculate_total_score(scoreboard);
command_recalculate_total_score(scoreboard);
return(i);
);
// 工具函数
contains(list, value) -> (
return(list ~ value != null);
);
debug(msg) -> (
logger('debug', msg);
return();
);
require_not_null(value) -> (
if(value == null, throw('空指针异常!'));
return(value);
);