Compare commits

..

9 Commits

Author SHA1 Message Date
延皓 0905d460b6 添加reset命令 2022-09-12 21:53:54 +08:00
延皓 a40a33b19c release 3.0.0 2022-09-02 10:57:29 +08:00
延皓 423447dfe0 . 2022-09-02 10:53:30 +08:00
延皓 c11e3ea966 version beta.13 2022-09-02 10:45:23 +08:00
延皓 95c003825a fix #I5KIYF 2022-09-02 10:43:26 +08:00
延皓 40088893b5 修复挖掘榜失效的bug 2022-09-02 10:36:03 +08:00
延皓 c305885777 还是换回纯黑吧,, 2022-09-02 10:16:49 +08:00
延皓 284a7594ec . 2022-09-02 07:46:07 +08:00
延皓 faad8f7f24 . 2022-09-02 07:45:00 +08:00
22 changed files with 149 additions and 67 deletions
@@ -1,7 +1,7 @@
# 见#fzsd.extra.bbl:display/set_text
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.bedrock_broken_count set value '{"text": "破基岩榜", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.bedrock_broken_count
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "#202020"}
scoreboard objectives modify fzsd.module.scoreboard.display.bedrock_broken_count displayname {"text": "破基岩榜", "color": "black"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count color black
team modify fzsd.module.scoreboard.display.bedrock_broken_count displayName {"text": "破基岩榜", "color": "#202020"}
team modify fzsd.module.scoreboard.display.bedrock_broken_count displayName {"text": "破基岩榜", "color": "black"}
@@ -0,0 +1,28 @@
{
"parent": "fzsd:game_event",
"criteria": {
"on_tools_exclude_axes_used_on_block": {
"trigger": "minecraft:item_used_on_block",
"conditions": {
"player": [
{
"condition": "minecraft:reference",
"name": "fzsd:is_real_player"
}
],
"item": {
"tag": "fzsd:tool/axes"
},
"location": {
"__comment": "斧子剥树皮会触发两次,所以用目标方块限定只触发一次",
"block": {
"tag": "fzsd:stripped_blocks"
}
}
}
}
},
"rewards": {
"function": "fzsd:game_event/advancement/on_tools_used_on_block"
}
}
@@ -1,7 +1,7 @@
{
"parent": "fzsd:game_event",
"criteria": {
"on_tools_used_on_block": {
"on_tools_exclude_axes_used_on_block": {
"__comment": "斧子剥树皮会触发两次!",
"trigger": "minecraft:item_used_on_block",
"conditions": {
@@ -12,7 +12,7 @@
}
],
"item": {
"tag": "fzsd:tools"
"tag": "fzsd:tools_exclude_axes"
}
}
}
+2 -2
View File
@@ -1,5 +1,5 @@
execute store success storage fzsd:version fzsd.need_update int 1 run data merge storage fzsd:version {fzsd: {version: '3.0.0-beta.12'}}
execute store success storage fzsd:version fzsd.need_update int 1 run data merge storage fzsd:version {fzsd: {version: '3.0.0'}}
execute if data storage fzsd:version fzsd{need_update: 1} run function fzsd:system/update
function fzsd:system/carpet/try_load_fzsd_score
function #fzsd:load
execute if score fzsd.logger.level fzsd.variable.integer matches ..500 run tellraw @a [{"nbt": "fzsd.level.info", "interpret": true, "storage": "fzsd:logger"}, {"text": "FZ Survival Data Pack,当前版本:", "color": "gold"}, {"nbt":"fzsd.version", "storage": "fzsd:version", "color": "yellow"}]
execute if score fzsd.logger.level fzsd.variable.integer matches ..500 run tellraw @a [{"nbt": "fzsd.level.info", "interpret": true, "storage": "fzsd:logger"}, {"text": "FZ Survival Data Pack,当前版本:", "color": "gold"}, {"nbt":"fzsd.version", "storage": "fzsd:version", "color": "red"}]
@@ -1,5 +1,4 @@
# 调用者:advancements/fzsd:~
##
##
execute if score fzsd.logger.level fzsd.variable.integer matches ..400 run tellraw @a [{"nbt": "fzsd.level.debug", "interpret": true, "storage": "fzsd:logger"}, {"text": "事件已触发:玩家"}, {"selector": "@s"}, {"text": "在方块上使用了工具"}]
@@ -11,4 +10,5 @@ scoreboard players remove @s fzsd.event.used_tool.dig_offset 1
function #fzsd:game_event/player/on_tools_used_on_block
##
advancement revoke @s only fzsd:game_event/on_tools_used_on_block
advancement revoke @s only fzsd:game_event/on_tool_axes_used_on_block
advancement revoke @s only fzsd:game_event/on_tools_exclude_axes_used_on_block
@@ -1,3 +1,3 @@
scoreboard players add @a[predicate=fzsd:is_real_player] fz.event.play_ticks 1
scoreboard players add @a[predicate=fzsd:is_real_player] fzsd.event.play_ticks 1
function #fzsd:game_event/on_tick
schedule function fzsd:game_event/on_tick 1t replace
@@ -30,7 +30,7 @@ scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.eve
scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.wooden_pickaxe
scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.wooden_shovel
scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.wooden_sword
scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.offset
scoreboard players operation fzsd.var.score fzsd.variable.integer += @s fzsd.event.used_tool.dig_offset
##
execute unless score fzsd.var.score fzsd.variable.integer matches ..0 run function fzsd:game_event/player/on_broke_block_with_tool
@@ -1,4 +1,4 @@
scoreboard players set @s fzsd.event.used_tool.offset 0
scoreboard players set @s fzsd.event.used_tool.dig_offset 0
scoreboard players set @s fzsd.event.used_tool.diamond_axe 0
scoreboard players set @s fzsd.event.used_tool.diamond_hoe 0
scoreboard players set @s fzsd.event.used_tool.diamond_pickaxe 0
@@ -1,7 +1,7 @@
# 调用者:#fzsd:module/scoreboard/display/set_text/activation
data modify storage fzsd:module fzsd.scoreboard.text.activation set value '{"text": "活跃时间(h", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.activation set value '{"text": "活跃时间(h", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.activation
scoreboard objectives modify fzsd.module.scoreboard.display.activation displayname {"text": "活跃时间(h", "color": "#202020"}
scoreboard objectives modify fzsd.module.scoreboard.display.activation displayname {"text": "活跃时间(h", "color": "black"}
team modify fzsd.module.scoreboard.display.activation color black
team modify fzsd.module.scoreboard.display.activation displayName {"text": "活跃时间(h", "color": "#202020"}
team modify fzsd.module.scoreboard.display.activation displayName {"text": "活跃时间(h", "color": "black"}
@@ -1,7 +1,7 @@
# 调用者:#fzsd:module/scoreboard/display/set_text/aviating_distance
data modify storage fzsd:module fzsd.scoreboard.text.aviating_distance set value '{"text": "飞行距离", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.aviating_distance set value '{"text": "飞行距离", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.aviating_distance
scoreboard objectives modify fzsd.module.scoreboard.display.aviating_distance displayname {"text": "飞行距离", "color": "#202020"}
scoreboard objectives modify fzsd.module.scoreboard.display.aviating_distance displayname {"text": "飞行距离", "color": "black"}
team modify fzsd.module.scoreboard.display.aviating_distance color black
team modify fzsd.module.scoreboard.display.aviating_distance displayName {"text": "飞行距离", "color": "#202020"}
team modify fzsd.module.scoreboard.display.aviating_distance displayName {"text": "飞行距离", "color": "black"}
@@ -1,6 +1,6 @@
# 调用者:#fzsd:module/scoreboard/display/set_text/carousel
data modify storage fzsd:module fzsd.scoreboard.text.carousel set value '{"text": "轮播", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.carousel set value '{"text": "轮播", "color": "black"}'
team modify fzsd.module.scoreboard.display.carousel color black
team modify fzsd.module.scoreboard.display.carousel displayName {"text": "轮播", "color": "#202020"}
team modify fzsd.module.scoreboard.display.carousel displayName {"text": "轮播", "color": "black"}
scoreboard players set fzsd.module.scoreboard.carousel.color fzsd.variable.integer 0
@@ -1,7 +1,7 @@
# 调用者:#fzsd:module/scoreboard/display/set_text/damage_taken
data modify storage fzsd:module fzsd.scoreboard.text.damage_taken set value '{"text": "抖M榜", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.damage_taken set value '{"text": "抖M榜", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.damage_taken
scoreboard objectives modify fzsd.module.scoreboard.display.damage_taken displayname {"text": "抖M榜", "color": "#202020"}
scoreboard objectives modify fzsd.module.scoreboard.display.damage_taken displayname {"text": "抖M榜", "color": "black"}
team modify fzsd.module.scoreboard.display.damage_taken color black
team modify fzsd.module.scoreboard.display.damage_taken displayName {"text": "抖M榜", "color": "#202020"}
team modify fzsd.module.scoreboard.display.damage_taken displayName {"text": "抖M榜", "color": "black"}
@@ -1,7 +1,7 @@
# 调用者:#fzsd:module/scoreboard/display/set_text/death_count
data modify storage fzsd:module fzsd.scoreboard.text.death_count set value '{"text": "死亡榜", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.death_count set value '{"text": "死亡榜", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.death_count
scoreboard objectives modify fzsd.module.scoreboard.display.death_count displayname {"text": "死亡榜", "color": "#202020"}
scoreboard objectives modify fzsd.module.scoreboard.display.death_count displayname {"text": "死亡榜", "color": "black"}
team modify fzsd.module.scoreboard.display.death_count color black
team modify fzsd.module.scoreboard.display.death_count displayName {"text": "死亡榜", "color": "#202020"}
team modify fzsd.module.scoreboard.display.death_count displayName {"text": "死亡榜", "color": "black"}
@@ -1,7 +1,7 @@
# 调用者:#fzsd:module/scoreboard/display/set_text/dig_count
data modify storage fzsd:module fzsd.scoreboard.text.dig_count set value '{"text": "挖掘榜", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.dig_count set value '{"text": "挖掘榜", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.dig_count
scoreboard objectives modify fzsd.module.scoreboard.display.dig_count displayname {"text": "挖掘榜", "color": "#202020"}
scoreboard objectives modify fzsd.module.scoreboard.display.dig_count displayname {"text": "挖掘榜", "color": "black"}
team modify fzsd.module.scoreboard.display.dig_count color black
team modify fzsd.module.scoreboard.display.dig_count displayName {"text": "挖掘榜", "color": "#202020"}
team modify fzsd.module.scoreboard.display.dig_count displayName {"text": "挖掘榜", "color": "black"}
@@ -1,7 +1,7 @@
# 调用者:#fzsd:module/scoreboard/display/set_text/fishing_count
data modify storage fzsd:module fzsd.scoreboard.text.fishing_count set value '{"text": "钓鱼榜", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.fishing_count set value '{"text": "钓鱼榜", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.fishing_count
scoreboard objectives modify fzsd.module.scoreboard.display.fishing_count displayname {"text": "钓鱼榜", "color": "#202020"}
scoreboard objectives modify fzsd.module.scoreboard.display.fishing_count displayname {"text": "钓鱼榜", "color": "black"}
team modify fzsd.module.scoreboard.display.fishing_count color black
team modify fzsd.module.scoreboard.display.fishing_count displayName {"text": "钓鱼榜", "color": "#202020"}
team modify fzsd.module.scoreboard.display.fishing_count displayName {"text": "钓鱼榜", "color": "black"}
@@ -1,7 +1,7 @@
# 调用者:#fzsd:module/scoreboard/display/set_text/general
data modify storage fzsd:module fzsd.scoreboard.text.general set value '{"text": "总榜", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.general set value '{"text": "总榜", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.general
scoreboard objectives modify fzsd.module.scoreboard.display.general displayname {"text": "总榜", "color": "#202020"}
scoreboard objectives modify fzsd.module.scoreboard.display.general displayname {"text": "总榜", "color": "black"}
team modify fzsd.module.scoreboard.display.general color black
team modify fzsd.module.scoreboard.display.general displayName {"text": "总榜", "color": "#202020"}
team modify fzsd.module.scoreboard.display.general displayName {"text": "总榜", "color": "black"}
@@ -1,7 +1,7 @@
# 调用者:#fzsd:module/scoreboard/display/set_text/kill_count
data modify storage fzsd:module fzsd.scoreboard.text.kill_count set value '{"text": "击杀榜", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.kill_count set value '{"text": "击杀榜", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.kill_count
scoreboard objectives modify fzsd.module.scoreboard.display.kill_count displayname {"text": "击杀榜", "color": "#202020"}
scoreboard objectives modify fzsd.module.scoreboard.display.kill_count displayname {"text": "击杀榜", "color": "black"}
team modify fzsd.module.scoreboard.display.kill_count color black
team modify fzsd.module.scoreboard.display.kill_count displayName {"text": "击杀榜", "color": "#202020"}
team modify fzsd.module.scoreboard.display.kill_count displayName {"text": "击杀榜", "color": "black"}
@@ -1,7 +1,7 @@
# 调用者:#fzsd:module/scoreboard/display/set_text/placement_count
data modify storage fzsd:module fzsd.scoreboard.text.placement_count set value '{"text": "方块放置榜", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.placement_count set value '{"text": "方块放置榜", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.placement_count
scoreboard objectives modify fzsd.module.scoreboard.display.placement_count displayname {"text": "方块放置榜", "color": "#202020"}
scoreboard objectives modify fzsd.module.scoreboard.display.placement_count displayname {"text": "方块放置榜", "color": "black"}
team modify fzsd.module.scoreboard.display.placement_count color black
team modify fzsd.module.scoreboard.display.placement_count displayName {"text": "方块放置榜", "color": "#202020"}
team modify fzsd.module.scoreboard.display.placement_count displayName {"text": "方块放置榜", "color": "black"}
@@ -1,7 +1,7 @@
# 调用者:#fzsd:module/scoreboard/display/set_text/trade_count
data modify storage fzsd:module fzsd.scoreboard.text.trade_count set value '{"text": "交易榜", "color": "#202020"}'
data modify storage fzsd:module fzsd.scoreboard.text.trade_count set value '{"text": "交易榜", "color": "black"}'
scoreboard objectives setdisplay sidebar.team.black fzsd.module.scoreboard.display.trade_count
scoreboard objectives modify fzsd.module.scoreboard.display.trade_count displayname {"text": "交易榜", "color": "#202020"}
scoreboard objectives modify fzsd.module.scoreboard.display.trade_count displayname {"text": "交易榜", "color": "black"}
team modify fzsd.module.scoreboard.display.trade_count color black
team modify fzsd.module.scoreboard.display.trade_count displayName {"text": "交易榜", "color": "#202020"}
team modify fzsd.module.scoreboard.display.trade_count displayName {"text": "交易榜", "color": "black"}
@@ -1,6 +1,5 @@
{
"replace": false,
"values": [
]
}
@@ -0,0 +1,10 @@
{
"replace": false,
"values": [
"#fzsd:tool/hoes",
"#fzsd:tool/pickaxes",
"#fzsd:tool/shears",
"#fzsd:tool/shovels",
"#fzsd:tool/swords"
]
}
+67 -22
View File
@@ -2,6 +2,18 @@
// 忽略假人分数
// **请勿修改文件名**
global_app_version = '1.0-beta.8';
global_current_scoreboard_list = [
'fzsd.module.scoreboard.display.activation',
'fzsd.module.scoreboard.display.damage_taken',
'fzsd.module.scoreboard.display.death_count',
'fzsd.module.scoreboard.display.dig_count',
'fzsd.module.scoreboard.display.fishing_count',
'fzsd.module.scoreboard.display.kill_count',
'fzsd.module.scoreboard.display.trade_count',
'fzsd.module.scoreboard.display.bedrock_broken_count',
'fzsd.module.scoreboard.display.aviating_distance',
'fzsd.module.scoreboard.display.placement_count'
];
__config() -> {
'scope' -> 'global',
@@ -13,17 +25,28 @@ __config() -> {
'commands' -> {
'' -> 'help',
'help' -> 'help',
'delete_old <delete_old>' -> 'delete_old',
'update_from <update_from>' -> 'update_from',
'restore_from_stats' -> 'restore_from_stats',
'recalculate_total' -> 'recalculate_total_scores',
'commandPlayer <boolean>' -> 'command_player'
'deleteOld <deleteOld>' -> 'delete_old',
'updateFrom <updateFrom>' -> 'update_from',
'restoreFrom' -> 'restore_from',
'recalculate <scoreboardID>' -> 'recalculate_total_score',
'recalculate' -> 'recalculate_total_scores',
'commandPlayer <boolean>' -> 'command_player',
'reset <scoreboardPlayer> <scoreboardID>' -> 'reset',
'reset <scoreboardPlayer>' -> ['reset', null]
},
'arguments' -> {
'scoreboardID' -> {
'type' -> 'term',
'suggest' -> global_current_scoreboard_list
},
'scoreboardPlayer' -> {
'type' -> 'term',
'suggester' -> _(args) -> get_scoreboard_player_list()
},
'boolean' -> {
'type' -> 'bool'
},
'update_from' -> {
'updateFrom' -> {
'type' -> 'term',
'suggest' -> [
'2.x',
@@ -32,7 +55,7 @@ __config() -> {
'3.0-beta.10'
]
},
'delete_old' -> {
'deleteOld' -> {
'type' -> 'term',
'suggest' -> [
'2.x',
@@ -79,6 +102,37 @@ __on_player_disconnects(player, reason) -> (
try_restore_team_from_cache(player);
);
get_scoreboard_player_list() -> (
// 获取所有计分板下的所有玩家列表
set = m();
for(global_current_scoreboard_list,
for(scoreboard(_),
if(_ ~ '\\w',
put(set:_, null);
);
);
);
return(keys(set));
);
reset(player, scoreboard) -> (
if(scoreboard == null,
(
for(global_current_scoreboard_list,
scoreboard_remove(_, player);
);
recalculate_total_scores();
print('已重置' + player + '的所有分数');
),
(
scoreboard_remove(scoreboard, player);
recalculate_total_score(scoreboard);
print('已重置' + player + '' + scoreboard + '分数');
)
);
return();
);
try_restore_team_from_cache(player) -> (
player_team = player ~ 'team';
player_name = player ~ 'name';
@@ -136,6 +190,7 @@ update_from(fzsd_version) -> (
merge_score('fzsd.module.scoreboard.display.bedrock_broke_count', 'fzsd.module.scoreboard.display.bedrock_broken_count', fzsd_version);
delete_old(fzsd_version);
scoreboard_remove('fzsd.module.scoreboard.display.placement_count', '总放置方块数');
scoreboard_remove('fzsd.module.scoreboard.display.general', '总放置方块数');
),
fzsd_version == '3.0-beta.9',
(
@@ -264,24 +319,13 @@ get_total_score_name_new(scoreboard) -> (
);
recalculate_total_scores() -> (
scoreboards = [
'fzsd.module.scoreboard.display.activation',
'fzsd.module.scoreboard.display.damage_taken',
'fzsd.module.scoreboard.display.death_count',
'fzsd.module.scoreboard.display.dig_count',
'fzsd.module.scoreboard.display.fishing_count',
'fzsd.module.scoreboard.display.kill_count',
'fzsd.module.scoreboard.display.trade_count',
'fzsd.module.scoreboard.display.bedrock_broken_count',
'fzsd.module.scoreboard.display.placement_count',
'fzsd.module.scoreboard.display.aviating_distance'
];
for(scoreboards,recalculate_total_score(_, get_total_score_name_new(_)));
for(global_current_scoreboard_list, recalculate_total_score(_));
print('已重新计算总分!');
return();
);
recalculate_total_score(scoreboard, total_score_name_new) -> (
recalculate_total_score(scoreboard) -> (
total_score_name_new = get_total_score_name_new(scoreboard);
// 计算总分
total_score = 0;
for(scoreboard(scoreboard),
@@ -308,7 +352,7 @@ display_total_score(scoreboard) -> (
return();
);
restore_from_stats() -> (
restore_from() -> (
print('暂未开发');
return();
);
@@ -320,6 +364,7 @@ merge_stat(scoreboard, ...stats) -> (
command_player(boolean) -> (
print(run('carpet setDefault commandPlayer ' + str(boolean)):1:0);
return();
);
// 工具函数