Compare commits

...

29 Commits

Author SHA1 Message Date
延皓 2f5ad8a394 ? 2025-02-16 11:00:02 +08:00
延皓 2ffb699fd9 3.0.11 2025-02-16 10:53:01 +08:00
延皓 86c55de083 扫地机额外时间 2025-02-16 10:52:13 +08:00
Harvey_Husky 628bd8470a Merge branch '3.0-1.18.x' of https://gitee.com/harvey-husky/fz-survival-datapack into 3.0-1.18.x 2023-08-05 09:55:16 +08:00
Harvey_Husky dc583dafe0 向扫地机白名单添加了所有船 2023-08-05 09:55:11 +08:00
延皓 02467b3a64 update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-07-24 12:41:30 +00:00
延皓 2bb7bdbe55 update README.md.
Signed-off-by: 延皓 <harvey_husky@foxmail.com>
2023-07-24 12:40:44 +00:00
Harvey_Husky 5c9691969e update version 2023-07-24 19:49:38 +08:00
Harvey_Husky 9f98df20d4 不再缓存服务器白名单 2023-07-24 19:46:01 +08:00
Harvey_Husky 06694b5711 破基岩榜改为深灰色;避免int型数据溢出污染记分板 2023-07-24 19:41:32 +08:00
延皓 b97f215d7e 管理员界面添加扫地机 2023-02-04 09:34:43 +08:00
延皓 da257fcb32 2023-02-03 16:47:49 +08:00
延皓 c785195827 修复桶放液体两次会给计分板加分的bug。。。 2023-01-14 11:14:00 +08:00
延皓 8afd7410d5 放置榜忽略流体,避免连点器刷榜 2023-01-10 01:01:45 +08:00
延皓 010ba03f41 扫地机~ 2023-01-08 08:00:02 +08:00
延皓 51402bd33d Merge branch '3.0-1.18.x' of https://gitee.com/harvey-husky/yh-ssd into 3.0-1.18.x 2022-12-28 07:38:25 +08:00
延皓 fc168ac8ff fix 2022-12-28 07:38:23 +08:00
延皓 715345c7ff update LICENSE.
Signed-off-by: 延皓 <8511461+harvey-husky@user.noreply.gitee.com>
2022-11-18 20:21:39 +00:00
延皓 c48f34d5d9 3.0.5 2022-10-30 09:05:53 +08:00
延皓 4c6dcdbf5a 整理 2022-10-30 09:04:25 +08:00
延皓 f7ebb99557 修复重装失败bug 2022-10-30 01:40:16 +08:00
延皓 1babb5f733 为日志和游戏事件模块装卸添加单独的标签 2022-10-30 01:17:52 +08:00
延皓 6fb0d57394 增强挖掘榜工具的扩展性、优化here 2022-10-30 00:34:01 +08:00
延皓 40ca8db5d5 3.0.4 2022-10-28 23:38:45 +08:00
延皓 df968611a7 3.0.4 2022-10-28 23:38:07 +08:00
延皓 a91675e75e 为1.18删除了一些不支持的功能 2022-09-25 13:07:52 +08:00
延皓 c39ff19f1d 初步实现从统计信息恢复计分板 2022-09-21 08:20:01 +08:00
延皓 28d8625cb6 update readme 2022-09-12 23:34:49 +08:00
延皓 0905d460b6 添加reset命令 2022-09-12 21:53:54 +08:00
139 changed files with 879 additions and 279 deletions
+3 -3
View File
@@ -17,7 +17,7 @@
"storageText": "{\"nbt\": \"${1:NBT}\", \"interpret\": true, \"storage\": \"${2:A namespaced ID}\"}", "storageText": "{\"nbt\": \"${1:NBT}\", \"interpret\": true, \"storage\": \"${2:A namespaced ID}\"}",
"ifInstalled": "execute if data storage fzsd:installed fzsd.module{${1:module_name}:1b} run ${tellraw}" "ifInstalled": "execute if data storage fzsd:installed fzsd.module{${1:module_name}:1b} run ${tellraw}"
}, },
"datapack.env.cmdVersion": "1.19", "datapack.env.cmdVersion": "1.18.2",
"datapack.env.jsonVersion": "1.19", "datapack.env.jsonVersion": "1.18.2",
"datapack.env.dataVersion": "1.19" "datapack.env.dataVersion": "1.18.2"
} }
-5
View File
@@ -25,11 +25,6 @@
- 函数调用尽量不要使用`function`命令,应改在标签中按顺序调用! - 函数调用尽量不要使用`function`命令,应改在标签中按顺序调用!
## 未来计划
- 细化版本管理,提供不同版本之间的升级函数,由`update_manager`控制。*务必仔细测试再发布,一旦升级无法降级!*
- playerdata相关功能
## 系统模块 ## 系统模块
### 频繁使用的计算单元 ### 频繁使用的计算单元
+7 -7
View File
@@ -1,20 +1,20 @@
FZSD许可 FZSD许可协议
2022/8/1 https://gitee.com/harvey-husky/fz-survival-datapack/blob/dev/3.0/LICENSE 2022/11/19 https://gitee.com/harvey-husky/fz-survival-datapack/blob/dev/3.0/LICENSE
版权所有 © 2019-2022 延皓<https://gitee.com/harvey-husky><https://space.bilibili.com/677233356> 版权所有 © 2019-2022 延皓<https://gitee.com/harvey-husky><https://space.bilibili.com/677233356>
定义: 定义:
“该许可”指FZSD许可 “该许可协议”指FZSD许可协议
“该软件”指许可在该许可下的程序和相关文档的集合。 “该软件”指许可在该许可协议下的程序和相关文档的集合。
“官方网址”指由版权所有者提供的该软件的发布网址。 “官方网址”指由版权所有者提供的该软件的发布网址。
您对该软件的复制、使用、修改及分发受如下条款的约束: 您对该软件的复制、使用、修改及分发受如下条款的约束:
1. 禁止添加、修改或删除该许可的内容。 1. 禁止添加、修改或删除该许可协议的内容。
2. 禁止未经授权的转载、销售或二次发布该软件。 2. 禁止未经授权的转载、销售或二次发布该软件。
3. 禁止添加、修改或抹除该软件中的原作者署名。 3. 禁止添加、修改或抹除该软件中的原作者署名。
4. 如果您从部署了该软件的Minecraft服务器中以任何方式获取了收益,则您必须在游戏中的明显位置明确告知用户您的Minecraft服务器使用了该软件,并附上官方网址。 4. 如果您从部署了该软件的Minecraft服务器中以任何方式获取了收益,则您必须在游戏中的明显位置明确告知用户您的Minecraft服务器使用了该软件,并附上该软件的官方网址。
5. 如果您修改了该软件中的任何内容,您必须将修改部分开源在主流开源平台(如gitee<https://gitee.com/>或github<https://github.com/>等)。 5. 如果您修改了该软件中的任何内容,您必须将修改部分开源在主流开源平台(如gitee<https://gitee.com/>或github<https://github.com/>等)。
6. 如果您修改了该软件中的任何内容,您必须保留该许可,但您可以追加其他许可(不包括不支持附加条款的许可)。当您添加的许可中的条款与该许可冲突时,必须以该许可为准。 6. 如果您修改了该软件中的任何内容,您必须保留该许可协议,但您可以追加其他许可协议(不包括不支持附加条款的许可协议)。当您添加的许可协议中的条款与该许可协议冲突时,必须以该许可协议为准。
7. 该软件在提供时不带任何明示或默示的担保。在任何情况下,版权所有者不对任何人因使用该软件而引发的任何直接或间接损失承担任何责任。 7. 该软件在提供时不带任何明示或默示的担保。在任何情况下,版权所有者不对任何人因使用该软件而引发的任何直接或间接损失承担任何责任。
+29 -14
View File
@@ -6,28 +6,22 @@
#### Copyright (C) 2019-2022 Harvey_Husky #### Copyright (C) 2019-2022 Harvey_Husky
[Bilibili专栏](https://www.bilibili.com/read/cv4267319)(年久失修)
## 安装教程 ## 安装教程
1. 兼容性 1. 兼容性
- `数据包 v3.0.x` 支持 `Minecraft 1.19.x`(*由于使用了1.18.x不支持的操作,撤销对MC1.18.x的支持*) - `数据包 v3.0.x` 支持 `Minecraft 1.18.2/1.19.4`
- `数据包 v2.2.x` 支持 `Minecraft 1.19.x` - `数据包 v2.2.x` 支持 `Minecraft 1.19.x`
- `数据包 v2.1.x` 支持 `Minecraft 1.17.x-1.18.x` - `数据包 v2.1.x` 支持 `Minecraft 1.17.x-1.18.x`
- `数据包 v2.0.x` 支持 `Minecraft 1.16.3-1.16.5` - `数据包 v2.0.x` 支持 `Minecraft 1.16.3-1.16.5`
2. 前往[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)下载对应MC版本的数据包 2. 前往[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)下载对应MC版本的数据包
3. 从zip文件的 `scripts` 目录中挑选你需要的 `.sc` 文件 3. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks`
4. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks` 4. (可选)下载并安装 [Carpet Mod **1.4.24**](https://github.com/gnembon/fabric-carpet/releases) 或以上版本
5. (可选)下载并安装 [Carpet Mod **1.4.24**](https://github.com/gnembon/fabric-carpet/releases) 或以上版本 5. (可选)从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
6. (可选)从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts` 6. 执行 `reload` 指令(或重新打开存档
7. 执行 `reload` 指令(或重新打开存档)
# FZ生存数据包 3.0 # FZ生存数据包 3.0
## *目前仍在测试阶段,请先备份服务器再使用!* [![数据包版本](https://img.shields.io/badge/正式版-3.0.10-blue.svg)](https://gitee.com/harvey-husky/FZ-sDatapack/releases) [![MC版本](https://img.shields.io/badge/Minecraft-1.18+-blue.svg)](https://minecraft.net/)
[![数据包版本](https://img.shields.io/badge/测试版-3.0+beta.12-blue.svg)](https://gitee.com/harvey-husky/FZ-sDatapack/releases/v3.0-beta.12) [![MC版本](https://img.shields.io/badge/Minecraft-1.19+-blue.svg)](https://minecraft.net/)
> 其他版本见[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases) > 其他版本见[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)
@@ -61,6 +55,21 @@
| :------: | :----------------------------------------------: | | :------: | :----------------------------------------------: |
| 破基岩榜 |fzsd.module.scoreboard.display.bedrock_broken_count| | 破基岩榜 |fzsd.module.scoreboard.display.bedrock_broken_count|
- 系统总榜计分板:`fzsd.module.scoreboard.assign.general`
- 可以在在此记分板修改总分数据,下次加分时会刷新显示分数
- 总计分项名称对照表:
| 默认名称 | 计分板ID |
| :------: | :----------------------------------------------: |
| 总活跃时间 | fzsd.module.scoreboard.total.activation |
| 总飞行距离 | fzsd.module.scoreboard.total.aviating_distance |
| 总受伤害量 | fzsd.module.scoreboard.total.damage_taken |
| 总死亡数 | fzsd.module.scoreboard.total.death_count |
| 总挖掘量 | fzsd.module.scoreboard.total.dig_count |
| 总钓鱼数 | fzsd.module.scoreboard.total.fishing_count |
| 总击杀数 | fzsd.module.scoreboard.total.kill_count |
| 总放置方块数 | fzsd.module.scoreboard.total.placement_count |
| 总交易量 | fzsd.module.scoreboard.total.trade_count |
### 地毯脚本 ### 地毯脚本
@@ -72,11 +81,17 @@
- 可避免Carpet假人污染计分板 - 可避免Carpet假人污染计分板
- 执行 `reload` 指令后自动生效 - 执行 `reload` 指令后自动生效
- 子命令( `/fzsd_score <子命令>` ): - 子命令( `/fzsd_score <子命令>` ):
- `update_from <version>`:用于从给定的数据包版本恢复计分板数据(需要测试!) - `updateFrom <version>`:用于从给定的数据包版本恢复计分板数据(需要测试!)
- `recalculate_total`:重新计算总分 - `recalculate`:重新计算所有计分板总分
- `recalculate <scoreboardID>`:重新计算该计分板总分
- `reset <player>`:重置该玩家的所有分数
- `reset <player> <scoreboardID>`:重置该玩家该计分板的分数
- `commandPlayer <permissionType>`:设置player命令权限类型
### 其他 ### 其他
- 见游戏内交互器按钮 - 见游戏内交互器按钮
## 开发者相关 ## 开发者相关
- 参见[开发文档](/DEVDOC.md) - 参见[开发文档](/DEVDOC.md)
@@ -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/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": "]"}],[{"text": "[", "clickEvent": {"action": "run_command", "value": "/data modify storage fzsd:module fzsd.sweeper.extra_interval set value 1b"}},{"text": "显示额外时间","color": "green"},{"text": "]"}],[{"text": "[", "clickEvent": {"action": "run_command", "value": "/data modify storage fzsd:module fzsd.sweeper.extra_interval set value 0b"}},{"text": "隐藏额外时间","color": "red"},{"text": "]"}]]]
@@ -1,6 +1,6 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"fzsd.extra.bbl:display/set_text/black" "fzsd.extra.bbl:display/set_text/dark_gray"
] ]
} }
@@ -0,0 +1,13 @@
{
"parent": "fzsd:game_event/on_placed_block",
"criteria": {
"on_placed_liquid": {
"trigger": "minecraft:placed_block",
"conditions": {
"item": {
"tag": "fzsd:bucket_of_liquid"
}
}
}
}
}
@@ -7,7 +7,6 @@
"player": [ "player": [
{ {
"condition": "minecraft:reference", "condition": "minecraft:reference",
"entity": "this",
"name": "fzsd:used_tool" "name": "fzsd:used_tool"
} }
] ]
@@ -1 +1 @@
data modify storage fzsd:global fzsd.api.dimension.name set value '{"nbt": "fzsd.cache.dimension.id", "storage": "fzsd:global"}' data modify storage fzsd:global fzsd.api.dimension.name set value '{"nbt": "fzsd.api.dimension.id", "storage": "fzsd:global"}'
+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.0'}} execute store success storage fzsd:version fzsd.need_update int 1 run data merge storage fzsd:version {fzsd: {version: '3.0.11'}}
execute if data storage fzsd:version fzsd{need_update: 1} run function fzsd:system/update 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:system/carpet/try_load_fzsd_score
function #fzsd:load function #fzsd:load
@@ -4,4 +4,4 @@ execute if predicate fzsd:is_real_player run function fzsd:game_event/player/on_
## ##
scoreboard players operation @s fzsd.event.aviating_distance %= 200 fzsd.variable.integer scoreboard players operation @s fzsd.event.aviating_distance %= 200 fzsd.variable.integer
advancement revoke @s only fzsd:game_event/on_aviate_one_meter advancement revoke @s from fzsd:game_event/on_aviate_one_meter
@@ -4,4 +4,4 @@ execute if predicate fzsd:is_real_player run function fzsd:game_event/player/on_
## ##
scoreboard players set @s fzsd.event.death_count 0 scoreboard players set @s fzsd.event.death_count 0
advancement revoke @s only fzsd:game_event/on_dead advancement revoke @s from fzsd:game_event/on_dead
@@ -4,4 +4,4 @@ execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellr
function #fzsd:game_event/player/on_entered_nether_portal function #fzsd:game_event/player/on_entered_nether_portal
## ##
advancement revoke @s only fzsd:game_event/on_entered_nether_portal advancement revoke @s from fzsd:game_event/on_entered_nether_portal
@@ -7,4 +7,4 @@ execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellr
function #fzsd:game_event/player/on_fished function #fzsd:game_event/player/on_fished
## ##
advancement revoke @s only fzsd:game_event/on_fished advancement revoke @s from fzsd:game_event/on_fished
@@ -10,4 +10,4 @@ scoreboard players remove @s fzsd.event.used_tool.dig_offset 1
function #fzsd:game_event/player/on_hurt_entity_with_tools function #fzsd:game_event/player/on_hurt_entity_with_tools
## ##
advancement revoke @s only fzsd:game_event/on_hurt_entity_with_tools advancement revoke @s from fzsd:game_event/on_hurt_entity_with_tools
@@ -7,4 +7,4 @@ execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellr
function #fzsd:game_event/player/on_killed_mob_or_player function #fzsd:game_event/player/on_killed_mob_or_player
## ##
advancement revoke @s only fzsd:game_event/on_killed_mob_or_player advancement revoke @s from fzsd:game_event/on_killed_mob_or_player
@@ -7,4 +7,4 @@ execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellr
function #fzsd:game_event/player/on_piglin_trade function #fzsd:game_event/player/on_piglin_trade
## ##
advancement revoke @s only fzsd:game_event/on_piglin_trade advancement revoke @s from fzsd:game_event/on_piglin_trade
@@ -1,10 +1,10 @@
# 调用者:advancements/fzsd:~ # 调用者:advancements/fzsd:~
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "放置了方块"}]
## ##
execute if entity @s[advancements={fzsd:game_event/on_placed_block/on_placed_liquid=true}] run function #fzsd:game_event/player/on_placed_liquid
execute if entity @s[advancements={fzsd:game_event/on_placed_block/on_placed_liquid=false}] run function #fzsd:game_event/player/on_placed_solid
function #fzsd:game_event/player/on_placed_block function #fzsd:game_event/player/on_placed_block
## ##
advancement revoke @s only fzsd:game_event/on_placed_block advancement revoke @s from fzsd:game_event/on_placed_block
advancement revoke @s from fzsd:game_event/on_placed_block/on_placed_liquid
@@ -4,4 +4,4 @@ execute if predicate fzsd:is_real_player run function fzsd:game_event/player/on_
## ##
scoreboard players operation @s fzsd.event.play_ticks %= 72000 fzsd.variable.integer scoreboard players operation @s fzsd.event.play_ticks %= 72000 fzsd.variable.integer
advancement revoke @s only fzsd:game_event/on_play_one_hour advancement revoke @s from fzsd:game_event/on_play_one_hour
@@ -10,4 +10,4 @@ scoreboard players remove @s fzsd.event.used_tool.dig_offset 1
function #fzsd:game_event/player/on_shears_used_on_entity function #fzsd:game_event/player/on_shears_used_on_entity
## ##
advancement revoke @s only fzsd:game_event/on_shears_used_on_entity advancement revoke @s from fzsd:game_event/on_shears_used_on_entity
@@ -4,4 +4,4 @@ execute if predicate fzsd:is_real_player run function fzsd:game_event/player/on_
## ##
scoreboard players operation @s fzsd.event.damage_taken %= 10 fzsd.variable.integer scoreboard players operation @s fzsd.event.damage_taken %= 10 fzsd.variable.integer
advancement revoke @s only fzsd:game_event/on_took_damage advancement revoke @s from fzsd:game_event/on_took_damage
@@ -10,5 +10,5 @@ scoreboard players remove @s fzsd.event.used_tool.dig_offset 1
function #fzsd:game_event/player/on_tools_used_on_block function #fzsd:game_event/player/on_tools_used_on_block
## ##
advancement revoke @s only fzsd:game_event/on_tool_axes_used_on_block advancement revoke @s from fzsd:game_event/on_tool_axes_used_on_block
advancement revoke @s only fzsd:game_event/on_tools_exclude_axes_used_on_block advancement revoke @s from fzsd:game_event/on_tools_exclude_axes_used_on_block
@@ -10,4 +10,4 @@ execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellr
function #fzsd:game_event/player/on_unsneak function #fzsd:game_event/player/on_unsneak
## ##
advancement revoke @s until fzsd:game_event/on_unsneak advancement revoke @s through fzsd:game_event/on_unsneak
@@ -6,4 +6,4 @@ execute if predicate fzsd:is_real_player run function fzsd:game_event/player/on_
function #fzsd:game_event/player/on_used_tool/reset_used_tool function #fzsd:game_event/player/on_used_tool/reset_used_tool
## ##
advancement revoke @s only fzsd:game_event/on_used_tool advancement revoke @s from fzsd:game_event/on_used_tool
@@ -7,4 +7,4 @@ execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellr
function #fzsd:game_event/player/on_villager_trade function #fzsd:game_event/player/on_villager_trade
## ##
advancement revoke @s only fzsd:game_event/on_villager_trade advancement revoke @s from fzsd:game_event/on_villager_trade
@@ -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": "放置了实体方块"}]
@@ -31,6 +31,3 @@ scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.eve
scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.wooden_shovel scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.wooden_shovel
scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.wooden_sword scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.wooden_sword
scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.dig_offset scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.dig_offset
##
execute unless score fzsd.var.score fzsd.variable.integer matches ..0 run function fzsd:game_event/player/on_broke_block_with_tool
@@ -0,0 +1,2 @@
##
execute unless score fzsd.var.score fzsd.variable.integer matches ..0 run function fzsd:game_event/player/on_broke_block_with_tool
@@ -0,0 +1 @@
execute unless data storage fzsd:install fzsd.module{health:0b} run function #fzsd:module/health/install
@@ -3,4 +3,4 @@ execute store result storage fzsd:here fzsd.nether.x int 0.125 run data get enti
execute store result storage fzsd:here fzsd.nether.z int 0.125 run data get entity @s Pos[2] execute store result storage fzsd:here fzsd.nether.z int 0.125 run data get entity @s Pos[2]
data modify storage fzsd:global fzsd.api.dimension.id set value "minecraft:the_nether" data modify storage fzsd:global fzsd.api.dimension.id set value "minecraft:the_nether"
function #fzsd:api/get_dimension_name function #fzsd:api/get_dimension_name
data modify storage fzsd:here fzsd.message[2] set value '[{"text": ",对应", "color": "white"}, {"nbt": "fzsd.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"text": "[", "color": "green"}, {"nbt": "fzsd.nether.x", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.nether.z", "storage": "fzsd:here"}, {"text": "]"}]]' data modify storage fzsd:here fzsd.message.append set value '[{"text": ",对应", "color": "white"}, {"nbt": "fzsd.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"text": "[", "color": "green"}, {"nbt": "fzsd.nether.x", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.nether.z", "storage": "fzsd:here"}, {"text": "]"}]]'
@@ -3,4 +3,5 @@ execute store result storage fzsd:here fzsd.overworld.x int 8 run data get entit
execute store result storage fzsd:here fzsd.overworld.z int 8 run data get entity @s Pos[2] execute store result storage fzsd:here fzsd.overworld.z int 8 run data get entity @s Pos[2]
data modify storage fzsd:global fzsd.api.dimension.id set value "minecraft:overworld" data modify storage fzsd:global fzsd.api.dimension.id set value "minecraft:overworld"
function #fzsd:api/get_dimension_name function #fzsd:api/get_dimension_name
data modify storage fzsd:here fzsd.message[2] set value '[{"text": ",对应", "color": "white"}, {"nbt": "fzsd.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"text": "[", "color": "green"}, {"nbt": "fzsd.overworld.x", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.overworld.z", "storage": "fzsd:here"}, {"text": "]"}]]' data modify storage fzsd:here fzsd.message.append set value '[{"text": ",对应", "color": "white"}, {"nbt": "fzsd.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"text": "[", "color": "green"}, {"nbt": "fzsd.overworld.x", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.overworld.z", "storage": "fzsd:here"}, {"text": "]"}]]'
## id
@@ -1 +1 @@
execute if data storage fzsd:global fzsd.api.dimension{id:"minecraft:overworld"} run function fzsd:module/here/get_dimension_message/if_overworld execute if data entity @s {Dimension:"minecraft:overworld"} run function fzsd:module/here/get_dimension_message/if_overworld
@@ -1 +1 @@
execute if data storage fzsd:global fzsd.api.dimension{id:"minecraft:the_nether"} run function fzsd:module/here/get_dimension_message/if_the_nether execute if data entity @s {Dimension:"minecraft:the_nether"} run function fzsd:module/here/get_dimension_message/if_the_nether
@@ -1,8 +1,8 @@
## fzsd.cache.pos已在install中初始化
execute store result storage fzsd:here fzsd.x int 1 run data get entity @s Pos[0] execute store result storage fzsd:here fzsd.x int 1 run data get entity @s Pos[0]
execute store result storage fzsd:here fzsd.y int 1 run data get entity @s Pos[1] execute store result storage fzsd:here fzsd.y int 1 run data get entity @s Pos[1]
execute store result storage fzsd:here fzsd.z int 1 run data get entity @s Pos[2] execute store result storage fzsd:here fzsd.z int 1 run data get entity @s Pos[2]
data modify storage fzsd:here fzsd.message.append set value '' data modify storage fzsd:here fzsd.message.append set value ''
data modify storage fzsd:here fzsd.dimension.name set from storage fzsd:global fzsd.api.dimension.name
## ##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "玩家"}, {"selector": "@s"}, {"text": "获取了位置信息"}] execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "玩家"}, {"selector": "@s"}, {"text": "获取了位置信息"}]
@@ -1 +1 @@
tellraw @a [{"selector": "@s"}, [{"text": "说:我在", "color": "white"}, {"nbt": "fzsd.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"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.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"text": " [", "color": "green"}, {"nbt": "fzsd.x", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.y", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.z", "storage": "fzsd:here"}, {"text": "]"}], {"nbt": "fzsd.message.append", "interpret": true, "storage": "fzsd:here"}] tellraw @s [{"text": "你在", "color": "white"}, {"nbt": "fzsd.dimension.name", "interpret": true, "storage": "fzsd:here"}, [{"text": "[", "color": "green"}, {"nbt": "fzsd.x", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.y", "storage": "fzsd:here"}, {"text": ", "}, {"nbt": "fzsd.z", "storage": "fzsd:here"}, {"text": "]"}], {"nbt": "fzsd.message.append", "interpret": true, "storage": "fzsd:here"}]
@@ -0,0 +1 @@
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 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
@@ -1,7 +0,0 @@
data modify storage fzsd:global fzsd.api.dimension.id set from entity @s LastDeathLocation.dimension
execute store result storage fzsd:last_death fzsd.x int 1 run data get entity @s LastDeathLocation.pos[0]
execute store result storage fzsd:last_death fzsd.y int 1 run data get entity @s LastDeathLocation.pos[1]
execute store result storage fzsd:last_death fzsd.z int 1 run data get entity @s LastDeathLocation.pos[2]
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "玩家"}, {"selector": "@s"}, {"text": "获取了死亡点"}]
@@ -1,5 +0,0 @@
##
data modify storage fzsd:install fzsd.module.last_death set value 1b
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..500 run tellraw @a [{"nbt": "fzsd.level.info", "interpret": true, "storage": "fzsd:logger"}, {"text": "已安装组件:上一死亡点"}]
@@ -1 +0,0 @@
execute if data storage fzsd:install fzsd.module{last_death:1b} run tellraw @s [{"text": "获取上一死亡点:"},[{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "value": "发送给:自己"}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -2100"}},{"text": "私信", "color": "aqua"},{"text": "]"}]]
@@ -1 +0,0 @@
execute if score @s fzsd.module.interactor.trigger matches -2100 run function #fzsd:module/last_death/private_message
@@ -1,2 +0,0 @@
execute if data entity @s LastDeathLocation run tellraw @s [{"text": "你上次死亡于"}, {"nbt": "fzsd.api.dimension.name", "interpret": true, "storage": "fzsd:global"}, [{"text": " [", "color": "green"}, {"nbt": "fzsd.x", "storage": "fzsd:last_death"}, {"text": ", "}, {"nbt": "fzsd.y", "storage": "fzsd:last_death"}, {"text": ", "}, {"nbt": "fzsd.z", "storage": "fzsd:last_death"}, {"text": "]"}]]
execute unless data entity @s LastDeathLocation run tellraw @s {"text": "你从未死亡!"}
@@ -1,7 +0,0 @@
data remove storage fzsd:last_death fzsd
##
data modify storage fzsd:install fzsd.module.last_death set value 0b
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..500 run tellraw @a [{"nbt": "fzsd.level.info", "interpret": true, "storage": "fzsd:logger"}, {"text": "已卸载组件:上一死亡点"}]
@@ -1,2 +1,2 @@
execute if score @s fzsd.module.last_nether_portal.dimension matches -2147483648..2147483647 run tellraw @a [{"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": "你从未穿出过下界传送门!"} 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": "你从未穿出过下界传送门!"} 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,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.activation 1 scoreboard players add @s fzsd.module.scoreboard.display.activation 1
execute if score @s fzsd.module.scoreboard.display.activation matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.activation 2147483647
scoreboard players add fzsd.module.scoreboard.total.activation fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.activation fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.activation fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.activation fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players operation @s fzsd.module.scoreboard.display.aviating_distance += fzsd.var.score fzsd.variable.integer scoreboard players operation @s fzsd.module.scoreboard.display.aviating_distance += fzsd.var.score fzsd.variable.integer
execute if score @s fzsd.module.scoreboard.display.aviating_distance matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.aviating_distance 2147483647
scoreboard players operation fzsd.module.scoreboard.total.aviating_distance fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer scoreboard players operation fzsd.module.scoreboard.total.aviating_distance fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer
execute if score fzsd.module.scoreboard.total.aviating_distance fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.aviating_distance fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players operation @s fzsd.module.scoreboard.display.damage_taken += fzsd.var.score fzsd.variable.integer scoreboard players operation @s fzsd.module.scoreboard.display.damage_taken += fzsd.var.score fzsd.variable.integer
execute if score @s fzsd.module.scoreboard.display.damage_taken matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.damage_taken 2147483647
scoreboard players operation fzsd.module.scoreboard.total.damage_taken fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer scoreboard players operation fzsd.module.scoreboard.total.damage_taken fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer
execute if score fzsd.module.scoreboard.total.damage_taken fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.damage_taken fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.death_count 1 scoreboard players add @s fzsd.module.scoreboard.display.death_count 1
execute if score @s fzsd.module.scoreboard.display.death_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.death_count 2147483647
scoreboard players add fzsd.module.scoreboard.total.death_count fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.death_count fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.death_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.death_count fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players operation @s fzsd.module.scoreboard.display.dig_count += fzsd.var.score fzsd.variable.integer scoreboard players operation @s fzsd.module.scoreboard.display.dig_count += fzsd.var.score fzsd.variable.integer
execute if score @s fzsd.module.scoreboard.display.dig_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.dig_count 2147483647
scoreboard players operation fzsd.module.scoreboard.total.dig_count fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer scoreboard players operation fzsd.module.scoreboard.total.dig_count fzsd.module.scoreboard.assign.general += fzsd.var.score fzsd.variable.integer
execute if score fzsd.module.scoreboard.total.dig_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.dig_count fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.fishing_count 1 scoreboard players add @s fzsd.module.scoreboard.display.fishing_count 1
execute if score @s fzsd.module.scoreboard.display.fishing_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.fishing_count 2147483647
scoreboard players add fzsd.module.scoreboard.total.fishing_count fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.fishing_count fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.fishing_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.fishing_count fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.kill_count 1 scoreboard players add @s fzsd.module.scoreboard.display.kill_count 1
execute if score @s fzsd.module.scoreboard.display.kill_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.kill_count 2147483647
scoreboard players add fzsd.module.scoreboard.total.kill_count fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.kill_count fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.kill_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.kill_count fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.placement_count 1 scoreboard players add @s fzsd.module.scoreboard.display.placement_count 1
execute if score @s fzsd.module.scoreboard.display.placement_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.placement_count 2147483647
scoreboard players add fzsd.module.scoreboard.total.placement_count fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.placement_count fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.placement_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.placement_count fzsd.module.scoreboard.assign.general 2147483647
@@ -1,2 +1,4 @@
scoreboard players add @s fzsd.module.scoreboard.display.trade_count 1 scoreboard players add @s fzsd.module.scoreboard.display.trade_count 1
execute if score @s fzsd.module.scoreboard.display.trade_count matches ..-1 run scoreboard players set @s fzsd.module.scoreboard.display.trade_count 2147483647
scoreboard players add fzsd.module.scoreboard.total.trade_count fzsd.module.scoreboard.assign.general 1 scoreboard players add fzsd.module.scoreboard.total.trade_count fzsd.module.scoreboard.assign.general 1
execute if score fzsd.module.scoreboard.total.trade_count fzsd.module.scoreboard.assign.general matches ..-1 run scoreboard players set fzsd.module.scoreboard.total.trade_count fzsd.module.scoreboard.assign.general 2147483647
@@ -2,4 +2,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": "计分板:"}
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,23 @@
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
schedule clear fzsd:module/sweeper/timer/5min
schedule clear fzsd:module/sweeper/timer/6min
schedule clear fzsd:module/sweeper/timer/7min
schedule clear fzsd:module/sweeper/timer/8min
schedule clear fzsd:module/sweeper/timer/9min
schedule clear fzsd:module/sweeper/timer/10min
schedule clear fzsd:module/sweeper/timer/12min
schedule clear fzsd:module/sweeper/timer/15min
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,13 @@
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 -4010"}}, {"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 -4030"}}, {"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 -4060"}}, {"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 -4120"}}, {"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 -4180"}}, {"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 -4240"}}, {"text": "4min", "color": "#00aa00"}, {"text": "]"}]]
execute if data storage fzsd:module fzsd.sweeper{extra_interval:1b} run tellraw @s [{"text": "- 额外:"}, [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "5min", "color": "#aa0000"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -4300"}}, {"text": "5min", "color": "#aa0000"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "6min", "color": "#da7924"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -4360"}}, {"text": "6min", "color": "#da7924"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "7min", "color": "#ffe34c"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -4420"}}, {"text": "7min", "color": "#ffe34c"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "8min", "color": "#e3ff50"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -4480"}}, {"text": "8min", "color": "#e3ff50"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "9min", "color": "#81d42c"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -4540"}}, {"text": "9min", "color": "#81d42c"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "10min", "color": "#00aa00"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -4600"}}, {"text": "10min", "color": "#00aa00"}, {"text": "]"}],[{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "12min", "color": "light_purple"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -4720"}}, {"text": "12min", "color": "light_purple"}, {"text": "]"}],[{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"text": "15min", "color": "dark_purple"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -4900"}}, {"text": "15min", "color": "dark_purple"}, {"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 -4900..-4010 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 4000
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,15 @@
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
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 300 run function fzsd:module/sweeper/timer/5min
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 360 run function fzsd:module/sweeper/timer/6min
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 420 run function fzsd:module/sweeper/timer/7min
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 480 run function fzsd:module/sweeper/timer/8min
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 540 run function fzsd:module/sweeper/timer/9min
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 600 run function fzsd:module/sweeper/timer/10min
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 720 run function fzsd:module/sweeper/timer/12min
execute if score fzsd.sweeper.interval_time fzsd.variable.integer matches 900 run function fzsd:module/sweeper/timer/15min
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 green
bossbar set fzsd:sweeper value 60
schedule function fzsd:module/sweeper/timer/5min 300s
@@ -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 tellraw @a[tag=!fzsd.ignore_sweeper_message] [{"nbt": "fzsd.level.alert", "interpret": true, "storage": "fzsd:logger"}, {"text": "12分钟后清理掉落物"}]
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 60
schedule function fzsd:module/sweeper/timer/10min 120s
@@ -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": "15分钟后清理掉落物"}]
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 60
schedule function fzsd:module/sweeper/timer/10min 300s
@@ -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 green
bossbar set fzsd:sweeper value 60
schedule function fzsd:module/sweeper/timer/4min 60s
@@ -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,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": "6分钟后清理掉落物"}]
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 60
schedule function fzsd:module/sweeper/timer/4min 120s
@@ -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": "7分钟后清理掉落物"}]
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 60
schedule function fzsd:module/sweeper/timer/5min 120s
@@ -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": "8分钟后清理掉落物"}]
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 60
schedule function fzsd:module/sweeper/timer/5min 180s
@@ -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": "9分钟后清理掉落物"}]
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 60
schedule function fzsd:module/sweeper/timer/5min 240s
@@ -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 10 fzsd.variable.integer 10
scoreboard players set 200 fzsd.variable.integer 200 scoreboard players set 200 fzsd.variable.integer 200
scoreboard players set 72000 fzsd.variable.integer 72000 scoreboard players set 72000 fzsd.variable.integer 72000
@@ -2,4 +2,4 @@
data modify storage fzsd:install fzsd.global set value 0b data modify storage fzsd:install fzsd.global 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": "卸载完成!"}] tellraw @a [{"nbt": "fzsd.level.info", "interpret": true, "storage": "fzsd:logger"}, {"text": "卸载完成!"}]
@@ -0,0 +1,54 @@
{
"condition": "minecraft:alternative",
"terms": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft: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: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\"}}"
}
}
]
}

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