support mc1.21;需要放弃支持mc1.20
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
execute if data storage fzsd:install fzsd.module{interactor: 1b} run function fzsd:module/interactor/event/on_click
|
||||
|
||||
function #fzsd:module/interactor/reset_trigger
|
||||
## 重置进度
|
||||
advancement revoke @s only fzsd:module/interactor/on_click
|
||||
@@ -0,0 +1,4 @@
|
||||
## 运行事件
|
||||
function #fzsd:module/interactor/event/on_click
|
||||
## 触发器分数为正数时重新显示交互器按钮,为负数时不显示
|
||||
execute if score @s fzsd.module.interactor.trigger matches 1.. run function #fzsd:module/interactor/event/on_display
|
||||
@@ -0,0 +1,3 @@
|
||||
# 本目录用于存放向事件中注册的函数,并不用来新建事件
|
||||
|
||||
execute if data storage fzsd:install fzsd.module{interactor: 1b} if entity @s[tag=!fzsd.ignore_interactor_headup_sneak, 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:install 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:install fzsd.module{interactor:1b} run tellraw @s {"text": "交互器:"}
|
||||
|
||||
execute if data storage fzsd:install fzsd.module{interactor:1b} if entity @s[tag=!fzsd.ignore_interactor_headup_sneak] 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:install fzsd.module{interactor:1b} if entity @s[tag=fzsd.ignore_interactor_headup_sneak] 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,7 @@
|
||||
# 调用者:#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 tag @s add fzsd.ignore_interactor_headup_sneak
|
||||
execute if score @s fzsd.module.interactor.trigger matches 910 run tag @s remove fzsd.ignore_interactor_headup_sneak
|
||||
@@ -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 @@
|
||||
execute unless data storage fzsd:install fzsd.module{interactor:0b} run function #fzsd:module/interactor/install
|
||||
@@ -0,0 +1,2 @@
|
||||
## 判断是否安装,如果安装则加载
|
||||
execute if data storage fzsd:install fzsd.module{interactor:1b} run function #fzsd:module/interactor/load
|
||||
@@ -0,0 +1,9 @@
|
||||
schedule clear fzsd:module/interactor/loop
|
||||
|
||||
scoreboard objectives remove fzsd.module.interactor.trigger
|
||||
|
||||
## 标记为已卸载
|
||||
data modify storage fzsd:install 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