Compare commits

...

22 Commits

Author SHA1 Message Date
延皓 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
延皓 2fd72d84de 3.0.5 2022-10-30 09:05:38 +08:00
延皓 47bd69d3a8 整理 2022-10-30 09:04:19 +08:00
延皓 8162a7031a 为日志和游戏事件模块装卸添加单独的标签 2022-10-30 01:18:03 +08:00
延皓 08f73b9b9c 增强挖掘榜工具的扩展性、优化here 2022-10-30 00:33:56 +08:00
延皓 2a31e4a2c6 3.0.4 2022-10-28 23:44:07 +08:00
延皓 e431f13e49 Merge branch 'dev/3.0' of https://gitee.com/harvey-husky/yh-ssd into dev/3.0 2022-10-28 23:43:54 +08:00
延皓 718ed537c4 3.0.4 2022-10-28 23:43:45 +08:00
延皓 025d821495 update README.md.
Signed-off-by: 延皓 <1214946206@qq.com>
2022-10-27 13:13:06 +00:00
106 changed files with 451 additions and 123 deletions
+2 -1
View File
@@ -18,6 +18,7 @@
"values": ... "values": ...
} }
``` ```
- ***函数和标签是否能被扩展数据包成功覆盖,取决于数据包加载顺序***,请使用`/datapack enable <xxx> after <xxx>`指令,使您的扩展数据包在FZ's Survival Datapack之后加载
## 基本要求 ## 基本要求
@@ -71,7 +72,7 @@
- *触发器分数为正数会重新向玩家发送交互按钮,如不想重新发送,请使用负数* - *触发器分数为正数会重新向玩家发送交互按钮,如不想重新发送,请使用负数*
- 大多数情况下这里的触发器分数必须是独一无二的 - 大多数情况下这里的触发器分数必须是独一无二的
- 建议使用`>10000`的随机数作为自定义按钮的触发器分数 - 建议使用`>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 ...`的指令判断玩家的触发器分数,并执行你的操作 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)标签中注册上述函数 4. 在[`#fzsd:module/interactor/event/on_click`](data/fzsd/tags/functions/module/interactor/event/on_click.json)标签中注册上述函数
+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. 该软件在提供时不带任何明示或默示的担保。在任何情况下,版权所有者不对任何人因使用该软件而引发的任何直接或间接损失承担任何责任。
+9 -4
View File
@@ -20,12 +20,12 @@
4. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks` 4. 将数据包 `zip` 文件放入 `world/datapacks` 中(在客户端位于 `.minecraft/saves/<存档名>/datapacks`
5. (可选)下载并安装 [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) 或以上版本
6. (可选)从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts` 6. (可选)从数据包 `zip` 文件的 `scripts` 目录中解压 `.sc` 文件,将其放入 `world/scripts` 中(在客户端位于 `.minecraft/saves/<存档名>/scripts`
7. 执行 `reload` 指令(或重新打开存档) 7. 执行 `reload` 指令(或重新打开存档;在一些第三方服务端中可能需要改为`/minecraft:reload`
# FZ生存数据包 3.0 # FZ生存数据包 3.0
[![数据包版本](https://img.shields.io/badge/正式版-3.0.2-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.0.5-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://gitee.com/harvey-husky/FZ-sDatapack/releases) > 其他版本见[发行页面](https://gitee.com/harvey-husky/FZ-sDatapack/releases)
@@ -79,12 +79,17 @@
- `reset <player> <scoreboardID>`:重置该玩家该计分板的分数 - `reset <player> <scoreboardID>`:重置该玩家该计分板的分数
- `restore player <玩家名> <计分板ID>`:恢复该玩家的该计分板分数 - `restore player <玩家名> <计分板ID>`:恢复该玩家的该计分板分数
- `restore player <玩家名>`:恢复该玩家的所有计分板分数 - `restore player <玩家名>`:恢复该玩家的所有计分板分数
- `restore whitelist <玩家名> <计分板ID>`:恢复所有白名单玩家的该计分板分数 - `restore whitelist <计分板ID>`:恢复所有白名单玩家的该计分板分数
- `restore whitelist <玩家名>`:恢复所有白名单玩家的所有计分板分数 - `restore whitelist`:恢复所有白名单玩家的所有计分板分数
- *副作用:恢复完成后玩家会被放置在出生点,请确保出生点完全安全* - *副作用:恢复完成后玩家会被放置在出生点,请确保出生点完全安全*
- `commandPlayer <permissionType>`:设置player命令权限类型 - `commandPlayer <permissionType>`:设置player命令权限类型
### 管理员
- 使用`/function admin.fzsd:admin`命令管理(安装、卸载等)各模块
### 其他 ### 其他
- 见游戏内交互器按钮 - 见游戏内交互器按钮
## 开发者相关 ## 开发者相关
@@ -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.7'}}
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": "放置了实体方块"}]
@@ -30,7 +30,4 @@ 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_pickaxe scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.wooden_pickaxe
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
@@ -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 [{"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
@@ -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,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 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,7 @@
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"nbt": "{Item:{id:\"minecraft:minecart\"}}"
}
}
@@ -1,6 +1,6 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"fzsd:module/health/try_load" "fzsd:game_event/install"
] ]
} }
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:game_event/player/on_broke_block_with_tool/calculate_dig_score"
]
}
@@ -1,6 +1,5 @@
{ {
"replace": false, "replace": false,
"values": [ "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"
]
}
@@ -1,6 +1,7 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"fzsd:game_event/player/on_broke_block_with_tool/on_used_tool" "#fzsd:game_event/player/on_broke_block_with_tool/calculate_dig_score",
"fzsd:game_event/player/on_broke_block_with_tool/try_trigger"
] ]
} }
@@ -1,6 +1,6 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"fzsd:module/interactor/try_load" "fzsd:game_event/uninstall"
] ]
} }
@@ -1,6 +1,6 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"fzsd:module/scoreboard/try_load" "fzsd:logger/install"
] ]
} }
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:logger/uninstall"
]
}
@@ -6,6 +6,7 @@
"#fzsd:module/here/interactor/on_click", "#fzsd:module/here/interactor/on_click",
"#fzsd:module/last_death/interactor/on_click", "#fzsd:module/last_death/interactor/on_click",
"#fzsd:module/last_nether_portal/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/here/interactor/display",
"#fzsd:module/last_death/interactor/display", "#fzsd:module/last_death/interactor/display",
"#fzsd:module/last_nether_portal/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, "replace": false,
"values": [ "values": [
"#fzsd:module/interactor/display", "#fzsd:module/interactor/event/on_display",
"#fzsd:module/interactor/reset_trigger" "#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"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"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"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"fzsd:module/sweeper/clear"
]
}
@@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"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_death/install",
"#fzsd:module/last_nether_portal/install", "#fzsd:module/last_nether_portal/install",
"#fzsd:module/last_spawn_point/install", "#fzsd:module/last_spawn_point/install",
"#fzsd:module/scoreboard/install" "#fzsd:module/scoreboard/install",
"#fzsd:module/sweeper/install"
] ]
} }
@@ -1,6 +1,14 @@
{ {
"replace": false, "replace": false,
"values": [ "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"
] ]
} }
@@ -2,7 +2,7 @@
"replace": false, "replace": false,
"values": [ "values": [
"fzsd:system/install/install", "fzsd:system/install/install",
"fzsd:logger/install", "#fzsd:logger/install",
"fzsd:game_event/install" "#fzsd:game_event/install"
] ]
} }

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