规范了事件系统,完成了实现计分板赋值逻辑
This commit is contained in:
1 parent
171b19c93a
commit
4665599abb
173 files changed
+1374
-276
No files matched your search
@@ -0,0 +1,9 @@
|
||||
data/minecraft/advancements
|
||||
data/minecraft/loot_tables
|
||||
data/minecraft/recipes
|
||||
data/minecraft/tags/blocks
|
||||
data/minecraft/tags/entity_types
|
||||
data/minecraft/tags/fluids
|
||||
data/minecraft/tags/game_events
|
||||
data/minecraft/tags/items
|
||||
data/minecraft/tags/worldgen
|
||||
Vendored
+3
@@ -3,6 +3,7 @@
|
||||
"executeIfScoreSet": "execute if score ${1:score_holder} ${2:objective} = ${1:score_holder} ${2:objective} $0",
|
||||
"scoreboardPlayersOperation": "scoreboard players operation ${1:target_score_holder} ${2:target_objective} ${3|+=,-=,*=,/=,%=,=,>,<,<>|} ${4:source_score_holder} ${5:source_objective}",
|
||||
"scoreboardPlayersSet": "scoreboard players set ${1:score_holder} ${2:objective} ${3:0}",
|
||||
"scoreboardAddObjective": "scoreboard objectives add ${1:objective} ${2:dummy}",
|
||||
"tagAdd": "tag ${1:target} add ${2:tag}",
|
||||
"tagRemove": "tag ${1:target} remove ${2:tag}",
|
||||
"dataModifyStorageFromSelf": "data modify storage ${1:id} ${2:path} set from entity @s ${3:path}",
|
||||
@@ -12,5 +13,7 @@
|
||||
"logInfo": "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:log_info}\"}]",
|
||||
"logAlert": "execute if score fz.logger.level fz.variable.integer matches ..600 run tellraw @a [{\"nbt\": \"fz.level.alert\", \"interpret\": true, \"storage\": \"fz:logger\"}, {\"text\": \"${1:log_alert}\"}]",
|
||||
"logError": "execute if score fz.logger.level fz.variable.integer matches ..800 run tellraw @a [{\"nbt\": \"fz.level.error\", \"interpret\": true, \"storage\": \"fz:logger\"}, {\"text\": \"${1:log_error}\"}]",
|
||||
"TEXT": "{\"text\": \"${1:TEXT}\", \"color\": \"${2:COLOR}\"}",
|
||||
"storageText": "{\"nbt\": \"${1:NBT}\", \"interpret\": true, \"storage\": \"${2:A namespaced ID}\"}"
|
||||
}
|
||||
}
|
||||
@@ -8,18 +8,14 @@
|
||||
```
|
||||
{
|
||||
"replace": true,
|
||||
"values": [
|
||||
...
|
||||
]
|
||||
"values": ...
|
||||
}
|
||||
```
|
||||
- `向标签中注册函数`时,`replace`为`false`
|
||||
```
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
...
|
||||
]
|
||||
"values": ...
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
+17
-17
@@ -1,17 +1,17 @@
|
||||
carpet setDefault language zh_cn
|
||||
carpet setDefault stackableShulkerBoxes 16
|
||||
carpet setDefault leadFix true
|
||||
carpet setDefault ctrlQCraftingFix true
|
||||
carpet setDefault smoothClientAnimations true
|
||||
carpet setDefault fastRedstoneDust true
|
||||
carpet setDefault reloadSuffocationFix true
|
||||
carpet setDefault persistentParrots true
|
||||
carpet setDefault missingTools true
|
||||
carpet setDefault optimizedTNT true
|
||||
carpet setDefault placementRotationFix true
|
||||
carpet setDefault cleanLogs true
|
||||
carpet setDefault lightningKillsDropsFix true
|
||||
carpet setDefault lagFreeSpawning true
|
||||
carpet setDefault accurateBlockPlacement true
|
||||
carpet setDefault flippinCactus true
|
||||
carpet setDefault defaultLoggers mobcaps,tps
|
||||
carpet setDefault language zh_cn
|
||||
carpet setDefault stackableShulkerBoxes 16
|
||||
carpet setDefault leadFix true
|
||||
carpet setDefault ctrlQCraftingFix true
|
||||
carpet setDefault smoothClientAnimations true
|
||||
carpet setDefault fastRedstoneDust true
|
||||
carpet setDefault reloadSuffocationFix true
|
||||
carpet setDefault persistentParrots true
|
||||
carpet setDefault missingTools true
|
||||
carpet setDefault optimizedTNT true
|
||||
carpet setDefault placementRotationFix true
|
||||
carpet setDefault cleanLogs true
|
||||
carpet setDefault lightningKillsDropsFix true
|
||||
carpet setDefault lagFreeSpawning true
|
||||
carpet setDefault accurateBlockPlacement true
|
||||
carpet setDefault flippinCactus true
|
||||
carpet setDefault defaultLoggers mobcaps,tps
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
{
|
||||
"id": "fz.admin.implement:autocarpet",
|
||||
"required": true
|
||||
}
|
||||
]
|
||||
}
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"fz:logger/level/debug"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"fz:logger/level/fine"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"fz:logger/level/info"
|
||||
]
|
||||
}
|
||||
File renamed without changes.
File renamed without changes.
Whitespace-only changes.
Whitespace-only changes.
@@ -18,6 +18,6 @@
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/on_aviate_one_meter"
|
||||
"function": "fz:event/player/on_aviate_one_meter"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"criteria": {
|
||||
"on_dead": {
|
||||
"trigger": "minecraft:tick",
|
||||
"conditions": {
|
||||
"player": [
|
||||
{
|
||||
"condition": "minecraft:entity_scores",
|
||||
"entity": "this",
|
||||
"scores": {
|
||||
"fz.event.death_count": {
|
||||
"min": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/player/on_dead"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"criteria": {
|
||||
"on_fished": {
|
||||
"trigger": "minecraft:fishing_rod_hooked",
|
||||
"conditions": {
|
||||
"item": {
|
||||
"tag": "fz:raw_fishes"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/player/on_fished"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"criteria": {
|
||||
"on_hurt_entity_with_tools": {
|
||||
"trigger": "minecraft:player_hurt_entity",
|
||||
"conditions": {
|
||||
"player": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"tag": "fz:tools"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/player/on_hurt_entity_with_tools"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"criteria": {
|
||||
"on_killed_mob_or_player": {
|
||||
"trigger": "minecraft:player_killed_entity",
|
||||
"conditions": {
|
||||
"entity": [
|
||||
{
|
||||
"condition": "minecraft:inverted",
|
||||
"term": {
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"type": "#fz:ignore_on_player_killed_entity"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"killing_blow": {
|
||||
"bypasses_invulnerability": false
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/player/on_killed_mob_or_player"
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,6 @@
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/on_login"
|
||||
"function": "fz:event/player/on_login"
|
||||
}
|
||||
}
|
||||
@@ -4,12 +4,15 @@
|
||||
"trigger": "minecraft:thrown_item_picked_up_by_entity",
|
||||
"conditions": {
|
||||
"entity": {
|
||||
"type": "minecraft:piglin"
|
||||
"type": "minecraft:piglin",
|
||||
"flags": {
|
||||
"is_baby": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/on_piglin_trade"
|
||||
"function": "fz:event/player/on_piglin_trade"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"criteria": {
|
||||
"on_placed_block": {
|
||||
"trigger": "minecraft:placed_block"
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/player/on_placed_block"
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,6 @@
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/on_play_one_hour"
|
||||
"function": "fz:event/player/on_play_one_hour"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"criteria": {
|
||||
"on_shears_used_on_entity": {
|
||||
"trigger": "minecraft:player_interacted_with_entity",
|
||||
"conditions": {
|
||||
"entity": {
|
||||
"type": "#fz:shearable"
|
||||
},
|
||||
"item": {
|
||||
"tag": "fz:tool/shears"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/player/on_shears_used_on_entity"
|
||||
}
|
||||
}
|
||||
@@ -10,5 +10,8 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/player/on_sneak"
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"criteria": {
|
||||
"on_damage_taken": {
|
||||
"on_took_damage": {
|
||||
"trigger": "minecraft:tick",
|
||||
"conditions": {
|
||||
"player": [
|
||||
@@ -18,6 +18,6 @@
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/on_damage_taken"
|
||||
"function": "fz:event/player/on_took_damage"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"criteria": {
|
||||
"on_tools_used_on_block": {
|
||||
"__comment": "斧子剥树皮会触发两次!",
|
||||
"trigger": "minecraft:item_used_on_block",
|
||||
"conditions": {
|
||||
"item": {
|
||||
"tag": "fz:tools"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/player/on_tools_used_on_block"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "fz:sneak",
|
||||
"parent": "fz:event/on_sneak",
|
||||
"criteria": {
|
||||
"on_unsneak": {
|
||||
"trigger": "minecraft:tick",
|
||||
@@ -11,7 +11,7 @@
|
||||
"type_specific": {
|
||||
"type": "player",
|
||||
"advancements": {
|
||||
"fz:sneak": true
|
||||
"fz:event/on_sneak": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,6 @@
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/on_unsneak"
|
||||
"function": "fz:event/player/on_unsneak"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"criteria": {
|
||||
"on_used_tool": {
|
||||
"trigger": "minecraft:tick",
|
||||
"conditions": {
|
||||
"player": [
|
||||
{
|
||||
"condition": "minecraft:reference",
|
||||
"entity": "this",
|
||||
"name": "fz:used_tool"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/player/on_used_tool"
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,6 @@
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/on_villager_trade"
|
||||
"function": "fz:event/player/on_villager_trade"
|
||||
}
|
||||
}
|
||||
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
@@ -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
|
||||
@@ -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
|
||||
+5
-3
@@ -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": "已卸载系统组件:事件"}]
|
||||
@@ -1,8 +1,5 @@
|
||||
# 调用者:#fz:install
|
||||
|
||||
## 整数类型
|
||||
scoreboard objectives add fz.variable.integer dummy
|
||||
|
||||
## 安装模块
|
||||
function #fz:module/install
|
||||
|
||||
|
||||
+28
-29
@@ -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": "日志等级设为一般信息"}]
|
||||
@@ -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
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 173 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user