diff --git a/pom.xml b/pom.xml
index ad52f3e..f092661 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
cn.lunadeer
MiniPlayerTitle
- 3.0.0
+ 3.0.1
jar
MiniPlayerTitle
diff --git a/src/main/java/cn/lunadeer/miniplayertitle/Commands.java b/src/main/java/cn/lunadeer/miniplayertitle/Commands.java
index 6c0cc55..a5cb81f 100644
--- a/src/main/java/cn/lunadeer/miniplayertitle/Commands.java
+++ b/src/main/java/cn/lunadeer/miniplayertitle/Commands.java
@@ -9,6 +9,8 @@ import org.bukkit.command.TabExecutor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
public class Commands implements TabExecutor {
@@ -20,52 +22,52 @@ public class Commands implements TabExecutor {
return true;
}
switch (args[0]) {
- case "menu":
+ case "menu": // mplt menu [页数]
Menu.show(sender, args);
break;
- case "all_titles":
+ case "all_titles": // mplt all_titles [页数]
AllTitles.show(sender, args);
break;
- case "my_titles":
+ case "my_titles": // mplt my_titles [页数]
MyTitles.show(sender, args);
break;
- case "shop":
+ case "shop": // mplt shop [页数]
Shop.show(sender, args);
break;
- case "custom_info":
+ case "custom_info": // mplt custom_info
CustomInfo.show(sender, args);
break;
- case "sale_info":
+ case "sale_info": // mplt sale_info <商品ID>
SaleInfo.show(sender, args);
break;
- case "create_sale":
+ case "create_sale": // mplt create_sale <称号ID>
TitleShopSale.createSale(sender, args);
break;
- case "set_sale":
+ case "set_sale": // mplt set_sale <商品ID> <值> [页数]
TitleShopSale.setSale(sender, args);
break;
- case "delete_sale":
+ case "delete_sale": // mplt delete_sale <商品ID> [页数]
TitleShopSale.deleteSale(sender, args);
break;
- case "buy_sale":
+ case "buy_sale": // mplt buy_sale <商品ID>
TitleShopSale.buySale(sender, args);
break;
- case "use_title":
+ case "use_title": // mplt use_title <背包ID> [页码]
TitleManage.useTitle(sender, args);
break;
- case "create_title":
+ case "create_title": // mplt create_title <称号名称> <称号描述>
TitleManage.createTitle(sender, args);
break;
- case "delete_title":
+ case "delete_title": // mplt delete_title <称号ID> [页码]
TitleManage.deleteTitle(sender, args);
break;
- case "set_title":
- TitleManage.setTitle(sender, args);
+ case "edit_title_name": // mplt edit_title_name <称号ID> <称号名称>
+ TitleManage.editTitleName(sender, args);
break;
- case "set_desc":
- TitleManage.setTitleDescription(sender, args);
+ case "edit_title_desc": // mplt set_title_desc <称号ID> <称号描述>
+ TitleManage.editTitleDescription(sender, args);
break;
- case "custom_title":
+ case "custom_title": // mplt custom_title <称号>
TitleManage.customTitle(sender, args);
break;
default:
@@ -76,6 +78,52 @@ public class Commands implements TabExecutor {
@Override
public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
+ if (args.length == 1) {
+ return Arrays.asList("menu", "all_titles", "my_titles", "shop", "custom_info", "sale_info",
+ "create_sale", "set_sale", "delete_sale", "buy_sale", "use_title", "create_title",
+ "delete_title", "edit_title_name", "edit_title_desc", "custom_title");
+ }
+ if (args.length == 2) {
+ switch (args[0]) {
+ case "sale_info":
+ case "delete_sale":
+ case "buy_sale":
+ return Collections.singletonList("<商品ID>");
+ case "create_sale":
+ case "delete_title":
+ case "edit_title_name":
+ case "edit_title_desc":
+ return Collections.singletonList("<称号ID>");
+ case "use_title":
+ return Collections.singletonList("<背包ID>");
+ case "set_sale":
+ return Arrays.asList("price", "days", "amount", "end_at", "more_end_at", "less_end_at");
+ case "custom_title":
+ return Collections.singletonList("<称号内容>");
+ default:
+ return null;
+ }
+ }
+ if (args.length == 3) {
+ switch (args[0]) {
+ case "set_sale":
+ return Collections.singletonList("<商品ID>");
+ case "edit_title_desc":
+ return Collections.singletonList("<新的称号描述>");
+ case "edit_title_name":
+ return Collections.singletonList("<新的称号名称>");
+ default:
+ return null;
+ }
+ }
+ if (args.length == 4) {
+ switch (args[0]) {
+ case "set_sale":
+ return Collections.singletonList("<值>");
+ default:
+ return null;
+ }
+ }
return null;
}
}
diff --git a/src/main/java/cn/lunadeer/miniplayertitle/commands/TitleManage.java b/src/main/java/cn/lunadeer/miniplayertitle/commands/TitleManage.java
index 1eb05cb..86a6dd1 100644
--- a/src/main/java/cn/lunadeer/miniplayertitle/commands/TitleManage.java
+++ b/src/main/java/cn/lunadeer/miniplayertitle/commands/TitleManage.java
@@ -30,6 +30,7 @@ public class TitleManage {
TitleDTO title = TitleDTO.create(args[1], args[2]);
if (title != null) {
MiniPlayerTitle.notification.info(sender, Component.text("成功创建称号: [" + title.getId() + "]").append(title.getTitleColored()));
+ AllTitles.show(sender, new String[]{"all_titles"});
} else {
MiniPlayerTitle.notification.error(sender, "创建称号失败,具体请查看控制台日志");
}
@@ -37,7 +38,7 @@ public class TitleManage {
/**
* 删除称号
- * mplt delete_title <称号ID>
+ * mplt delete_title <称号ID> [页码]
*
* @param sender CommandSender
* @param args String[]
@@ -71,12 +72,12 @@ public class TitleManage {
/**
* 设置称号名称
- * mplt set_title <称号ID> <称号名称>
+ * mplt edit_title_name <称号ID> <称号名称>
*
* @param sender CommandSender
* @param args String[]
*/
- public static void setTitle(CommandSender sender, String[] args) {
+ public static void editTitleName(CommandSender sender, String[] args) {
try {
if (notOpOrConsole(sender)) return;
if (args.length != 3) {
@@ -101,12 +102,12 @@ public class TitleManage {
/**
* 设置称号描述
- * mplt set_desc <称号ID> <称号描述>
+ * mplt edit_title_desc <称号ID> <称号描述>
*
* @param sender CommandSender
* @param args String[]
*/
- public static void setTitleDescription(CommandSender sender, String[] args) {
+ public static void editTitleDescription(CommandSender sender, String[] args) {
try {
if (notOpOrConsole(sender)) return;
if (args.length != 3) {
@@ -131,7 +132,7 @@ public class TitleManage {
/**
* 使用称号
- * mplt use_title <称号ID> [页码]
+ * mplt use_title <背包ID> [页码]
*
* @param sender CommandSender
* @param args String[]
@@ -139,22 +140,27 @@ public class TitleManage {
public static void useTitle(CommandSender sender, String[] args) {
if (notOpOrConsole(sender)) return;
if (args.length < 2) {
- MiniPlayerTitle.notification.warn(sender, "用法: /mplt use_title <称号ID> [页码]");
+ MiniPlayerTitle.notification.warn(sender, "用法: /mplt use_title <背包ID> [页码]");
return;
}
- TitleDTO title = TitleDTO.get(Integer.parseInt(args[1]));
+ Player player = (Player) sender;
+ PlayerTitleDTO title = PlayerTitleDTO.get(Integer.parseInt(args[1]));
if (title == null) {
MiniPlayerTitle.notification.error(sender, "称号不存在");
return;
}
- PlayerInfoDTO playerInfo = PlayerInfoDTO.get(((Player) sender).getUniqueId());
+ if (!title.getPlayerUuid().equals(player.getUniqueId())) {
+ MiniPlayerTitle.notification.error(sender, "该称号不属于你");
+ return;
+ }
+ PlayerInfoDTO playerInfo = PlayerInfoDTO.get((player).getUniqueId());
if (playerInfo == null) {
MiniPlayerTitle.notification.error(sender, "获取玩家信息时出现错误");
return;
}
- boolean success = playerInfo.setUsingTitle(title);
+ boolean success = playerInfo.setUsingTitle(title.getTitle());
if (success) {
- updateName((Player) sender, title);
+ updateName((Player) sender, title.getTitle());
MiniPlayerTitle.notification.info(sender, "已使用称号");
} else {
MiniPlayerTitle.notification.error(sender, "使用称号失败,具体请查看控制台日志");
@@ -168,7 +174,7 @@ public class TitleManage {
/**
* 创建自定义称号
- * mplt custom_title <称号>
+ * mplt custom_title <称号内容>
*
* @param sender CommandSender
* @param args String[]
diff --git a/src/main/java/cn/lunadeer/miniplayertitle/commands/TitleShopSale.java b/src/main/java/cn/lunadeer/miniplayertitle/commands/TitleShopSale.java
index a6d822c..63879ae 100644
--- a/src/main/java/cn/lunadeer/miniplayertitle/commands/TitleShopSale.java
+++ b/src/main/java/cn/lunadeer/miniplayertitle/commands/TitleShopSale.java
@@ -24,7 +24,7 @@ public class TitleShopSale {
/**
* 设置商品信息
- * mplt set_sale <商品ID> <值> [页数]
+ * mplt set_sale <商品ID> <值> [页数]
*
* @param sender CommandSender
* @param args String[]
diff --git a/src/main/java/cn/lunadeer/miniplayertitle/dtos/PlayerTitleDTO.java b/src/main/java/cn/lunadeer/miniplayertitle/dtos/PlayerTitleDTO.java
index 5b68b12..9310bad 100644
--- a/src/main/java/cn/lunadeer/miniplayertitle/dtos/PlayerTitleDTO.java
+++ b/src/main/java/cn/lunadeer/miniplayertitle/dtos/PlayerTitleDTO.java
@@ -24,7 +24,7 @@ public class PlayerTitleDTO {
return title;
}
- public UUID getPlayer_uuid() {
+ public UUID getPlayerUuid() {
return player_uuid;
}