完善系统核心功能、添加here模块

This commit is contained in:
延皓
2022-07-08 09:18:06 +08:00
parent 4665599abb
commit 596ebd9d64
179 changed files with 391 additions and 328 deletions
@@ -0,0 +1,3 @@
# 本目录用于存放向事件中注册的函数,并不用来新建事件
execute if entity @s[x_rotation = -90] run function #fz:module/config/on_config
@@ -1,7 +1,7 @@
scoreboard objectives add fz.module.config.trigger trigger
##
data modify storage fz:install_manager fz.module.config set value 1b
data modify storage fz:installed fz.module.config 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": "已安装组件:配置"}]
@@ -1,7 +1,7 @@
# 调用者:fz:module/config/trigger
## 0
execute as @a if score @s fz.module.config.trigger matches 1.. run function #fz:event/module/config/on_click
execute as @a if score @s fz.module.config.trigger matches 1.. run function #fz:module/config/on_click
execute as @a if score @s fz.module.config.trigger matches 1.. run function #fz:module/config/reset_trigger
schedule function fz:module/config/loop 1t replace
@@ -3,7 +3,7 @@ schedule clear fz:module/config/loop
scoreboard objectives remove fz.module.config.trigger
##
data modify storage fz:install_manager fz.module.config set value 0b
data modify storage fz:installed fz.module.config 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": "已卸载组件:配置"}]
@@ -0,0 +1,5 @@
scoreboard objectives add fz.module.health health
scoreboard objectives modify fz.module.health rendertype hearts
##
data modify storage fz:installed fz.module.health set value 1b
@@ -0,0 +1,5 @@
function #fz:module/health/set_health_name
execute unless data storage fz:config fz.module.health.display{below_name: 0b} run scoreboard objectives setdisplay belowName fz.module.health
execute if data storage fz:config fz.module.health.display{below_name: 0b} run scoreboard objectives setdisplay belowName
execute unless data storage fz:config fz.module.health.display{list: 0b} run scoreboard objectives setdisplay list fz.module.health
execute if data storage fz:config fz.module.health.display{list: 0b} run scoreboard objectives setdisplay list
@@ -0,0 +1 @@
scoreboard objectives modify fz.module.health displayname {"text": "血量", "color": "red"}
@@ -0,0 +1 @@
scoreboard objectives modify fz.module.health displayname {"text": "HP"}
@@ -0,0 +1 @@
scoreboard objectives modify fz.module.health displayname {"text": "厘米", "color": "gold"}
@@ -0,0 +1 @@
scoreboard objectives modify fz.module.health displayname {"text": "cm", "color": "gold"}
@@ -0,0 +1 @@
scoreboard objectives modify fz.module.health displayname {"text": "节操值", "color": "green"}
@@ -0,0 +1 @@
scoreboard objectives modify fz.module.health displayname {"text": "沙雕值", "color": "yellow"}
@@ -0,0 +1,5 @@
scoreboard objectives remove fz.module.health
data remove storage fz:config fz.module.health
##
data modify storage fz:installed fz.module.health set value 0b
@@ -0,0 +1,6 @@
data modify storage fz:here fz.cache.nether_pos set value [0, 0]
execute store result storage fz:here fz.cache.nether_pos[0] int 0.125 run data get entity @s Pos[0]
execute store result storage fz:here fz.cache.nether_pos[1] int 0.125 run data get entity @s Pos[2]
data modify storage fz:here fz.cache.message[0] set value '{"text": "主世界", "color": "dark_green"}'
data modify storage fz:here fz.cache.message[2] set value '[{"text": ",对应", "color": "white"}, {"text": "下届", "color": "dark_red"}, {"text": ""}, [{"text": "[", "color": "green"}, {"nbt": "fz.cache.nether_pos[0]", "storage": "fz:here"}, {"text": ", "}, {"nbt": "fz.cache.nether_pos[1]", "storage": "fz:here"}, {"text": "]"}]]'
@@ -0,0 +1,6 @@
data modify storage fz:here fz.cache.overworld_pos set value [0, 0]
execute store result storage fz:here fz.cache.overworld_pos[0] int 8 run data get entity @s Pos[0]
execute store result storage fz:here fz.cache.overworld_pos[1] int 8 run data get entity @s Pos[2]
data modify storage fz:here fz.cache.message[0] set value '{"text": "下届", "color": "dark_red"}'
data modify storage fz:here fz.cache.message[2] set value '[{"text": ",对应", "color": "white"}, {"text": "主世界", "color": "dark_green"}, {"text": ""}, [{"text": "[", "color": "green"}, {"nbt": "fz.cache.overworld_pos[0]", "storage": "fz:here"}, {"text": ", "}, {"nbt": "fz.cache.overworld_pos[1]", "storage": "fz:here"}, {"text": "]"}]]'
@@ -0,0 +1 @@
execute if data storage fz:data_viewer fz.here.cache{dimension:"minecraft:overworld"} run function fz:module/here/custom_dimension_message/if_in_overworld
@@ -0,0 +1 @@
execute if data storage fz:data_viewer fz.here.cache{dimension:"minecraft:the_nether"} run function fz:module/here/custom_dimension_message/if_in_the_nether
@@ -0,0 +1,9 @@
data modify storage fz:here fz.cache.dimension set from entity @s Dimension
data modify storage fz:here fz.cache.pos set value [0, 0, 0]
execute store result storage fz:here fz.cache.pos[0] int 1 run data get entity @s Pos[0]
execute store result storage fz:here fz.cache.pos[1] int 1 run data get entity @s Pos[1]
execute store result storage fz:here fz.cache.pos[2] int 1 run data get entity @s Pos[2]
data modify storage fz:here fz.cache.message set value ["", "", ""]
data modify storage fz:here fz.cache.message[0] set value '{"nbt": "fz.cache.dimension", "storage": "fz:here"}'
data modify storage fz:here fz.cache.message[1] set value '[{"text": "[", "color": "green"}, {"nbt": "fz.cache.pos[0]", "storage": "fz:here"}, {"text": ", "}, {"nbt": "fz.cache.pos[1]", "storage": "fz:here"}, {"text": ", "}, {"nbt": "fz.cache.pos[2]", "storage": "fz:here"}, {"text": "]"}]'
function #fz:module/here/custom_message
@@ -0,0 +1,3 @@
function fz:module/here/get_message
tellraw @a [{"text": "", "color": "white"}, {"selector": "@s"}, {"text": "说:"}, {"text": "我在"}, {"nbt": "fz.cache.message[0]", "interpret": true, "storage": "fz:here"}, {"nbt": "fz.cache.message[1]", "interpret": true, "storage": "fz:here"}, {"nbt": "fz.cache.message[2]", "interpret": true, "storage": "fz:here"}]
@@ -0,0 +1,3 @@
function fz:module/here/get_message
tellraw @s [{"text": "你在", "color": "white"}, {"nbt": "fz.cache.message[0]", "interpret": true, "storage": "fz:here"}, {"nbt": "fz.cache.message[1]", "interpret": true, "storage": "fz:here"}, {"nbt": "fz.cache.message[2]", "interpret": true, "storage": "fz:here"}]
@@ -0,0 +1 @@
data remove storage fz:here fz
@@ -1,2 +1,6 @@
## 便
##
team join fz.module.scoreboard.display.activation
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.activation fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.activation = fz.module.scoreboard.total.activation fz.module.scoreboard.assign.general
@@ -1,2 +1,4 @@
team join fz.module.scoreboard.display.aviating_distance
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.aviating_distance fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.aviating_distance = fz.module.scoreboard.total.aviating_distance fz.module.scoreboard.assign.general
@@ -1,2 +1,4 @@
team join fz.module.scoreboard.display.damage_taken
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.damage_taken fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.damage_taken = fz.module.scoreboard.total.damage_taken fz.module.scoreboard.assign.general
@@ -1,2 +1,4 @@
team join fz.module.scoreboard.display.death_count
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.death_count fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.death_count = fz.module.scoreboard.total.death_count fz.module.scoreboard.assign.general
@@ -1,2 +1,4 @@
team join fz.module.scoreboard.display.dig_count
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.dig_count fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.dig_count = fz.module.scoreboard.total.dig_count fz.module.scoreboard.assign.general
@@ -1,2 +1,4 @@
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.fishing_count fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.fishing_count = fz.module.scoreboard.total.fishing_count fz.module.scoreboard.assign.general
team join fz.module.scoreboard.display.fishing_count
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.fishing_count fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.fishing_count = fz.module.scoreboard.total.fishing_count fz.module.scoreboard.assign.general
@@ -1,2 +1,4 @@
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.kill_count fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.kill_count = fz.module.scoreboard.total.kill_count fz.module.scoreboard.assign.general
team join fz.module.scoreboard.display.kill_count
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.kill_count fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.kill_count = fz.module.scoreboard.total.kill_count fz.module.scoreboard.assign.general
@@ -1,2 +1,4 @@
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.placement_count fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.placement_count = fz.module.scoreboard.total.placement_count fz.module.scoreboard.assign.general
team join fz.module.scoreboard.display.placement_count
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.placement_count fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.placement_count = fz.module.scoreboard.total.placement_count fz.module.scoreboard.assign.general
@@ -1,2 +1,4 @@
team join fz.module.scoreboard.display.trade_count
scoreboard players operation fz.module.scoreboard.display.general = fz.module.scoreboard.total.trade_count fz.module.scoreboard.assign.general
scoreboard players operation fz.module.scoreboard.display.trade_count = fz.module.scoreboard.total.trade_count fz.module.scoreboard.assign.general
@@ -1,3 +1,3 @@
# 调用者:#fz:module/scoreboard/config/display/buttons
tellraw @s [[{"text": "[", "color": "dark_gray", "hoverEvent": {"action": "show_text", "contents": {"text": "", "color": "dark_red"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1000"}}, {"text": "", "color": "dark_red"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.carousel", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1010"}}, {"nbt": "fz.scoreboard.text.carousel", "interpret": true, "storage": "fz:module"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.general", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1020"}}, {"nbt": "fz.scoreboard.text.general", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.activation", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1030"}}, {"nbt": "fz.scoreboard.text.activation", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.aviating_distance", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1040"}}, {"nbt": "fz.scoreboard.text.aviating_distance", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.damage_taken", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1050"}}, {"nbt": "fz.scoreboard.text.damage_taken", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.death_count", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1060"}}, {"nbt": "fz.scoreboard.text.death_count", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.dig_count", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1070"}}, {"nbt": "fz.scoreboard.text.dig_count", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.fishing_count", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1080"}}, {"nbt": "fz.scoreboard.text.fishing_count", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.kill_count", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1090"}}, {"nbt": "fz.scoreboard.text.kill_count", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.trade_count", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1100"}}, {"nbt": "fz.scoreboard.text.trade_count", "interpret": true, "storage": "fz:module"}, {"text": "]"}]]
execute if data storage fz:installed fz.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 fz.module.config.trigger set 1000"}}, {"text": "", "color": "dark_red"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.carousel", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1010"}}, {"nbt": "fz.scoreboard.text.carousel", "interpret": true, "storage": "fz:module"}, {"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.general", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1020"}}, {"nbt": "fz.scoreboard.text.general", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.activation", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1030"}}, {"nbt": "fz.scoreboard.text.activation", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.aviating_distance", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1040"}}, {"nbt": "fz.scoreboard.text.aviating_distance", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.damage_taken", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1050"}}, {"nbt": "fz.scoreboard.text.damage_taken", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.death_count", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1060"}}, {"nbt": "fz.scoreboard.text.death_count", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.dig_count", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1070"}}, {"nbt": "fz.scoreboard.text.dig_count", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.fishing_count", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1080"}}, {"nbt": "fz.scoreboard.text.fishing_count", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.kill_count", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1090"}}, {"nbt": "fz.scoreboard.text.kill_count", "interpret": true, "storage": "fz:module"},{"text": "]"}], [{"text": "[", "hoverEvent": {"action": "show_text", "contents": {"nbt": "fz.scoreboard.text.trade_count", "interpret": true, "storage": "fz:module"}}, "clickEvent": {"action": "run_command", "value": "/trigger fz.module.config.trigger set 1100"}}, {"nbt": "fz.scoreboard.text.trade_count", "interpret": true, "storage": "fz:module"}, {"text": "]"}]]
@@ -1,3 +1,3 @@
# 调用者:#fz:module/scoreboard/config/display/head
tellraw @s {"text": "计分板:"}
execute if data storage fz:installed fz.module{scoreboard:1b} run tellraw @s {"text": "计分板:"}
@@ -52,7 +52,7 @@ scoreboard objectives add fz.module.scoreboard.display.trade_count dummy
team add fz.module.scoreboard.display.trade_count
##
data modify storage fz:install_manager fz.module.scoreboard set value 1b
data modify storage fz:installed fz.module.scoreboard 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": "已安装组件:计分板"}]
@@ -29,7 +29,7 @@ team remove fz.module.scoreboard.display.trade_count
execute if score fz.logger.level fz.variable.integer matches ..600 run tellraw @s [{"nbt": "fz.level.alert", "interpret": true, "storage": "fz:logger"}, {"text": "您要删除计分板数据吗,它将会永久失去!(真的很久!)"}, {"text": "[确定]", "color": "dark_red", "clickEvent": {"action": "suggest_command", "value": "/function #fz:module/scoreboard/clear_data"}, "hoverEvent": {"action": "show_text", "contents": {"text": "将命令填入聊天框"}}}]
##
data modify storage fz:install_manager fz.module.scoreboard set value 0b
data modify storage fz:installed fz.module.scoreboard 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": "已卸载组件:计分板"}]
@@ -0,0 +1,5 @@
# 调用者:#fz:module/try_load
##
execute unless data storage fz:installed fz.module.config run function #fz:module/config/install
execute unless data storage fz:installed fz.module.scoreboard run function #fz:module/scoreboard/install
+3 -3
View File
@@ -1,6 +1,6 @@
# 调用者:#fz:module/try_load
##
execute if data storage fz:install_manager fz.module{config:1b} run function #fz:module/config/load
execute if data storage fz:install_manager fz.module{scoreboard:1b} run function #fz:module/scoreboard/load
execute if data storage fz:install_manager fz.module{sweeper:1b} run function #fz:module/sweeper/load
execute if data storage fz:installed fz.module{config:1b} run function #fz:module/config/load
execute if data storage fz:installed fz.module{health:1b} run function #fz:module/health/load
execute if data storage fz:installed fz.module{scoreboard:1b} run function #fz:module/scoreboard/load