规范了事件系统,完成了实现计分板赋值逻辑

This commit is contained in:
延皓
2022-07-07 07:39:01 +08:00
parent 171b19c93a
commit 4665599abb
173 changed files with 1374 additions and 276 deletions
+5 -1
View File
@@ -1,3 +1,7 @@
function #fz:system_load
##
scoreboard objectives add fz.variable.integer dummy
function fz:logger/install
function fz:logger/load
function fz:event/install
function #fz:install
function #fz:load
-14
View File
@@ -1,14 +0,0 @@
scoreboard objectives add fz.event.aviating_distance minecraft.custom:aviate_one_cm
scoreboard objectives add fz.event.damage_taken minecraft.custom:damage_taken
scoreboard objectives add fz.event.fishing_count minecraft.custom:fish_caught
scoreboard objectives add fz.event.leave_game minecraft.custom:leave_game
scoreboard objectives add fz.event.play_seconds minecraft.custom:play_time
scoreboard objectives add fz.event.villager_trade minecraft.custom:traded_with_villager
##
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,47 @@
##
scoreboard objectives add fz.event.aviating_distance minecraft.custom:aviate_one_cm
scoreboard objectives add fz.event.damage_taken minecraft.custom:damage_taken
scoreboard objectives add fz.event.death_count deathCount
scoreboard objectives add fz.event.leave_game minecraft.custom:leave_game
scoreboard objectives add fz.event.play_seconds minecraft.custom:play_time
scoreboard objectives add fz.event.villager_trade minecraft.custom:traded_with_villager
## 使
scoreboard objectives add fz.event.used_tool.dig_offset dummy
scoreboard objectives add fz.event.used_tool.iron_axe minecraft.used:iron_axe
scoreboard objectives add fz.event.used_tool.stone_axe minecraft.used:stone_axe
scoreboard objectives add fz.event.used_tool.golden_axe minecraft.used:golden_axe
scoreboard objectives add fz.event.used_tool.wooden_axe minecraft.used:wooden_axe
scoreboard objectives add fz.event.used_tool.diamond_axe minecraft.used:diamond_axe
scoreboard objectives add fz.event.used_tool.netherite_axe minecraft.used:netherite_axe
scoreboard objectives add fz.event.used_tool.iron_hoe minecraft.used:iron_hoe
scoreboard objectives add fz.event.used_tool.stone_hoe minecraft.used:stone_hoe
scoreboard objectives add fz.event.used_tool.golden_hoe minecraft.used:golden_hoe
scoreboard objectives add fz.event.used_tool.wooden_hoe minecraft.used:wooden_hoe
scoreboard objectives add fz.event.used_tool.diamond_hoe minecraft.used:diamond_hoe
scoreboard objectives add fz.event.used_tool.netherite_hoe minecraft.used:netherite_hoe
scoreboard objectives add fz.event.used_tool.iron_pickaxe minecraft.used:iron_pickaxe
scoreboard objectives add fz.event.used_tool.stone_pickaxe minecraft.used:stone_pickaxe
scoreboard objectives add fz.event.used_tool.golden_pickaxe minecraft.used:golden_pickaxe
scoreboard objectives add fz.event.used_tool.wooden_pickaxe minecraft.used:wooden_pickaxe
scoreboard objectives add fz.event.used_tool.diamond_pickaxe minecraft.used:diamond_pickaxe
scoreboard objectives add fz.event.used_tool.netherite_pickaxe minecraft.used:netherite_pickaxe
scoreboard objectives add fz.event.used_tool.shears minecraft.used:shears
scoreboard objectives add fz.event.used_tool.iron_shovel minecraft.used:iron_shovel
scoreboard objectives add fz.event.used_tool.stone_shovel minecraft.used:stone_shovel
scoreboard objectives add fz.event.used_tool.golden_shovel minecraft.used:golden_shovel
scoreboard objectives add fz.event.used_tool.wooden_shovel minecraft.used:wooden_shovel
scoreboard objectives add fz.event.used_tool.diamond_shovel minecraft.used:diamond_shovel
scoreboard objectives add fz.event.used_tool.netherite_shovel minecraft.used:netherite_shovel
scoreboard objectives add fz.event.used_tool.iron_sword minecraft.used:iron_sword
scoreboard objectives add fz.event.used_tool.stone_sword minecraft.used:stone_sword
scoreboard objectives add fz.event.used_tool.golden_sword minecraft.used:golden_sword
scoreboard objectives add fz.event.used_tool.wooden_sword minecraft.used:wooden_sword
scoreboard objectives add fz.event.used_tool.diamond_sword minecraft.used:diamond_sword
scoreboard objectives add fz.event.used_tool.netherite_sword minecraft.used:netherite_sword
##
data modify storage fz:install_manager fz.event 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 +0,0 @@
scoreboard players operation fz.var.score fz.variable.integer = @s fz.event.aviating_distance
scoreboard players operation fz.var.score fz.variable.integer /= 200 fz.variable.integer
function #fz:event/on_aviate_one_meter
scoreboard players operation @s fz.event.aviating_distance %= 200 fz.variable.integer
advancement revoke @s only fz:event/on_aviate_one_meter
@@ -1,6 +0,0 @@
scoreboard players operation fz.var.score fz.variable.integer = @s fz.event.damage_taken
function #fz:event/on_damage_taken
scoreboard players set @s fz.event.damage_taken 0
advancement revoke @s only fz:event/on_damage_taken
@@ -1,16 +0,0 @@
##
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": "登录游戏"}]
function #fz:event/on_login
##
advancement revoke @s until fz:event/on_damage_taken
advancement revoke @s until fz:event/on_piglin_trade
advancement revoke @s until fz:event/on_play_one_hour
advancement revoke @s until fz:event/on_sneak
advancement revoke @s until fz:event/on_unsneak
advancement revoke @s until fz:event/on_villager_trade
##
scoreboard players set @s fz.event.leave_game 0
advancement revoke @s only fz:event/on_login
@@ -1,2 +0,0 @@
function #fz:event/on_piglin_trade
advancement revoke @s only fz:event/on_piglin_trade
@@ -1,7 +0,0 @@
scoreboard players operation fz.var.score fz.variable.integer = @s fz.event.play_seconds
scoreboard players operation fz.var.score fz.variable.integer /= 3600 fz.variable.integer
function #fz:event/on_play_one_hour
scoreboard players operation @s fz.event.play_seconds %= 3600 fz.variable.integer
advancement revoke @s only fz:event/on_play_one_hour
@@ -1,2 +0,0 @@
function #fz:event/on_villager_trade
advancement revoke @s only fz:event/on_villager_trade
@@ -0,0 +1,15 @@
# 调用者:advancements/fz:~
##
execute if score fz.logger.level fz.variable.integer matches ..400 run tellraw @a [{"nbt": "fz.level.fine", "interpret": true, "storage": "fz:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "飞行了1m"}]
##
scoreboard players operation fz.var.score fz.variable.integer = @s fz.event.aviating_distance
scoreboard players operation fz.var.score fz.variable.integer /= 200 fz.variable.integer
scoreboard players operation @s fz.event.aviating_distance %= 200 fz.variable.integer
##
function #fz:event/player/on_aviate_one_meter
##
advancement revoke @s only fz:event/on_aviate_one_meter
@@ -0,0 +1,40 @@
# 调用者:fz:event/player/on_used_tool
##
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": "挖掘了方块"}]
##
scoreboard players operation fz.var.score fz.variable.integer = @s fz.event.used_tool.diamond_axe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.diamond_hoe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.diamond_pickaxe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.diamond_shovel
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.diamond_sword
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.golden_axe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.golden_hoe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.golden_pickaxe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.golden_shovel
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.golden_sword
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.iron_axe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.iron_hoe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.iron_pickaxe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.iron_shovel
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.iron_sword
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.netherite_axe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.netherite_hoe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.netherite_pickaxe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.netherite_shovel
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.netherite_sword
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.shears
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.stone_axe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.stone_hoe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.stone_pickaxe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.stone_shovel
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.stone_sword
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.wooden_axe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.wooden_hoe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.wooden_pickaxe
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.wooden_shovel
scoreboard players operation fz.var.score fz.variable.integer += @s fz.event.used_tool.wooden_sword
##
function #fz:event/player/on_broke_block
@@ -0,0 +1,14 @@
# 调用者:advancements/fz:~
##
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": "死亡"}]
##
# scoreboard players operation fz.var.score fz.variable.integer = @s fz.event.death_count
scoreboard players set @s fz.event.death_count 0
##
function #fz:event/player/on_dead
##
advancement revoke @s only fz:event/on_dead
@@ -0,0 +1,10 @@
# 调用者:advancements/fz:~
##
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": "钓鱼上钩"}]
##
function #fz:event/player/on_fished
##
advancement revoke @s only fz:event/on_fished
@@ -0,0 +1,13 @@
# 调用者:advancements/fz:~
##
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": "使用了挖掘工具攻击实体"}]
##
scoreboard players remove @s fz.event.used_tool.dig_offset 1
##
function #fz:event/player/on_hurt_entity_with_tools
##
advancement revoke @s only fz:event/on_hurt_entity_with_tools
@@ -0,0 +1,10 @@
# 调用者:advancements/fz:~
##
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": "击杀了生物"}]
##
function #fz:event/player/on_killed_mob_or_player
##
advancement revoke @s only fz:event/on_killed_mob_or_player
@@ -0,0 +1,10 @@
# 调用者:advancements/fz:~
##
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": "登录游戏"}]
scoreboard players set @s fz.event.leave_game 0
##
### reset_events标签
function #fz:event/player/on_login
@@ -0,0 +1,10 @@
# 调用者:advancements/fz:~
##
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": "与猪灵交易"}]
##
function #fz:event/player/on_piglin_trade
##
advancement revoke @s only fz:event/on_piglin_trade
@@ -0,0 +1,10 @@
# 调用者:advancements/fz:~
##
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": "放置了方块"}]
##
function #fz:event/player/on_placed_block
##
advancement revoke @s only fz:event/on_placed_block
@@ -0,0 +1,15 @@
# 调用者:advancements/fz:~
##
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": "游玩了1h"}]
##
# scoreboard players operation fz.var.score fz.variable.integer = @s fz.event.play_seconds
# scoreboard players operation fz.var.score fz.variable.integer /= 3600 fz.variable.integer
scoreboard players operation @s fz.event.play_seconds %= 3600 fz.variable.integer
##
function #fz:event/player/on_play_one_hour
##
advancement revoke @s only fz:event/on_play_one_hour
@@ -0,0 +1,13 @@
# 调用者:advancements/fz:~
##
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": "对实体使用剪刀"}]
##
scoreboard players remove @s fz.event.used_tool.dig_offset 1
##
function #fz:event/player/on_shears_used_on_entity
##
advancement revoke @s only fz:event/on_shears_used_on_entity
@@ -0,0 +1,7 @@
# 调用者:advancements/fz:~
##
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": "蹲下"}]
##
function #fz:event/player/on_sneak
@@ -0,0 +1,14 @@
# 调用者:advancements/fz:~
##
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": "受到了伤害"}]
##
scoreboard players operation fz.var.score fz.variable.integer = @s fz.event.damage_taken
scoreboard players set @s fz.event.damage_taken 0
##
function #fz:event/player/on_took_damage
##
advancement revoke @s only fz:event/on_took_damage
@@ -0,0 +1,14 @@
# 调用者:advancements/fz:~
##
##
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": "在方块上使用了工具"}]
##
scoreboard players remove @s fz.event.used_tool.dig_offset 1
##
function #fz:event/player/on_tools_used_on_block
##
advancement revoke @s only fz:event/on_tools_used_on_block
@@ -1,12 +1,14 @@
# 调用者:advancements/fz:~
##
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": "由下蹲状态站起"}]
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": "从蹲下状态站起"}]
# 调用者:advancement/fz:unskeak
#####
##
function #fz:event/on_unsneak
function #fz:event/player/on_unsneak
execute if entity @s[x_rotation = -90] run function #fz:event/module/config/on_config
##
##
advancement revoke @s until fz:event/on_unsneak
@@ -0,0 +1,16 @@
# 调用者:advancements/fz:~
##
execute if score fz.logger.level fz.variable.integer matches ..400 run tellraw @a [{"nbt": "fz.level.fine", "interpret": true, "storage": "fz:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "使用了工具"}]
##
function #fz:event/player/on_used_tool
##
execute unless score @s fz.event.used_tool.offset matches ..-1 run function fz:event/player/on_broke_block
##
function #fz:event/player/on_used_tool/reset_used_tool
##
advancement revoke @s only fz:event/on_used_tool
@@ -0,0 +1,35 @@
scoreboard players set @s fz.event.used_tool.offset 0
scoreboard players set @s fz.event.used_tool.diamond_axe 0
scoreboard players set @s fz.event.used_tool.diamond_hoe 0
scoreboard players set @s fz.event.used_tool.diamond_pickaxe 0
scoreboard players set @s fz.event.used_tool.diamond_shovel 0
scoreboard players set @s fz.event.used_tool.diamond_sword 0
scoreboard players set @s fz.event.used_tool.golden_axe 0
scoreboard players set @s fz.event.used_tool.golden_hoe 0
scoreboard players set @s fz.event.used_tool.golden_pickaxe 0
scoreboard players set @s fz.event.used_tool.golden_shovel 0
scoreboard players set @s fz.event.used_tool.golden_sword 0
scoreboard players set @s fz.event.used_tool.iron_axe 0
scoreboard players set @s fz.event.used_tool.iron_hoe 0
scoreboard players set @s fz.event.used_tool.iron_pickaxe 0
scoreboard players set @s fz.event.used_tool.iron_shovel 0
scoreboard players set @s fz.event.used_tool.iron_sword 0
scoreboard players set @s fz.event.used_tool.netherite_axe 0
scoreboard players set @s fz.event.used_tool.netherite_hoe 0
scoreboard players set @s fz.event.used_tool.netherite_pickaxe 0
scoreboard players set @s fz.event.used_tool.netherite_shovel 0
scoreboard players set @s fz.event.used_tool.netherite_sword 0
scoreboard players set @s fz.event.used_tool.shears 0
scoreboard players set @s fz.event.used_tool.stone_axe 0
scoreboard players set @s fz.event.used_tool.stone_hoe 0
scoreboard players set @s fz.event.used_tool.stone_pickaxe 0
scoreboard players set @s fz.event.used_tool.stone_shovel 0
scoreboard players set @s fz.event.used_tool.stone_sword 0
scoreboard players set @s fz.event.used_tool.wooden_axe 0
scoreboard players set @s fz.event.used_tool.wooden_hoe 0
scoreboard players set @s fz.event.used_tool.wooden_pickaxe 0
scoreboard players set @s fz.event.used_tool.wooden_shovel 0
scoreboard players set @s fz.event.used_tool.wooden_sword 0
##
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": "的used_tool计分板"}]
@@ -0,0 +1,10 @@
# 调用者:advancements/fz:~
##
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": "与村民交易"}]
##
function #fz:event/player/on_villager_trade
##
advancement revoke @s only fz:event/on_villager_trade
@@ -0,0 +1,16 @@
##
advancement revoke @s only fz:event/on_aviate_one_meter
advancement revoke @s only fz:event/on_dead
advancement revoke @s only fz:event/on_dig
advancement revoke @s only fz:event/on_interacted_with_entity/on_shears_used_on_entity
advancement revoke @s only fz:event/on_login
advancement revoke @s only fz:event/on_piglin_trade
advancement revoke @s only fz:event/on_play_one_hour
advancement revoke @s only fz:event/on_sneak
advancement revoke @s only fz:event/on_take_damage
advancement revoke @s only fz:event/on_tools_used_on_block
advancement revoke @s only fz:event/on_unsneak
advancement revoke @s only fz:event/on_villager_trade
##
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,47 @@
##
scoreboard objectives remove fz.event.aviating_distance
scoreboard objectives remove fz.event.damage_taken
scoreboard objectives remove fz.event.death_count
scoreboard objectives remove fz.event.leave_game
scoreboard objectives remove fz.event.play_seconds
scoreboard objectives remove fz.event.villager_trade
## 使
scoreboard objectives remove fz.event.used_tool.dig_offset
scoreboard objectives remove fz.event.used_tool.iron_axe
scoreboard objectives remove fz.event.used_tool.stone_axe
scoreboard objectives remove fz.event.used_tool.golden_axe
scoreboard objectives remove fz.event.used_tool.wooden_axe
scoreboard objectives remove fz.event.used_tool.diamond_axe
scoreboard objectives remove fz.event.used_tool.netherite_axe
scoreboard objectives remove fz.event.used_tool.iron_hoe
scoreboard objectives remove fz.event.used_tool.stone_hoe
scoreboard objectives remove fz.event.used_tool.golden_hoe
scoreboard objectives remove fz.event.used_tool.wooden_hoe
scoreboard objectives remove fz.event.used_tool.diamond_hoe
scoreboard objectives remove fz.event.used_tool.netherite_hoe
scoreboard objectives remove fz.event.used_tool.iron_pickaxe
scoreboard objectives remove fz.event.used_tool.stone_pickaxe
scoreboard objectives remove fz.event.used_tool.golden_pickaxe
scoreboard objectives remove fz.event.used_tool.wooden_pickaxe
scoreboard objectives remove fz.event.used_tool.diamond_pickaxe
scoreboard objectives remove fz.event.used_tool.netherite_pickaxe
scoreboard objectives remove fz.event.used_tool.shears
scoreboard objectives remove fz.event.used_tool.iron_shovel
scoreboard objectives remove fz.event.used_tool.stone_shovel
scoreboard objectives remove fz.event.used_tool.golden_shovel
scoreboard objectives remove fz.event.used_tool.wooden_shovel
scoreboard objectives remove fz.event.used_tool.diamond_shovel
scoreboard objectives remove fz.event.used_tool.netherite_shovel
scoreboard objectives remove fz.event.used_tool.iron_sword
scoreboard objectives remove fz.event.used_tool.stone_sword
scoreboard objectives remove fz.event.used_tool.golden_sword
scoreboard objectives remove fz.event.used_tool.wooden_sword
scoreboard objectives remove fz.event.used_tool.diamond_sword
scoreboard objectives remove fz.event.used_tool.netherite_sword
##
data remove storage fz:install_manager fz.event
##
execute if score fz.logger.level fz.variable.integer matches ..500 run tellraw @a [{"nbt": "fz.level.info", "interpret": true, "storage": "fz:logger"}, {"text": "已卸载系统组件:事件"}]
-3
View File
@@ -1,8 +1,5 @@
# 调用者:#fz:install
##
scoreboard objectives add fz.variable.integer dummy
##
function #fz:module/install
@@ -1,29 +1,28 @@
# 调用者:#fz:logger/init
##### 使tellraw @a [{"nbt": "fz.exception.load_without_install_exception", "interpret": true, "storage": "fz:logger"}, {"text": "计分板"}]
##
data modify storage fz:logger fz.root set value '[{"text": "", "color": "white"}, {"text": "[", "color": "dark_gray"}, {"text": "FZD", "color": "gold"}, {"text": "]", "color": "dark_gray"}]'
##
### error 800
data modify storage fz:logger fz.level.error set value '[{"text": "", "color": "red"}, {"nbt": "root", "interpret": true, "storage": "fz:logger"}, {"text": "[错误]"}]'
### alert 600
data modify storage fz:logger fz.level.alert set value '[{"text": "", "color": "yellow"}, {"nbt": "fz.root", "interpret": true, "storage": "fz:logger"}, {"text": "[提醒]"}]'
### info 500
data modify storage fz:logger fz.level.info set value '[{"text": "", "color": "green"}, {"nbt": "fz.root", "interpret": true, "storage": "fz:logger"}, {"text": "[信息]"}]'
### debug 400
data modify storage fz:logger fz.level.debug set value '[{"text": "", "color": "dark_aqua"}, {"nbt": "fz.root", "interpret": true, "storage": "fz:logger"}, {"text": "[调试]"}]'
### fine 300
data modify storage fz:logger fz.level.fine set value '[{"text": "", "color": "gray"}, {"nbt": "fz.root", "interpret": true, "storage": "fz:logger"}, {"text": "[详细]"}]'
##
data modify storage fz:logger fz.exception.load_without_install_exception set value '[{"nbt": "fz.level.error", "interpret": true, "storage": "fz:logger"}, {"text": "模块在未安装时被加载:"}]'
##
execute unless data storage fz:logger fz.levels.current run data modify storage fz:logger fz.levels.current set value 500
## debug等级存入缓存
execute store result score fz.logger.level fz.variable.integer run data get storage fz:logger fz.levels.current
##
execute if score fz.logger.level fz.variable.integer matches ..500 run tellraw @a [{"nbt": "fz.level.info", "interpret": true, "storage": "fz:logger"}, {"text": "已初始化系统组件:日志"}]
##### 使tellraw @a [{"nbt": "fz.exception.load_without_install_exception", "interpret": true, "storage": "fz:logger"}, {"text": "计分板"}]
##
data modify storage fz:logger fz.root set value '[{"text": "", "color": "white"}, {"text": "[", "color": "dark_gray"}, {"text": "FZD", "color": "gold"}, {"text": "]", "color": "dark_gray"}]'
##
### error 800
data modify storage fz:logger fz.level.error set value '[{"text": "", "color": "red"}, {"nbt": "root", "interpret": true, "storage": "fz:logger"}, {"text": "[错误]"}]'
### alert 600
data modify storage fz:logger fz.level.alert set value '[{"text": "", "color": "yellow"}, {"nbt": "fz.root", "interpret": true, "storage": "fz:logger"}, {"text": "[提醒]"}]'
### info 500
data modify storage fz:logger fz.level.info set value '[{"text": "", "color": "green"}, {"nbt": "fz.root", "interpret": true, "storage": "fz:logger"}, {"text": "[信息]"}]'
### debug 400
data modify storage fz:logger fz.level.debug set value '[{"text": "", "color": "dark_aqua"}, {"nbt": "fz.root", "interpret": true, "storage": "fz:logger"}, {"text": "[调试]"}]'
### fine 300
data modify storage fz:logger fz.level.fine set value '[{"text": "", "color": "gray"}, {"nbt": "fz.root", "interpret": true, "storage": "fz:logger"}, {"text": "[详细]"}]'
##
data modify storage fz:logger fz.exception.load_without_install_exception set value '[{"nbt": "fz.level.error", "interpret": true, "storage": "fz:logger"}, {"text": "模块在未安装时被加载:"}]'
##
execute unless data storage fz:logger fz.levels.current run data modify storage fz:logger fz.levels.current set value 500
##
data modify storage fz:install_manager fz.logger 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,6 +1,7 @@
## debug 400
data modify storage fz:logger fz.levels.current set value 400
execute store result score fz.logger.level fz.variable.integer run data get storage fz:logger fz.levels.current
##
tellraw @a [{"nbt": "fz.level.info", "interpret": true, "storage": "fz:logger"}, {"text": "日志等级设为调试"}]
@@ -1,6 +1,7 @@
## fine 300
data modify storage fz:logger fz.levels.current set value 300
execute store result score fz.logger.level fz.variable.integer run data get storage fz:logger fz.levels.current
##
tellraw @a [{"nbt": "fz.level.info", "interpret": true, "storage": "fz:logger"}, {"text": "日志等级设为详细"}]
@@ -1,6 +1,7 @@
## info 500
data modify storage fz:logger fz.levels.current set value 500
execute store result score fz.logger.level fz.variable.integer run data get storage fz:logger fz.levels.current
##
tellraw @a [{"nbt": "fz.level.info", "interpret": true, "storage": "fz:logger"}, {"text": "日志等级设为一般信息"}]
+7
View File
@@ -0,0 +1,7 @@
# 调用者:#fz:logger/init
##
execute store result score fz.logger.level fz.variable.integer run data get storage fz:logger fz.levels.current
##
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,4 +1,10 @@
## #fz:logger/uninstall
##
data remove storage fz:install_manager fz.logger
##
execute if score fz.logger.level fz.variable.integer matches ..500 run tellraw @a [{"nbt": "fz.level.info", "interpret": true, "storage": "fz:logger"}, {"text": "已卸载系统组件:日志"}]
##
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:logger/clear_data"}, "hoverEvent": {"action": "show_text", "contents": {"text": "将命令填入聊天框"}}}]
@@ -1,3 +1,5 @@
function #fz:module/config/reset_trigger
##
@@ -1,7 +1,7 @@
# 调用者:fz:module/config/trigger
## 0
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:event/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
@@ -4,8 +4,7 @@
##
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": "触发了配置功能"}]
## schedule是为了避免1tick内执行两次
schedule function fz:module/config/loop 0t replace
function fz:module/config/loop
##
function #fz:module/config/display
@@ -1,3 +0,0 @@
# 源计分板
##
scoreboard objectives add fz.module.scoreboard.assign.general dummy
@@ -1,3 +1,3 @@
# 调用者:#fz:module/scoreboard/config/display/buttons
tellraw @s [[{"text": "[", "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": "]"}]]
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,46 +0,0 @@
##
###
team add fz.module.scoreboard.display.carousel
##
###### dummy便
###
scoreboard objectives add fz.module.scoreboard.display.general dummy
team add fz.module.scoreboard.display.general
###
scoreboard objectives add fz.module.scoreboard.display.activation dummy
team add fz.module.scoreboard.display.activation
###
scoreboard objectives add fz.module.scoreboard.display.aviating_distance dummy
team add fz.module.scoreboard.display.aviating_distance
### M榜
scoreboard objectives add fz.module.scoreboard.display.damage_taken dummy
team add fz.module.scoreboard.display.damage_taken
###
scoreboard objectives add fz.module.scoreboard.display.death_count dummy
team add fz.module.scoreboard.display.death_count
###
scoreboard objectives add fz.module.scoreboard.display.dig_count dummy
team add fz.module.scoreboard.display.dig_count
###
scoreboard objectives add fz.module.scoreboard.display.fishing_count dummy
team add fz.module.scoreboard.display.fishing_count
###
scoreboard objectives add fz.module.scoreboard.display.kill_count dummy
team add fz.module.scoreboard.display.kill_count
###
scoreboard objectives add fz.module.scoreboard.placement_count dummy
team add fz.module.scoreboard.display.placement_count
###
scoreboard objectives add fz.module.scoreboard.display.trade_count dummy
team add fz.module.scoreboard.display.trade_count
@@ -1,9 +1,55 @@
# 调用者:#fz:module/scoreboard/install
##
function fz:module/scoreboard/assign/create_scoreboards
##
function fz:module/scoreboard/display/create_scoreboards
###
scoreboard objectives add fz.module.scoreboard.assign.general dummy
##
team add fz.module.scoreboard.display.carousel
##
###### dummy便
###
scoreboard objectives add fz.module.scoreboard.display.general dummy
team add fz.module.scoreboard.display.general
###
scoreboard objectives add fz.module.scoreboard.display.activation dummy
team add fz.module.scoreboard.display.activation
###
scoreboard objectives add fz.module.scoreboard.display.aviating_distance dummy
team add fz.module.scoreboard.display.aviating_distance
### M榜
scoreboard objectives add fz.module.scoreboard.display.damage_taken dummy
team add fz.module.scoreboard.display.damage_taken
###
scoreboard objectives add fz.module.scoreboard.display.death_count dummy
team add fz.module.scoreboard.display.death_count
###
scoreboard objectives add fz.module.scoreboard.display.dig_count dummy
team add fz.module.scoreboard.display.dig_count
###
scoreboard objectives add fz.module.scoreboard.display.fishing_count dummy
team add fz.module.scoreboard.display.fishing_count
###
scoreboard objectives add fz.module.scoreboard.display.kill_count dummy
team add fz.module.scoreboard.display.kill_count
###
scoreboard objectives add fz.module.scoreboard.placement_count dummy
team add fz.module.scoreboard.display.placement_count
###
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
@@ -1,7 +1,7 @@
# 调用者:#fz:module/scoreboard/uninstall
##
schedule clear #fz:module/scoreboard/display/carousel_controller/loop
schedule clear fz:module/scoreboard/display/carousel/loop
##
###
-8
View File
@@ -1,8 +0,0 @@
##
function #fz:logger/init
## 使
function #fz:event/init
##
execute if score fz.logger.level fz.variable.integer matches ..500 run tellraw @a [{"nbt": "fz.level.info", "interpret": true, "storage": "fz:logger"}, {"text": "系统组件初始化完成!"}]
+3 -1
View File
@@ -5,9 +5,11 @@ function #fz:module/uninstall
##
scoreboard objectives remove fz.variable.integer
function #fz:logger/uninstall
function fz:event/uninstall
function fz:logger/uninstall
##
data remove storage fz:install_manager fz
data modify storage fz:install_manager fz.global set value 0b
##