实现交互按钮

This commit is contained in:
延皓
2022-07-19 20:53:53 +08:00
parent 7b2136c282
commit 90a4a61855
118 changed files with 378 additions and 252 deletions
@@ -0,0 +1,3 @@
# 本目录用于存放向事件中注册的函数,并不用来新建事件
execute if entity @s[x_rotation = -90] run function #fz:module/interactor/on_interact
@@ -0,0 +1,7 @@
scoreboard objectives add fz.module.interactor.trigger trigger
##
data modify storage fz:installed fz.module.interactor set value 1b
##
execute if score fz.logger.level fz.variable.integer matches ..500 run tellraw @a [{"nbt": "fz.level.info", "interpret": true, "storage": "fz:logger"}, {"text": "已安装组件:配置"}]
@@ -0,0 +1,5 @@
schedule clear fz:module/interactor/loop
execute as @a run function #fz:module/interactor/reset_trigger
##
execute if score fz.logger.level fz.variable.integer matches ..500 run tellraw @a [{"nbt": "fz.level.info", "interpret": true, "storage": "fz:logger"}, {"text": "已加载组件:配置"}]
@@ -0,0 +1,6 @@
# 调用者:fz:module/interactor/trigger
## 0
execute as @a if score @s fz.module.interactor.trigger matches 1.. run function #fz:module/interactor/on_click/on_click
schedule function fz:module/interactor/loop 1t replace
@@ -0,0 +1,4 @@
# 调用者:#fz:module/interactor/on_click
##
execute if score fz.logger.level fz.variable.integer matches ..400 run tellraw @a [{"nbt": "fz.level.debug", "interpret": true, "storage": "fz:logger"}, {"text": "玩家"}, {"selector": "@s"}, {"text": "点击了配置按钮,触发器分数为:"}, {"score": {"name": "@s", "objective": "fz.module.interactor.trigger"}}]
@@ -0,0 +1,2 @@
##
execute if score fz.logger.level fz.variable.integer matches ..400 run tellraw @a [{"nbt": "fz.level.debug", "interpret": true, "storage": "fz:logger"}, {"text": "玩家"}, {"selector": "@s"}, {"text": "触发了配置页面"}]
@@ -0,0 +1,2 @@
##
schedule function #fz:module/interactor/timeout 300s replace
@@ -0,0 +1,7 @@
# 调用者:#fz:module/interactor/reset_trigger
scoreboard players reset @s fz.module.interactor.trigger
scoreboard players enable @s fz.module.interactor.trigger
##
execute if score fz.logger.level fz.variable.integer matches ..400 run tellraw @a [{"nbt": "fz.level.debug", "interpret": true, "storage": "fz:logger"}, {"text": "已重置玩家"}, {"selector": "@s"}, {"text": "的触发器分数"}]
@@ -0,0 +1,4 @@
schedule clear fz:module/interactor/loop
##
execute if score fz.logger.level fz.variable.integer matches ..500 run tellraw @a [{"nbt": "fz.level.info", "interpret": true, "storage": "fz:logger"}, {"text": "五分钟无人回应,已关闭配置按钮监听,再次使用时需重新唤起"}]
@@ -0,0 +1,9 @@
schedule clear fz:module/interactor/loop
scoreboard objectives remove fz.module.interactor.trigger
##
data modify storage fz:installed fz.module.interactor set value 0b
##
execute if score fz.logger.level fz.variable.integer matches ..500 run tellraw @a [{"nbt": "fz.level.info", "interpret": true, "storage": "fz:logger"}, {"text": "已卸载组件:配置"}]