规范了事件系统,完成了实现计分板赋值逻辑
This commit is contained in:
parent
171b19c93a
commit
4665599abb
9
.gitignore
vendored
Normal file
9
.gitignore
vendored
Normal file
@ -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
|
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -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": ...
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -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
|
9
data/fz.admin/tags/functions/autocarpet.json
Normal file
9
data/fz.admin/tags/functions/autocarpet.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
{
|
||||
"id": "fz.admin.implement:autocarpet",
|
||||
"required": true
|
||||
}
|
||||
]
|
||||
}
|
6
data/fz.admin/tags/functions/log_level/debug.json
Normal file
6
data/fz.admin/tags/functions/log_level/debug.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"fz:logger/level/debug"
|
||||
]
|
||||
}
|
6
data/fz.admin/tags/functions/log_level/fine.json
Normal file
6
data/fz.admin/tags/functions/log_level/fine.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"fz:logger/level/fine"
|
||||
]
|
||||
}
|
6
data/fz.admin/tags/functions/log_level/info.json
Normal file
6
data/fz.admin/tags/functions/log_level/info.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"fz:logger/level/info"
|
||||
]
|
||||
}
|
0
data/fz.admin/tags/functions/uninstall/sweeper.json
Normal file
0
data/fz.admin/tags/functions/uninstall/sweeper.json
Normal file
@ -18,6 +18,6 @@
|
||||
}
|
||||
},
|
||||
"rewards": {
|
||||
"function": "fz:event/on_aviate_one_meter"
|
||||
"function": "fz:event/player/on_aviate_one_meter"
|
||||
}
|
||||
}
|
23
data/fz/advancements/event/on_dead.json
Normal file
23
data/fz/advancements/event/on_dead.json
Normal file
@ -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"
|
||||
}
|
||||
}
|
15
data/fz/advancements/event/on_fished.json
Normal file
15
data/fz/advancements/event/on_fished.json
Normal file
@ -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"
|
||||
}
|
||||
}
|
19
data/fz/advancements/event/on_hurt_entity_with_tools.json
Normal file
19
data/fz/advancements/event/on_hurt_entity_with_tools.json
Normal file
@ -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"
|
||||
}
|
||||
}
|
27
data/fz/advancements/event/on_killed_mob_or_player.json
Normal file
27
data/fz/advancements/event/on_killed_mob_or_player.json
Normal file
@ -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"
|
||||
}
|
||||
}
|
10
data/fz/advancements/event/on_placed_block.json
Normal file
10
data/fz/advancements/event/on_placed_block.json
Normal file
@ -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"
|
||||
}
|
||||
}
|
18
data/fz/advancements/event/on_shears_used_on_entity.json
Normal file
18
data/fz/advancements/event/on_shears_used_on_entity.json
Normal file
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
16
data/fz/advancements/event/on_tools_used_on_block.json
Normal file
16
data/fz/advancements/event/on_tools_used_on_block.json
Normal file
@ -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"
|
||||
}
|
||||
}
|
19
data/fz/advancements/event/on_used_tool.json
Normal file
19
data/fz/advancements/event/on_used_tool.json
Normal file
@ -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"
|
||||
}
|
||||
}
|
0
data/fz/functions/boot_manager/0.mcfunction
Normal file
0
data/fz/functions/boot_manager/0.mcfunction
Normal file
0
data/fz/functions/boot_manager/1.mcfunction
Normal file
0
data/fz/functions/boot_manager/1.mcfunction
Normal file
0
data/fz/functions/boot_manager/10.mcfunction
Normal file
0
data/fz/functions/boot_manager/10.mcfunction
Normal file
0
data/fz/functions/boot_manager/2.mcfunction
Normal file
0
data/fz/functions/boot_manager/2.mcfunction
Normal file
0
data/fz/functions/boot_manager/3.mcfunction
Normal file
0
data/fz/functions/boot_manager/3.mcfunction
Normal file
0
data/fz/functions/boot_manager/4.mcfunction
Normal file
0
data/fz/functions/boot_manager/4.mcfunction
Normal file
0
data/fz/functions/boot_manager/5.mcfunction
Normal file
0
data/fz/functions/boot_manager/5.mcfunction
Normal file
0
data/fz/functions/boot_manager/6.mcfunction
Normal file
0
data/fz/functions/boot_manager/6.mcfunction
Normal file
0
data/fz/functions/boot_manager/7.mcfunction
Normal file
0
data/fz/functions/boot_manager/7.mcfunction
Normal file
0
data/fz/functions/boot_manager/8.mcfunction
Normal file
0
data/fz/functions/boot_manager/8.mcfunction
Normal file
0
data/fz/functions/boot_manager/9.mcfunction
Normal file
0
data/fz/functions/boot_manager/9.mcfunction
Normal 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
|
@ -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": "已初始化系统组件:事件"}]
|
47
data/fz/functions/event/install.mcfunction
Normal file
47
data/fz/functions/event/install.mcfunction
Normal file
@ -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
|
40
data/fz/functions/event/player/on_broke_block.mcfunction
Normal file
40
data/fz/functions/event/player/on_broke_block.mcfunction
Normal file
@ -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
|
14
data/fz/functions/event/player/on_dead.mcfunction
Normal file
14
data/fz/functions/event/player/on_dead.mcfunction
Normal file
@ -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
|
10
data/fz/functions/event/player/on_fished.mcfunction
Normal file
10
data/fz/functions/event/player/on_fished.mcfunction
Normal file
@ -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
|
10
data/fz/functions/event/player/on_login.mcfunction
Normal file
10
data/fz/functions/event/player/on_login.mcfunction
Normal file
@ -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
|
10
data/fz/functions/event/player/on_piglin_trade.mcfunction
Normal file
10
data/fz/functions/event/player/on_piglin_trade.mcfunction
Normal file
@ -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
|
10
data/fz/functions/event/player/on_placed_block.mcfunction
Normal file
10
data/fz/functions/event/player/on_placed_block.mcfunction
Normal file
@ -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
|
15
data/fz/functions/event/player/on_play_one_hour.mcfunction
Normal file
15
data/fz/functions/event/player/on_play_one_hour.mcfunction
Normal file
@ -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
|
7
data/fz/functions/event/player/on_sneak.mcfunction
Normal file
7
data/fz/functions/event/player/on_sneak.mcfunction
Normal file
@ -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
|
14
data/fz/functions/event/player/on_took_damage.mcfunction
Normal file
14
data/fz/functions/event/player/on_took_damage.mcfunction
Normal file
@ -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
|
16
data/fz/functions/event/player/on_used_tool.mcfunction
Normal file
16
data/fz/functions/event/player/on_used_tool.mcfunction
Normal file
@ -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计分板"}]
|
10
data/fz/functions/event/player/on_villager_trade.mcfunction
Normal file
10
data/fz/functions/event/player/on_villager_trade.mcfunction
Normal file
@ -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
|
16
data/fz/functions/event/player/reset_advancements.mcfunction
Normal file
16
data/fz/functions/event/player/reset_advancements.mcfunction
Normal file
@ -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": "的所有事件成就"}]
|
47
data/fz/functions/event/uninstall.mcfunction
Normal file
47
data/fz/functions/event/uninstall.mcfunction
Normal file
@ -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
|
||||
|
||||
|
@ -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
data/fz/functions/logger/load.mcfunction
Normal file
7
data/fz/functions/logger/load.mcfunction
Normal 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
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user