From 010ba03f418520038e8bd558cdf090a2017582b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BB=B6=E7=9A=93?= <8511461+harvey-husky@user.noreply.gitee.com> Date: Sun, 8 Jan 2023 08:00:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=AB=E5=9C=B0=E6=9C=BA~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/fzsd/functions/boot.mcfunction | 2 +- .../module/health/try_install.mcfunction | 1 + .../functions/module/here/try_install.mcfunction | 1 + .../module/interactor/event/on_click.mcfunction | 2 +- .../module/interactor/try_install.mcfunction | 1 + .../module/join_message/try_install.mcfunction | 1 + .../last_nether_portal/try_install.mcfunction | 1 + .../last_spawn_point/try_install.mcfunction | 1 + .../scoreboard/interactor/display.mcfunction | 2 +- .../module/scoreboard/try_install.mcfunction | 2 ++ .../functions/module/sweeper/bossbar.mcfunction | 4 ++++ .../functions/module/sweeper/clear.mcfunction | 15 +++++++++++++++ .../functions/module/sweeper/install.mcfunction | 8 ++++++++ .../module/sweeper/interactor/display.mcfunction | 2 ++ .../sweeper/interactor/display_0.mcfunction | 12 ++++++++++++ .../module/sweeper/interactor/on_click.mcfunction | 9 +++++++++ .../fzsd/functions/module/sweeper/load.mcfunction | 4 ++++ .../fzsd/functions/module/sweeper/main.mcfunction | 3 +++ .../functions/module/sweeper/post_loop.mcfunction | 6 ++++++ .../module/sweeper/start_timer.mcfunction | 7 +++++++ .../functions/module/sweeper/sweep.mcfunction | 3 +++ .../functions/module/sweeper/timer/10s.mcfunction | 5 +++++ .../module/sweeper/timer/1min.mcfunction | 5 +++++ .../functions/module/sweeper/timer/1s.mcfunction | 4 ++++ .../module/sweeper/timer/2min.mcfunction | 5 +++++ .../functions/module/sweeper/timer/2s.mcfunction | 4 ++++ .../functions/module/sweeper/timer/30s.mcfunction | 5 +++++ .../module/sweeper/timer/3min.mcfunction | 5 +++++ .../functions/module/sweeper/timer/3s.mcfunction | 4 ++++ .../module/sweeper/timer/4min.mcfunction | 5 +++++ .../functions/module/sweeper/timer/4s.mcfunction | 4 ++++ .../functions/module/sweeper/timer/5s.mcfunction | 5 +++++ .../module/sweeper/try_install.mcfunction | 1 + .../functions/module/sweeper/try_load.mcfunction | 2 ++ .../functions/module/sweeper/uninstall.mcfunction | 7 +++++++ data/fzsd/functions/module/try_install.mcfunction | 11 ----------- data/fzsd/functions/system/load/load.mcfunction | 1 + data/fzsd/predicates/sweeper/whitelist.json | 7 +++++++ .../module/interactor/event/on_click.json | 3 ++- .../{display.json => event/on_display.json} | 3 ++- .../interactor/event/on_start_interact.json | 2 +- .../functions/module/interactor/try_load.json | 6 ------ .../functions/module/scoreboard/try_load.json | 6 ------ .../tags/functions/module/sweeper/install.json | 7 +++++++ .../module/sweeper/interactor/display.json | 6 ++++++ .../module/sweeper/interactor/on_click.json | 6 ++++++ .../install.json => sweeper/load.json} | 1 + .../tags/functions/module/sweeper/start_loop.json | 9 +++++++++ .../uninstall.json => sweeper/stop_loop.json} | 1 + .../{health/try_load.json => sweeper/sweep.json} | 2 +- .../tags/functions/module/sweeper/uninstall.json | 7 +++++++ data/fzsd/tags/functions/module/try_install.json | 7 ------- data/fzsd/tags/functions/module/try_load.json | 9 --------- .../functions/system/install/module/force.json | 4 ++-- .../tags/functions/system/install/module/try.json | 9 ++++++++- .../tags/functions/system/load/module/try.json | 5 ++++- .../tags/functions/system/uninstall/module.json | 4 ++-- 57 files changed, 212 insertions(+), 52 deletions(-) create mode 100644 data/fzsd/functions/module/health/try_install.mcfunction create mode 100644 data/fzsd/functions/module/here/try_install.mcfunction create mode 100644 data/fzsd/functions/module/interactor/try_install.mcfunction create mode 100644 data/fzsd/functions/module/join_message/try_install.mcfunction create mode 100644 data/fzsd/functions/module/last_nether_portal/try_install.mcfunction create mode 100644 data/fzsd/functions/module/last_spawn_point/try_install.mcfunction create mode 100644 data/fzsd/functions/module/scoreboard/try_install.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/bossbar.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/clear.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/install.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/interactor/display.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/interactor/display_0.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/interactor/on_click.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/load.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/main.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/post_loop.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/start_timer.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/sweep.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/timer/10s.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/timer/1min.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/timer/1s.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/timer/2min.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/timer/2s.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/timer/30s.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/timer/3min.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/timer/3s.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/timer/4min.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/timer/4s.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/timer/5s.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/try_install.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/try_load.mcfunction create mode 100644 data/fzsd/functions/module/sweeper/uninstall.mcfunction delete mode 100644 data/fzsd/functions/module/try_install.mcfunction create mode 100644 data/fzsd/predicates/sweeper/whitelist.json rename data/fzsd/tags/functions/module/interactor/{display.json => event/on_display.json} (76%) delete mode 100644 data/fzsd/tags/functions/module/interactor/try_load.json delete mode 100644 data/fzsd/tags/functions/module/scoreboard/try_load.json create mode 100644 data/fzsd/tags/functions/module/sweeper/install.json create mode 100644 data/fzsd/tags/functions/module/sweeper/interactor/display.json create mode 100644 data/fzsd/tags/functions/module/sweeper/interactor/on_click.json rename data/fzsd/tags/functions/module/{last_death/install.json => sweeper/load.json} (57%) create mode 100644 data/fzsd/tags/functions/module/sweeper/start_loop.json rename data/fzsd/tags/functions/module/{last_death/uninstall.json => sweeper/stop_loop.json} (56%) rename data/fzsd/tags/functions/module/{health/try_load.json => sweeper/sweep.json} (55%) create mode 100644 data/fzsd/tags/functions/module/sweeper/uninstall.json delete mode 100644 data/fzsd/tags/functions/module/try_install.json delete mode 100644 data/fzsd/tags/functions/module/try_load.json diff --git a/data/fzsd/functions/boot.mcfunction b/data/fzsd/functions/boot.mcfunction index 9f181e8..ec55bcd 100644 --- a/data/fzsd/functions/boot.mcfunction +++ b/data/fzsd/functions/boot.mcfunction @@ -1,4 +1,4 @@ -execute store success storage fzsd:version fzsd.need_update int 1 run data merge storage fzsd:version {fzsd: {version: '3.0.5'}} +execute store success storage fzsd:version fzsd.need_update int 1 run data merge storage fzsd:version {fzsd: {version: '3.0.7'}} execute if data storage fzsd:version fzsd{need_update: 1} run function fzsd:system/update function fzsd:system/carpet/try_load_fzsd_score function #fzsd:load diff --git a/data/fzsd/functions/module/health/try_install.mcfunction b/data/fzsd/functions/module/health/try_install.mcfunction new file mode 100644 index 0000000..39eba3e --- /dev/null +++ b/data/fzsd/functions/module/health/try_install.mcfunction @@ -0,0 +1 @@ +execute unless data storage fzsd:install fzsd.module{health:0b} run function #fzsd:module/health/install \ No newline at end of file diff --git a/data/fzsd/functions/module/here/try_install.mcfunction b/data/fzsd/functions/module/here/try_install.mcfunction new file mode 100644 index 0000000..55a1301 --- /dev/null +++ b/data/fzsd/functions/module/here/try_install.mcfunction @@ -0,0 +1 @@ +execute unless data storage fzsd:install fzsd.module{here:0b} run function #fzsd:module/here/install \ No newline at end of file diff --git a/data/fzsd/functions/module/interactor/event/on_click.mcfunction b/data/fzsd/functions/module/interactor/event/on_click.mcfunction index 21416c8..934993d 100644 --- a/data/fzsd/functions/module/interactor/event/on_click.mcfunction +++ b/data/fzsd/functions/module/interactor/event/on_click.mcfunction @@ -1,4 +1,4 @@ ## 运行事件 function #fzsd:module/interactor/event/on_click ## 触发器分数为正数时重新显示交互器按钮,为负数时不显示 -execute if score @s fzsd.module.interactor.trigger matches 1.. run function #fzsd:module/interactor/display \ No newline at end of file +execute if score @s fzsd.module.interactor.trigger matches 1.. run function #fzsd:module/interactor/event/on_display \ No newline at end of file diff --git a/data/fzsd/functions/module/interactor/try_install.mcfunction b/data/fzsd/functions/module/interactor/try_install.mcfunction new file mode 100644 index 0000000..021ecf7 --- /dev/null +++ b/data/fzsd/functions/module/interactor/try_install.mcfunction @@ -0,0 +1 @@ +execute unless data storage fzsd:install fzsd.module{interactor:0b} run function #fzsd:module/interactor/install \ No newline at end of file diff --git a/data/fzsd/functions/module/join_message/try_install.mcfunction b/data/fzsd/functions/module/join_message/try_install.mcfunction new file mode 100644 index 0000000..b054a47 --- /dev/null +++ b/data/fzsd/functions/module/join_message/try_install.mcfunction @@ -0,0 +1 @@ +execute unless data storage fzsd:install fzsd.module{join_message:0b} run function #fzsd:module/join_message/install diff --git a/data/fzsd/functions/module/last_nether_portal/try_install.mcfunction b/data/fzsd/functions/module/last_nether_portal/try_install.mcfunction new file mode 100644 index 0000000..432d8ef --- /dev/null +++ b/data/fzsd/functions/module/last_nether_portal/try_install.mcfunction @@ -0,0 +1 @@ +execute unless data storage fzsd:install fzsd.module{last_nether_portal:0b} run function #fzsd:module/last_nether_portal/install diff --git a/data/fzsd/functions/module/last_spawn_point/try_install.mcfunction b/data/fzsd/functions/module/last_spawn_point/try_install.mcfunction new file mode 100644 index 0000000..b431baf --- /dev/null +++ b/data/fzsd/functions/module/last_spawn_point/try_install.mcfunction @@ -0,0 +1 @@ +execute unless data storage fzsd:install fzsd.module{last_spawn_point:0b} run function #fzsd:module/last_spawn_point/install diff --git a/data/fzsd/functions/module/scoreboard/interactor/display.mcfunction b/data/fzsd/functions/module/scoreboard/interactor/display.mcfunction index e00e4cb..b0778c2 100644 --- a/data/fzsd/functions/module/scoreboard/interactor/display.mcfunction +++ b/data/fzsd/functions/module/scoreboard/interactor/display.mcfunction @@ -2,4 +2,4 @@ execute if data storage fzsd:install fzsd.module{scoreboard:1b} run tellraw @s {"text": "计分板:"} -execute if data storage fzsd:install fzsd.module{scoreboard:1b} run tellraw @s [[{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "contents": {"text": "关", "color": "dark_red"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1000"}}, {"text": "关", "color": "dark_red"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1010"}}, {"nbt": "fzsd.scoreboard.text.carousel", "interpret": true, "storage": "fzsd:module"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.general", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1020"}}, {"nbt": "fzsd.scoreboard.text.general", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.activation", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1030"}}, {"nbt": "fzsd.scoreboard.text.activation", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.aviating_distance", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1040"}}, {"nbt": "fzsd.scoreboard.text.aviating_distance", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.damage_taken", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1050"}}, {"nbt": "fzsd.scoreboard.text.damage_taken", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.death_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1060"}}, {"nbt": "fzsd.scoreboard.text.death_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.dig_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1070"}}, {"nbt": "fzsd.scoreboard.text.dig_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.fishing_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1080"}}, {"nbt": "fzsd.scoreboard.text.fishing_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.kill_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1090"}}, {"nbt": "fzsd.scoreboard.text.kill_count", "interpret": true, "storage": "fzsd:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.trade_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1100"}}, {"nbt": "fzsd.scoreboard.text.trade_count", "interpret": true, "storage": "fzsd:module"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fzsd.scoreboard.text.placement_count", "interpret": true, "storage": "fzsd:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set -1200"}}, {"nbt": "fzsd.scoreboard.text.placement_count", "interpret": true, "storage": "fzsd:module"}, {"text": "]"}]] \ No newline at end of file +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": "]"}]] \ No newline at end of file diff --git a/data/fzsd/functions/module/scoreboard/try_install.mcfunction b/data/fzsd/functions/module/scoreboard/try_install.mcfunction new file mode 100644 index 0000000..7a18d0f --- /dev/null +++ b/data/fzsd/functions/module/scoreboard/try_install.mcfunction @@ -0,0 +1,2 @@ + +execute unless data storage fzsd:install fzsd.module{scoreboard:0b} run function #fzsd:module/scoreboard/install \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/bossbar.mcfunction b/data/fzsd/functions/module/sweeper/bossbar.mcfunction new file mode 100644 index 0000000..bb05be0 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/bossbar.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/clear.mcfunction b/data/fzsd/functions/module/sweeper/clear.mcfunction new file mode 100644 index 0000000..12f5a12 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/clear.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/install.mcfunction b/data/fzsd/functions/module/sweeper/install.mcfunction new file mode 100644 index 0000000..aa3940e --- /dev/null +++ b/data/fzsd/functions/module/sweeper/install.mcfunction @@ -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": "已安装组件:扫地机"}] \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/interactor/display.mcfunction b/data/fzsd/functions/module/sweeper/interactor/display.mcfunction new file mode 100644 index 0000000..b9ba3b7 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/interactor/display.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/interactor/display_0.mcfunction b/data/fzsd/functions/module/sweeper/interactor/display_0.mcfunction new file mode 100644 index 0000000..27a4184 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/interactor/display_0.mcfunction @@ -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": "]"}]] \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/interactor/on_click.mcfunction b/data/fzsd/functions/module/sweeper/interactor/on_click.mcfunction new file mode 100644 index 0000000..4f9b385 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/interactor/on_click.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/load.mcfunction b/data/fzsd/functions/module/sweeper/load.mcfunction new file mode 100644 index 0000000..1195762 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/load.mcfunction @@ -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": "已加载组件:扫地机"}] \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/main.mcfunction b/data/fzsd/functions/module/sweeper/main.mcfunction new file mode 100644 index 0000000..8f28021 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/main.mcfunction @@ -0,0 +1,3 @@ +bossbar set fzsd:sweeper value 0 +function #fzsd:module/sweeper/sweep +function fzsd:module/sweeper/start_timer \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/post_loop.mcfunction b/data/fzsd/functions/module/sweeper/post_loop.mcfunction new file mode 100644 index 0000000..4bf3b67 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/post_loop.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/start_timer.mcfunction b/data/fzsd/functions/module/sweeper/start_timer.mcfunction new file mode 100644 index 0000000..4748291 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/start_timer.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/sweep.mcfunction b/data/fzsd/functions/module/sweeper/sweep.mcfunction new file mode 100644 index 0000000..364545c --- /dev/null +++ b/data/fzsd/functions/module/sweeper/sweep.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/timer/10s.mcfunction b/data/fzsd/functions/module/sweeper/timer/10s.mcfunction new file mode 100644 index 0000000..9ad9aeb --- /dev/null +++ b/data/fzsd/functions/module/sweeper/timer/10s.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/timer/1min.mcfunction b/data/fzsd/functions/module/sweeper/timer/1min.mcfunction new file mode 100644 index 0000000..567655f --- /dev/null +++ b/data/fzsd/functions/module/sweeper/timer/1min.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/timer/1s.mcfunction b/data/fzsd/functions/module/sweeper/timer/1s.mcfunction new file mode 100644 index 0000000..1694865 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/timer/1s.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/timer/2min.mcfunction b/data/fzsd/functions/module/sweeper/timer/2min.mcfunction new file mode 100644 index 0000000..8f753f7 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/timer/2min.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/timer/2s.mcfunction b/data/fzsd/functions/module/sweeper/timer/2s.mcfunction new file mode 100644 index 0000000..a124da9 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/timer/2s.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/timer/30s.mcfunction b/data/fzsd/functions/module/sweeper/timer/30s.mcfunction new file mode 100644 index 0000000..5927eb4 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/timer/30s.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/timer/3min.mcfunction b/data/fzsd/functions/module/sweeper/timer/3min.mcfunction new file mode 100644 index 0000000..b81944f --- /dev/null +++ b/data/fzsd/functions/module/sweeper/timer/3min.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/timer/3s.mcfunction b/data/fzsd/functions/module/sweeper/timer/3s.mcfunction new file mode 100644 index 0000000..74b3afe --- /dev/null +++ b/data/fzsd/functions/module/sweeper/timer/3s.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/timer/4min.mcfunction b/data/fzsd/functions/module/sweeper/timer/4min.mcfunction new file mode 100644 index 0000000..0f52caf --- /dev/null +++ b/data/fzsd/functions/module/sweeper/timer/4min.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/timer/4s.mcfunction b/data/fzsd/functions/module/sweeper/timer/4s.mcfunction new file mode 100644 index 0000000..d7dddd2 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/timer/4s.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/timer/5s.mcfunction b/data/fzsd/functions/module/sweeper/timer/5s.mcfunction new file mode 100644 index 0000000..47e2149 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/timer/5s.mcfunction @@ -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 \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/try_install.mcfunction b/data/fzsd/functions/module/sweeper/try_install.mcfunction new file mode 100644 index 0000000..715becf --- /dev/null +++ b/data/fzsd/functions/module/sweeper/try_install.mcfunction @@ -0,0 +1 @@ +execute unless data storage fzsd:install fzsd.module{sweeper:0b} run function #fzsd:module/sweeper/install \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/try_load.mcfunction b/data/fzsd/functions/module/sweeper/try_load.mcfunction new file mode 100644 index 0000000..5a88bcc --- /dev/null +++ b/data/fzsd/functions/module/sweeper/try_load.mcfunction @@ -0,0 +1,2 @@ +## 判断是否安装,如果安装则加载 +execute if data storage fzsd:install fzsd.module{sweeper:1b} run function #fzsd:module/sweeper/load \ No newline at end of file diff --git a/data/fzsd/functions/module/sweeper/uninstall.mcfunction b/data/fzsd/functions/module/sweeper/uninstall.mcfunction new file mode 100644 index 0000000..788b452 --- /dev/null +++ b/data/fzsd/functions/module/sweeper/uninstall.mcfunction @@ -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": "已卸载组件:扫地机"}] \ No newline at end of file diff --git a/data/fzsd/functions/module/try_install.mcfunction b/data/fzsd/functions/module/try_install.mcfunction deleted file mode 100644 index 0a3278e..0000000 --- a/data/fzsd/functions/module/try_install.mcfunction +++ /dev/null @@ -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 diff --git a/data/fzsd/functions/system/load/load.mcfunction b/data/fzsd/functions/system/load/load.mcfunction index 9cbc1cc..bcb3016 100644 --- a/data/fzsd/functions/system/load/load.mcfunction +++ b/data/fzsd/functions/system/load/load.mcfunction @@ -1,4 +1,5 @@ ## 常量 +scoreboard players set -1 fzsd.variable.integer -1 scoreboard players set 10 fzsd.variable.integer 10 scoreboard players set 200 fzsd.variable.integer 200 scoreboard players set 72000 fzsd.variable.integer 72000 \ No newline at end of file diff --git a/data/fzsd/predicates/sweeper/whitelist.json b/data/fzsd/predicates/sweeper/whitelist.json new file mode 100644 index 0000000..572afc0 --- /dev/null +++ b/data/fzsd/predicates/sweeper/whitelist.json @@ -0,0 +1,7 @@ +{ + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Item:{id:\"minecraft:minecart\"}}" + } +} \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/interactor/event/on_click.json b/data/fzsd/tags/functions/module/interactor/event/on_click.json index 3701e08..f2b56c3 100644 --- a/data/fzsd/tags/functions/module/interactor/event/on_click.json +++ b/data/fzsd/tags/functions/module/interactor/event/on_click.json @@ -5,6 +5,7 @@ "#fzsd:module/scoreboard/interactor/on_click", "#fzsd:module/here/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" ] } \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/interactor/display.json b/data/fzsd/tags/functions/module/interactor/event/on_display.json similarity index 76% rename from data/fzsd/tags/functions/module/interactor/display.json rename to data/fzsd/tags/functions/module/interactor/event/on_display.json index 35790fb..6c5bc19 100644 --- a/data/fzsd/tags/functions/module/interactor/display.json +++ b/data/fzsd/tags/functions/module/interactor/event/on_display.json @@ -6,6 +6,7 @@ "#fzsd:module/scoreboard/interactor/display", "#fzsd:module/here/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" ] } \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/interactor/event/on_start_interact.json b/data/fzsd/tags/functions/module/interactor/event/on_start_interact.json index c94e1b6..a96258a 100644 --- a/data/fzsd/tags/functions/module/interactor/event/on_start_interact.json +++ b/data/fzsd/tags/functions/module/interactor/event/on_start_interact.json @@ -1,7 +1,7 @@ { "replace": false, "values": [ - "#fzsd:module/interactor/display", + "#fzsd:module/interactor/event/on_display", "#fzsd:module/interactor/reset_trigger" ] } \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/interactor/try_load.json b/data/fzsd/tags/functions/module/interactor/try_load.json deleted file mode 100644 index 13eca8f..0000000 --- a/data/fzsd/tags/functions/module/interactor/try_load.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "fzsd:module/interactor/try_load" - ] -} \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/scoreboard/try_load.json b/data/fzsd/tags/functions/module/scoreboard/try_load.json deleted file mode 100644 index 0236037..0000000 --- a/data/fzsd/tags/functions/module/scoreboard/try_load.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "fzsd:module/scoreboard/try_load" - ] -} \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/sweeper/install.json b/data/fzsd/tags/functions/module/sweeper/install.json new file mode 100644 index 0000000..dbe11c5 --- /dev/null +++ b/data/fzsd/tags/functions/module/sweeper/install.json @@ -0,0 +1,7 @@ +{ + "__comment": "调用者:#fzsd:module/install", + "replace": false, + "values": [ + "fzsd:module/sweeper/install" + ] +} \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/sweeper/interactor/display.json b/data/fzsd/tags/functions/module/sweeper/interactor/display.json new file mode 100644 index 0000000..eebeaf0 --- /dev/null +++ b/data/fzsd/tags/functions/module/sweeper/interactor/display.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "fzsd:module/sweeper/interactor/display" + ] +} \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/sweeper/interactor/on_click.json b/data/fzsd/tags/functions/module/sweeper/interactor/on_click.json new file mode 100644 index 0000000..b64fff0 --- /dev/null +++ b/data/fzsd/tags/functions/module/sweeper/interactor/on_click.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "fzsd:module/sweeper/interactor/on_click" + ] +} \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/last_death/install.json b/data/fzsd/tags/functions/module/sweeper/load.json similarity index 57% rename from data/fzsd/tags/functions/module/last_death/install.json rename to data/fzsd/tags/functions/module/sweeper/load.json index a1dc310..2baaee6 100644 --- a/data/fzsd/tags/functions/module/last_death/install.json +++ b/data/fzsd/tags/functions/module/sweeper/load.json @@ -1,5 +1,6 @@ { "replace": false, "values": [ + "fzsd:module/sweeper/load" ] } \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/sweeper/start_loop.json b/data/fzsd/tags/functions/module/sweeper/start_loop.json new file mode 100644 index 0000000..2ce888d --- /dev/null +++ b/data/fzsd/tags/functions/module/sweeper/start_loop.json @@ -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" + ] +} \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/last_death/uninstall.json b/data/fzsd/tags/functions/module/sweeper/stop_loop.json similarity index 56% rename from data/fzsd/tags/functions/module/last_death/uninstall.json rename to data/fzsd/tags/functions/module/sweeper/stop_loop.json index a1dc310..e8f6faa 100644 --- a/data/fzsd/tags/functions/module/last_death/uninstall.json +++ b/data/fzsd/tags/functions/module/sweeper/stop_loop.json @@ -1,5 +1,6 @@ { "replace": false, "values": [ + "fzsd:module/sweeper/clear" ] } \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/health/try_load.json b/data/fzsd/tags/functions/module/sweeper/sweep.json similarity index 55% rename from data/fzsd/tags/functions/module/health/try_load.json rename to data/fzsd/tags/functions/module/sweeper/sweep.json index 717bae1..800ef13 100644 --- a/data/fzsd/tags/functions/module/health/try_load.json +++ b/data/fzsd/tags/functions/module/sweeper/sweep.json @@ -1,6 +1,6 @@ { "replace": false, "values": [ - "fzsd:module/health/try_load" + "fzsd:module/sweeper/sweep" ] } \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/sweeper/uninstall.json b/data/fzsd/tags/functions/module/sweeper/uninstall.json new file mode 100644 index 0000000..a16fac5 --- /dev/null +++ b/data/fzsd/tags/functions/module/sweeper/uninstall.json @@ -0,0 +1,7 @@ +{ + "__comment": "调用者:#fzsd:module/uninstall", + "replace": false, + "values": [ + "fzsd:module/sweeper/uninstall" + ] +} \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/try_install.json b/data/fzsd/tags/functions/module/try_install.json deleted file mode 100644 index 191680a..0000000 --- a/data/fzsd/tags/functions/module/try_install.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "__comment": "调用者:fzsd:load", - "replace": false, - "values": [ - "fzsd:module/try_install" - ] -} \ No newline at end of file diff --git a/data/fzsd/tags/functions/module/try_load.json b/data/fzsd/tags/functions/module/try_load.json deleted file mode 100644 index 53a3ee1..0000000 --- a/data/fzsd/tags/functions/module/try_load.json +++ /dev/null @@ -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" - ] -} \ No newline at end of file diff --git a/data/fzsd/tags/functions/system/install/module/force.json b/data/fzsd/tags/functions/system/install/module/force.json index e82877b..ffd60b5 100644 --- a/data/fzsd/tags/functions/system/install/module/force.json +++ b/data/fzsd/tags/functions/system/install/module/force.json @@ -4,9 +4,9 @@ "#fzsd:module/health/install", "#fzsd:module/here/install", "#fzsd:module/interactor/install", - "#fzsd:module/last_death/install", "#fzsd:module/last_nether_portal/install", "#fzsd:module/last_spawn_point/install", - "#fzsd:module/scoreboard/install" + "#fzsd:module/scoreboard/install", + "#fzsd:module/sweeper/install" ] } \ No newline at end of file diff --git a/data/fzsd/tags/functions/system/install/module/try.json b/data/fzsd/tags/functions/system/install/module/try.json index 6970b3e..ba0302b 100644 --- a/data/fzsd/tags/functions/system/install/module/try.json +++ b/data/fzsd/tags/functions/system/install/module/try.json @@ -1,6 +1,13 @@ { "replace": false, "values": [ - "#fzsd:module/try_install" + "fzsd:module/health/try_install", + "fzsd:module/here/try_install", + "fzsd:module/interactor/try_install", + "fzsd:module/join_message/try_install", + "fzsd:module/last_nether_portal/try_install", + "fzsd:module/last_spawn_point/try_install", + "fzsd:module/scoreboard/try_install", + "fzsd:module/sweeper/try_install" ] } \ No newline at end of file diff --git a/data/fzsd/tags/functions/system/load/module/try.json b/data/fzsd/tags/functions/system/load/module/try.json index 9b259b1..6ea30a1 100644 --- a/data/fzsd/tags/functions/system/load/module/try.json +++ b/data/fzsd/tags/functions/system/load/module/try.json @@ -1,6 +1,9 @@ { "replace": false, "values": [ - "#fzsd:module/try_load" + "fzsd:module/health/try_load", + "fzsd:module/interactor/try_load", + "fzsd:module/scoreboard/try_load", + "fzsd:module/sweeper/try_load" ] } \ No newline at end of file diff --git a/data/fzsd/tags/functions/system/uninstall/module.json b/data/fzsd/tags/functions/system/uninstall/module.json index 9003747..40f86e5 100644 --- a/data/fzsd/tags/functions/system/uninstall/module.json +++ b/data/fzsd/tags/functions/system/uninstall/module.json @@ -5,9 +5,9 @@ "#fzsd:module/health/uninstall", "#fzsd:module/here/uninstall", "#fzsd:module/interactor/uninstall", - "#fzsd:module/last_death/uninstall", "#fzsd:module/last_nether_portal/uninstall", "#fzsd:module/last_spawn_point/uninstall", - "#fzsd:module/scoreboard/uninstall" + "#fzsd:module/scoreboard/uninstall", + "#fzsd:module/sweeper/uninstall" ] } \ No newline at end of file