From 315039abbfd198034d75e4491d322c87baaadd99 Mon Sep 17 00:00:00 2001 From: zhangyuheng Date: Tue, 20 Feb 2024 16:42:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E7=A7=B0=E5=8F=B7=E9=95=BF=E5=BA=A6=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + pom.xml | 2 +- .../java/cn/lunadeer/miniplayertitle/Commands.java | 4 ++++ .../java/cn/lunadeer/miniplayertitle/XPlayer.java | 5 +++++ .../miniplayertitle/utils/ConfigManager.java | 13 +++++++++++++ src/main/resources/config.yml | 1 + 6 files changed, 25 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5d4eb7e..227513d 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,7 @@ Suffix: "]" CustomCost: Enabled: true Cost: 1000 + MaxLength: 8 # 玩家称号币初始值 DefaultCoin: 0 diff --git a/pom.xml b/pom.xml index b7cc2c6..2f398a0 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ cn.lunadeer MiniPlayerTitle - 2.8.7 + 2.9.0 jar MiniPlayerTitle diff --git a/src/main/java/cn/lunadeer/miniplayertitle/Commands.java b/src/main/java/cn/lunadeer/miniplayertitle/Commands.java index ce84d04..21a55ac 100644 --- a/src/main/java/cn/lunadeer/miniplayertitle/Commands.java +++ b/src/main/java/cn/lunadeer/miniplayertitle/Commands.java @@ -167,8 +167,12 @@ public class Commands implements TabExecutor { line_4.append("可以使用 Minecraft渐变颜色生成器 来生成具有渐变效果的称号") .append(Component.text("[点击在浏览器中打开生成器]", ViewStyles.action_color) .clickEvent(ClickEvent.clickEvent(ClickEvent.Action.OPEN_URL, "https://ssl.lunadeer.cn:14440/"))); + Line line_5 = Line.create(); + line_5.append("最大长度(不含颜色代码):") + .append(MiniPlayerTitle.config.getMaxLength().toString()); view.addLine(line_1) .addLine(line_2) + .addLine(line_5) .addLine(line_3) .addLine(line_4); view.showOn(player); diff --git a/src/main/java/cn/lunadeer/miniplayertitle/XPlayer.java b/src/main/java/cn/lunadeer/miniplayertitle/XPlayer.java index 78b31dc..389c838 100644 --- a/src/main/java/cn/lunadeer/miniplayertitle/XPlayer.java +++ b/src/main/java/cn/lunadeer/miniplayertitle/XPlayer.java @@ -211,6 +211,11 @@ public class XPlayer { Notification.error(this._player, "创建称号失败"); return; } + if (title.getTitleContent().length() > MiniPlayerTitle.config.getMaxLength()) { + Notification.error(this._player, "称号长度超过限制,最大字符长度(不含颜色代码): " + MiniPlayerTitle.config.getMaxLength()); + Title.delete(title.getId()); + return; + } if (exist_titles.contains(title.getTitleContent())) { Notification.error(this._player, "已存在同名称号"); Title.delete(title.getId()); diff --git a/src/main/java/cn/lunadeer/miniplayertitle/utils/ConfigManager.java b/src/main/java/cn/lunadeer/miniplayertitle/utils/ConfigManager.java index 3d06775..26a80bf 100644 --- a/src/main/java/cn/lunadeer/miniplayertitle/utils/ConfigManager.java +++ b/src/main/java/cn/lunadeer/miniplayertitle/utils/ConfigManager.java @@ -25,6 +25,7 @@ public class ConfigManager { _default_coin = _file.getInt("DefaultCoin", 0); _enable_custom = _file.getBoolean("CustomCost.Enabled", true); _custom_cost = _file.getInt("CustomCost.Cost", 1000); + _max_length = _file.getInt("CustomCost.MaxLength", 8); } public Boolean isDebug() { @@ -90,6 +91,10 @@ public class ConfigManager { return _custom_cost; } + public Integer getMaxLength() { + return _max_length; + } + public void enableCustom(){ _enable_custom = true; _file.set("CustomCost.Enabled", true); @@ -108,6 +113,12 @@ public class ConfigManager { _plugin.saveConfig(); } + public void setMaxLength(Integer length){ + _max_length = length; + _file.set("CustomCost.MaxLength", length); + _plugin.saveConfig(); + } + private final MiniPlayerTitle _plugin; private FileConfiguration _file; @@ -123,4 +134,6 @@ public class ConfigManager { private Integer _default_coin; private Boolean _enable_custom; private Integer _custom_cost; + + private Integer _max_length; } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 756ebb2..8c5eda1 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -11,6 +11,7 @@ Suffix: "]" CustomCost: Enabled: true Cost: 1000 + MaxLength: 8 DefaultCoin: 0