完善所有剩余功能,后续bug修复后即准备发布正式版并向下移植
- 将命名空间改为“fzsd” - 完善交互器 - 添加管理员命令(/function admin.fzsd:<...>) - 添加启动函数,用于自动升级等功能 - 添加重装、深度安装、深度卸载、深度重装函数
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
## 运行事件
|
||||
function #fzsd:module/interactor/event/on_click
|
||||
## 触发器分数为正数时重新显示交互器按钮,为负数时不显示
|
||||
execute if score @s fzsd.module.interactor.trigger matches 1.. run function #fzsd:module/interactor/display
|
||||
function #fzsd:module/interactor/reset_trigger
|
||||
## 重置进度
|
||||
advancement revoke @s only fzsd:module/interactor/on_click
|
||||
@@ -0,0 +1,3 @@
|
||||
# 本目录用于存放向事件中注册的函数,并不用来新建事件
|
||||
|
||||
execute unless score @s fzsd.module.interactor.player.config matches -1 if entity @s[x_rotation = -90] run function #fzsd:module/interactor/event/on_start_interact
|
||||
@@ -0,0 +1,4 @@
|
||||
## 调试
|
||||
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": "重置了交互器事件进度"}]
|
||||
|
||||
advancement revoke @s from fzsd:module/interactor/on_click
|
||||
@@ -0,0 +1,8 @@
|
||||
scoreboard objectives add fzsd.module.interactor.trigger trigger
|
||||
scoreboard objectives add fzsd.module.interactor.player.config dummy
|
||||
|
||||
## 标记为已安装
|
||||
data modify storage fzsd:installed fzsd.module.interactor 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,7 @@
|
||||
## 调试
|
||||
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 data storage fzsd:installed fzsd.module{last_death:1b} run tellraw @s {"text": "交互器打开方式:"}
|
||||
|
||||
execute if data storage fzsd:installed fzsd.module{last_death:1b} unless score @s fzsd.module.interactor.player.config matches -1 run tellraw @s [{"text": "- 抬头+蹲起:"}, [{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "value": "点击关闭"}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 900"}},{"text": "已开启", "color": "green"},{"text": "]"}]]
|
||||
execute if data storage fzsd:installed fzsd.module{last_death:1b} if score @s fzsd.module.interactor.player.config matches -1 run tellraw @s [{"text": "- 抬头+蹲起:"}, [{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "value": "点击开启"}, "clickEvent": {"action": "run_command", "value": "/trigger fzsd.module.interactor.trigger set 910"}},{"text": "已关闭", "color": "red"},{"text": "]"}]]
|
||||
@@ -0,0 +1,8 @@
|
||||
# 调用者:#fzsd:module/interactor/on_click
|
||||
|
||||
## 调试
|
||||
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": "的交互器分数为:"}, {"score": {"name": "@s", "objective": "fzsd.module.interactor.trigger"}}]
|
||||
|
||||
execute if score @s fzsd.module.interactor.trigger matches 900 run scoreboard players set @s fzsd.module.interactor.player.config -1
|
||||
|
||||
execute if score @s fzsd.module.interactor.trigger matches 910 run scoreboard players set @s fzsd.module.interactor.player.config 0
|
||||
@@ -0,0 +1,4 @@
|
||||
execute as @a run function #fzsd:module/interactor/reset_trigger
|
||||
|
||||
## 日志
|
||||
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,7 @@
|
||||
# 调用者:#fzsd:module/interactor/reset_trigger
|
||||
|
||||
scoreboard players set @s fzsd.module.interactor.trigger 0
|
||||
scoreboard players enable @s fzsd.module.interactor.trigger
|
||||
|
||||
## 调试
|
||||
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,9 @@
|
||||
schedule clear fzsd:module/interactor/loop
|
||||
|
||||
scoreboard objectives remove fzsd.module.interactor.trigger
|
||||
|
||||
## 标记为已卸载
|
||||
data modify storage fzsd:installed fzsd.module.interactor 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": "已卸载组件:配置"}]
|
||||
Reference in New Issue
Block a user