diff --git a/README.txt b/README.txt index e84b40c..d356a1a 100644 --- a/README.txt +++ b/README.txt @@ -1,15 +1,26 @@ -*This project is licensed under the terms of the GNU General Public License v3.0.* -*Copyright (C)2019 Harvey.Kang* +# @Author: Harvey.Kang +# @Create: 2019-10-01 +# @License: GNU General Public License, version 3 (GPL-3.0) + +# This project is licensed under the terms of the GNU General Public License v3.0. +# Copyright (C)2019 Harvey.Kang + 记分板:/trigger scoreswitch set -1关;1循环播放;2-9订阅单独的记分板 扫地姬:/trigger cleaner set -1关;>=30开 +如果您在使用carpet mod的话: +务必使用“/script invoke summon 玩家名”召唤假人,可以避免将他们计入记分板总分! +务必使用“/script invoke kill 玩家名”移除假人,否则其标签无法删除! + +v1.3.2 +-为carpet mod小人添加防止计入记分板总分的生成/删除命令 v1.3.1 -增加活跃度排行(小时)记分板 v1.3.0 --支持1.14.x-1.15.x +-支持1.15 -大修记分板,增加了总分数计算和显示 --*不兼容*之前版本的记分板 +-*不兼容*1.2.x的记分板 -添加部分代码的注释 v1.2.3 @@ -48,4 +59,4 @@ v1.0 -支持1.14.x -增加玩家睡觉提醒 -增加玩家tab栏和头顶的血量显示 --增加记分版:挖掘量、击杀数、死亡次数、钓鱼次数、交易次数,以及记分版开关 +-增加记分版:挖掘量、造成伤害量、死亡次数、钓鱼次数、交易次数,以及记分版开关 \ No newline at end of file diff --git a/data/fz/functions/install.mcfunction b/data/fz/functions/install.mcfunction index 7552454..f073180 100644 --- a/data/fz/functions/install.mcfunction +++ b/data/fz/functions/install.mcfunction @@ -1,9 +1,22 @@ +# @Author: Harvey.Kang +# @Date: 2019-10-01 +# @Last Modified by: Harvey.Kang +# @Last Modified time: 2019-12-15 03:53:27 +# @License: GNU General Public License, version 3 (GPL-3.0) + +# This project is licensed under the terms of the GNU General Public License v3.0. +# Copyright (C)2019 Harvey.Kang + scoreboard objectives add timeCounter dummy scoreboard objectives add 20 dummy +scoreboard objectives add carpet dummy scoreboard players set 20 20 20 +scoreboard players reset carpet carpet +execute store result score carpet carpet run carpet +execute if score carpet carpet matches 1 run function fz:scarpet function fz:score/install function fz:health/install function fz:sleep/install function fz:cleaner/install function fz:logintips/install -tellraw @a [{"text":"[Datapack]"},{"text":" FZ'sDataPack v1.3.1 installed successfully","color":"gold"}] \ No newline at end of file +tellraw @a [{"text":"[Datapack]"},{"text":" FZ'sDataPack v1.3.2 installed successfully","color":"gold"}] \ No newline at end of file diff --git a/data/fz/functions/logintips/main.mcfunction b/data/fz/functions/logintips/main.mcfunction index 275e382..7da063a 100644 --- a/data/fz/functions/logintips/main.mcfunction +++ b/data/fz/functions/logintips/main.mcfunction @@ -1,3 +1,5 @@ -tellraw @a[scores={leaveGame=0..}] [{"text":"使用","bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false},{"text":"/trigger cleaner set -1或>30的数字(单位:秒)","bold":false,"italic":false,"underlined":true,"strikethrough":false,"obfuscated":false,"insertion":"/trigger cleaner set","hoverEvent":{"action":"show_text","value":"shift点击写入聊天栏"}},{"text":"来关/开扫地姬","bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false}] -tellraw @a[scores={leaveGame=0..}] [{"text":"使用","bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false},{"text":"/trigger scoreswitch set -1或1-7的数字","bold":false,"italic":false,"underlined":true,"strikethrough":false,"obfuscated":false,"insertion":"/trigger scoreswitch set","hoverEvent":{"action":"show_text","value":"shift点击写入聊天栏"}},{"text":"来关/开记分板","bold":false,"italic":false,"underlined":false,"strikethrough":false,"obfuscated":false}] +tellraw @a[scores={leaveGame=0..}] [{"text":"使用"},{"text":"/trigger cleaner set -1或≥30(单位:秒)","underlined":true,"strikethrough":false,"obfuscated":false,"insertion":"/trigger cleaner set","hoverEvent":{"action":"show_text","value":"shift点击写入聊天栏"}},{"text":"来关/开扫地姬"}] +tellraw @a[scores={leaveGame=0..}] [{"text":"使用"},{"text":"/trigger scoreswitch set -1或1-9","underlined":true,"insertion":"/trigger scoreswitch set","hoverEvent":{"action":"show_text","value":"shift点击写入聊天栏"}},{"text":"来关/开记分板"}] +execute if score carpet carpet matches 1.. run tellraw @a[scores={leaveGame=0..}] [{"text":"务必使用","color":"dark_red"},{"text":"/script invoke summon 玩家名","underlined":true,"color":"red","insertion":"/script invoke summon ","hoverEvent":{"action":"show_text","value":"shift点击写入聊天栏"}},{"text":"召唤假人,可以避免将他们计入记分板总分!","color":"dark_red"}] +execute if score carpet carpet matches 1.. run tellraw @a[scores={leaveGame=0..}] [{"text":"务必使用","color":"dark_red"},{"text":"/script invoke kill 玩家名","underlined":true,"color":"red","insertion":"/script invoke kill ","hoverEvent":{"action":"show_text","value":"shift点击写入聊天栏"}},{"text":"删除假人,否则其标签无法删除!","color":"dark_red"}] scoreboard players set @a[scores={leaveGame=0..}] leaveGame -1 \ No newline at end of file diff --git a/data/fz/functions/scarpet.mcfunction b/data/fz/functions/scarpet.mcfunction new file mode 100644 index 0000000..e9c6869 --- /dev/null +++ b/data/fz/functions/scarpet.mcfunction @@ -0,0 +1,2 @@ +#带标签的假玩家# +script run __config() -> m('stay_loaded': true);__command() -> (p = player();summon(slice(p,0,12)+'_bot');'';);global_tag = 'carpetBot';summon(player_name) ->(player_name = slice(player_name, 0, 16);s_player = player();if (player(player_name), exit('Player '+player_name+' already exists'));player_name = replace(player_name, '\\s','');run(str('player %s spawn at %f %f %f', player_name, s_player~'x', s_player~'y', s_player~'z'));if (!(player(player_name)), exit('failed to spawn player '+player_name));modify(player(player_name), 'tag', global_tag);logger('fake player tag added to player '+player_name); '';);kill(player_name) ->( player_name = slice(player_name, 0, 16); if (!(player (player_name)), exit('Player '+player_name+' is not aviable')); modify(player(player_name), 'clear_tag', global_tag);run(str('player %s kill', player_name)); logger('fake player tag remove from player '+player_name););__on_statistic(player, category, stat, value) ->(if (stat == 'deaths' && category == 'custom',if (query(player, 'has_tag', global_tag),modify(player, 'clear_tag', global_tag);logger('fake player tag removed from player '+player);))); \ No newline at end of file diff --git a/data/fz/functions/score/activation/install.mcfunction b/data/fz/functions/score/activation/install.mcfunction index 3dd990f..37223aa 100644 --- a/data/fz/functions/score/activation/install.mcfunction +++ b/data/fz/functions/score/activation/install.mcfunction @@ -1,4 +1,3 @@ -scoreboard objectives add actCounter dummy scoreboard objectives add activation dummy [{"text":"活跃度排行","color":"aqua"},{"text":"(小时)","color":"gold"}] team add activation team modify activation color aqua diff --git a/data/fz/functions/score/install.mcfunction b/data/fz/functions/score/install.mcfunction index 1629e72..9cfc60d 100644 --- a/data/fz/functions/score/install.mcfunction +++ b/data/fz/functions/score/install.mcfunction @@ -2,13 +2,22 @@ function fz:score/activation/install #### #安装记分项目# -scoreboard objectives add digCounter dummy {"text":"挖掘榜","color":"gray"} -scoreboard objectives add deathCounter deathCount {"text":"死亡榜","color":"dark_red"} -scoreboard objectives add killCounter totalKillCount {"text":"击杀榜","color":"red"} -scoreboard objectives add tradingCounter minecraft.custom:minecraft.traded_with_villager {"text":"PY榜","color":"green"} -scoreboard objectives add fishingCounter minecraft.custom:minecraft.fish_caught {"text":"钓鱼榜","color":"blue"} -scoreboard objectives add damageTaken minecraft.custom:minecraft.damage_taken [{"text":"奥利给榜","color":"yellow"},{"text":"(伤害*10)","color":"gole"}] -scoreboard objectives add totalList dummy {"text":"统计总量","color":"light_purple"} +scoreboard objectives add digCounter dummy +scoreboard objectives add deathCounter deathCount +scoreboard objectives add killCounter totalKillCount +scoreboard objectives add tradingCounter minecraft.custom:minecraft.traded_with_villager +scoreboard objectives add fishingCounter minecraft.custom:minecraft.fish_caught +scoreboard objectives add damageTaken minecraft.custom:minecraft.damage_taken +scoreboard objectives add totalList dummy +#### +#编辑记分项目# +scoreboard objectives modify digCounter displayname {"text":"挖掘榜","color":"gray"} +scoreboard objectives modify deathCounter displayname {"text":"死亡榜","color":"dark_red"} +scoreboard objectives modify killCounter displayname {"text":"击杀榜","color":"red"} +scoreboard objectives modify tradingCounter displayname {"text":"PY榜","color":"green"} +scoreboard objectives modify fishingCounter displayname {"text":"钓鱼榜","color":"blue"} +scoreboard objectives modify damageTaken displayname [{"text":"奥利给榜","color":"yellow"},{"text":"(受伤害*10)","color":"gole"}] +scoreboard objectives modify totalList displayname {"text":"统计总量","color":"light_purple"} #### #安装工具项目# scoreboard objectives add diamond_pickaxe minecraft.used:minecraft.diamond_pickaxe diff --git a/data/fz/functions/score/main.mcfunction b/data/fz/functions/score/main.mcfunction index 2f86c66..eb9606c 100644 --- a/data/fz/functions/score/main.mcfunction +++ b/data/fz/functions/score/main.mcfunction @@ -51,13 +51,13 @@ execute as @a unless score @s tFishC matches -2147483648..2147483647 run scorebo execute as @a unless score @s tHurtC matches -2147483648..2147483647 run scoreboard players operation @s tHurtC = @s tHurtC execute as @a unless score @s tActC matches -2147483648..2147483647 run scoreboard players operation @s tActC = @s tActC #两板分数不等时运行计算函数 -execute as @a unless score @s tDigC = @s digCounter run function fz:score/totalcalculator/tdigc -execute as @a unless score @s tKillC = @s killCounter run function fz:score/totalcalculator/tkillc -execute as @a unless score @s tDeathC = @s deathCounter run function fz:score/totalcalculator/tdeathc -execute as @a unless score @s tTradeC = @s tradingCounter run function fz:score/totalcalculator/ttradec -execute as @a unless score @s tFishC = @s fishingCounter run function fz:score/totalcalculator/tfishc -execute as @a unless score @s tHurtC = @s damageTaken run function fz:score/totalcalculator/thurtc -execute as @a unless score @s tActC = @s activation run function fz:score/activation/totalcalculator +execute as @a[tag=!carpetBot] unless score @s tDigC = @s digCounter run function fz:score/totalcalculator/tdigc +execute as @a[tag=!carpetBot] unless score @s tKillC = @s killCounter run function fz:score/totalcalculator/tkillc +execute as @a[tag=!carpetBot] unless score @s tDeathC = @s deathCounter run function fz:score/totalcalculator/tdeathc +execute as @a[tag=!carpetBot] unless score @s tTradeC = @s tradingCounter run function fz:score/totalcalculator/ttradec +execute as @a[tag=!carpetBot] unless score @s tFishC = @s fishingCounter run function fz:score/totalcalculator/tfishc +execute as @a[tag=!carpetBot] unless score @s tHurtC = @s damageTaken run function fz:score/totalcalculator/thurtc +execute as @a[tag=!carpetBot] unless score @s tActC = @s activation run function fz:score/activation/totalcalculator #总榜在分榜中显示开sc=1 execute if score totalDug totalDug matches 1.. run scoreboard players operation totalDug digCounter = totalDug totalList execute if score totalKilled totalKilled matches 1.. run scoreboard players operation totalKilled killCounter = totalKilled totalList