修复了因为输入非数字导致报错的问题
All checks were successful
Java CI-CD with Maven / build (push) Successful in 11m53s

This commit is contained in:
zhangyuheng 2024-04-20 21:49:08 +08:00
parent 6d983cd055
commit 125b53c259
2 changed files with 219 additions and 175 deletions

View File

@ -6,7 +6,7 @@
<groupId>cn.lunadeer</groupId> <groupId>cn.lunadeer</groupId>
<artifactId>MiniPlayerTitle</artifactId> <artifactId>MiniPlayerTitle</artifactId>
<version>2.11.0</version> <version>2.11.1</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>MiniPlayerTitle</name> <name>MiniPlayerTitle</name>

View File

@ -31,246 +31,290 @@ public class AdminCommands {
} }
public static void deleteTitle(CommandSender sender, String[] args) { public static void deleteTitle(CommandSender sender, String[] args) {
if (sender instanceof org.bukkit.entity.Player) { try {
Player player = (org.bukkit.entity.Player) sender; if (sender instanceof org.bukkit.entity.Player) {
if (!player.isOp()) { Player player = (org.bukkit.entity.Player) sender;
XLogger.warn(player, "你没有权限执行该命令"); if (!player.isOp()) {
XLogger.warn(player, "你没有权限执行该命令");
return;
}
}
if (args.length != 2) {
Notification.warn(sender, "用法: /mplt delete <称号ID>");
return; return;
} }
Title.delete(Integer.parseInt(args[1]));
Notification.info(sender, "已删除称号");
} catch (Exception e) {
Notification.error(sender, e.getMessage());
} }
if (args.length != 2) {
Notification.warn(sender, "用法: /mplt delete <称号ID>");
return;
}
Title.delete(Integer.parseInt(args[1]));
Notification.info(sender, "已删除称号");
} }
public static void listAllTitle(CommandSender sender, String[] args) { public static void listAllTitle(CommandSender sender, String[] args) {
if (sender instanceof Player) { try {
Player player = (Player) sender; if (sender instanceof Player) {
if (!player.isOp()) { Player player = (Player) sender;
XLogger.warn(player, "你没有权限执行该命令"); if (!player.isOp()) {
return; XLogger.warn(player, "你没有权限执行该命令");
return;
}
} }
} int page = 1;
int page = 1; if (args.length == 2) {
if (args.length == 2) { try {
try { page = Integer.parseInt(args[1]);
page = Integer.parseInt(args[1]); } catch (Exception e) {
} catch (Exception e) { Notification.error(sender, "页数格式错误");
Notification.error(sender, "页数格式错误"); return;
return; }
} }
Title.listAllTitle(sender, page);
} catch (Exception e) {
Notification.error(sender, e.getMessage());
} }
Title.listAllTitle(sender, page);
} }
public static void setTitleDescription(CommandSender sender, String[] args) { public static void setTitleDescription(CommandSender sender, String[] args) {
if (sender instanceof org.bukkit.entity.Player) { try {
Player player = (org.bukkit.entity.Player) sender; if (sender instanceof org.bukkit.entity.Player) {
if (!player.isOp()) { Player player = (org.bukkit.entity.Player) sender;
XLogger.warn(player, "你没有权限执行该命令"); if (!player.isOp()) {
XLogger.warn(player, "你没有权限执行该命令");
return;
}
}
if (args.length != 3) {
Notification.warn(sender, "用法: /mplt setdesc <称号ID> <称号描述>");
return; return;
} }
Title title = new Title(Integer.parseInt(args[1]));
title.setDescription(args[2]);
Notification.info(sender, "已设置称号描述");
} catch (Exception e) {
Notification.error(sender, e.getMessage());
} }
if (args.length != 3) {
Notification.warn(sender, "用法: /mplt setdesc <称号ID> <称号描述>");
return;
}
Title title = new Title(Integer.parseInt(args[1]));
title.setDescription(args[2]);
Notification.info(sender, "已设置称号描述");
} }
public static void setTitleName(CommandSender sender, String[] args) { public static void setTitleName(CommandSender sender, String[] args) {
if (sender instanceof org.bukkit.entity.Player) { try {
Player player = (org.bukkit.entity.Player) sender; if (sender instanceof org.bukkit.entity.Player) {
if (!player.isOp()) { Player player = (org.bukkit.entity.Player) sender;
XLogger.warn(player, "你没有权限执行该命令"); if (!player.isOp()) {
XLogger.warn(player, "你没有权限执行该命令");
return;
}
}
if (args.length != 3) {
Notification.warn(sender, "用法: /mplt setname <称号ID> <称号名称>");
return; return;
} }
Title title = new Title(Integer.parseInt(args[1]));
title.setTitle(args[2]);
Notification.info(sender, "已设置称号名称");
} catch (Exception e) {
Notification.error(sender, e.getMessage());
} }
if (args.length != 3) {
Notification.warn(sender, "用法: /mplt setname <称号ID> <称号名称>");
return;
}
Title title = new Title(Integer.parseInt(args[1]));
title.setTitle(args[2]);
Notification.info(sender, "已设置称号名称");
} }
public static void addShop(CommandSender sender, String[] args) { public static void addShop(CommandSender sender, String[] args) {
if (sender instanceof org.bukkit.entity.Player) { try {
Player player = (org.bukkit.entity.Player) sender; if (sender instanceof org.bukkit.entity.Player) {
if (!player.isOp()) { Player player = (org.bukkit.entity.Player) sender;
XLogger.warn(player, "你没有权限执行该命令"); if (!player.isOp()) {
XLogger.warn(player, "你没有权限执行该命令");
return;
}
}
if (args.length != 2) {
Notification.warn(sender, "用法: /mplt addshop <称号ID>");
return; return;
} }
} SaleTitle title = SaleTitle.create(Integer.parseInt(args[1]));
if (args.length != 2) { if (title == null) {
Notification.warn(sender, "用法: /mplt addshop <称号ID>"); Notification.error(sender, "添加商品失败");
return; } else {
} Notification.info(sender, "已添加称号到商店, 商品ID: " + title.getSaleId());
SaleTitle title = SaleTitle.create(Integer.parseInt(args[1])); Notification.info(sender, title.getTitle());
if (title == null) { }
Notification.error(sender, "添加商品失败"); } catch (Exception e) {
} else { Notification.error(sender, e.getMessage());
Notification.info(sender, "已添加称号到商店, 商品ID: " + title.getSaleId());
Notification.info(sender, title.getTitle());
} }
} }
public static void removeShop(CommandSender sender, String[] args) { public static void removeShop(CommandSender sender, String[] args) {
if (sender instanceof org.bukkit.entity.Player) { try {
Player player = (org.bukkit.entity.Player) sender; if (sender instanceof org.bukkit.entity.Player) {
if (!player.isOp()) { Player player = (org.bukkit.entity.Player) sender;
XLogger.warn(player, "你没有权限执行该命令"); if (!player.isOp()) {
XLogger.warn(player, "你没有权限执行该命令");
return;
}
}
if (args.length != 2) {
Notification.warn(sender, "用法: /mplt removeshop <商品ID>");
return; return;
} }
SaleTitle.delete(Integer.parseInt(args[1]));
Notification.info(sender, "已从商店移除商品");
} catch (Exception e) {
Notification.error(sender, e.getMessage());
} }
if (args.length != 2) {
Notification.warn(sender, "用法: /mplt removeshop <商品ID>");
return;
}
SaleTitle.delete(Integer.parseInt(args[1]));
Notification.info(sender, "已从商店移除商品");
} }
public static void setPrice(CommandSender sender, String[] args) { public static void setPrice(CommandSender sender, String[] args) {
if (sender instanceof org.bukkit.entity.Player) { try {
Player player = (org.bukkit.entity.Player) sender; if (sender instanceof org.bukkit.entity.Player) {
if (!player.isOp()) { Player player = (org.bukkit.entity.Player) sender;
XLogger.warn(player, "你没有权限执行该命令"); if (!player.isOp()) {
XLogger.warn(player, "你没有权限执行该命令");
return;
}
}
if (args.length != 4) {
Notification.warn(sender, "用法: /mplt setprice <商品ID> <价格> <天数>(-1为永久)");
return; return;
} }
} int price;
if (args.length != 4) { int days;
Notification.warn(sender, "用法: /mplt setprice <商品ID> <价格> <天数>(-1为永久)"); int id;
return; try {
} price = Integer.parseInt(args[2]);
int price; days = Integer.parseInt(args[3]);
int days; id = Integer.parseInt(args[1]);
int id; } catch (Exception e) {
try { Notification.error(sender, "价格或天数格式错误");
price = Integer.parseInt(args[2]); return;
days = Integer.parseInt(args[3]); }
id = Integer.parseInt(args[1]); if (price < 0 || days < -1) {
Notification.error(sender, "价格或天数格式错误");
return;
}
SaleTitle.setPrice(id, price);
SaleTitle.setDays(id, days);
Notification.info(sender, "已设置商品价格");
} catch (Exception e) { } catch (Exception e) {
Notification.error(sender, "价格或天数格式错误"); Notification.error(sender, e.getMessage());
return;
} }
if (price < 0 || days < -1) {
Notification.error(sender, "价格或天数格式错误");
return;
}
SaleTitle.setPrice(id, price);
SaleTitle.setDays(id, days);
Notification.info(sender, "已设置商品价格");
} }
public static void setAmount(CommandSender sender, String[] args) { public static void setAmount(CommandSender sender, String[] args) {
if (sender instanceof org.bukkit.entity.Player) { try {
Player player = (org.bukkit.entity.Player) sender; if (sender instanceof org.bukkit.entity.Player) {
if (!player.isOp()) { Player player = (org.bukkit.entity.Player) sender;
XLogger.warn(player, "你没有权限执行该命令"); if (!player.isOp()) {
XLogger.warn(player, "你没有权限执行该命令");
return;
}
}
if (args.length != 3) {
Notification.warn(sender, "用法: /mplt setamount <商品ID> <数量>(-1为无限)");
return; return;
} }
} int amount;
if (args.length != 3) { int id;
Notification.warn(sender, "用法: /mplt setamount <商品ID> <数量>(-1为无限)"); try {
return; amount = Integer.parseInt(args[2]);
} id = Integer.parseInt(args[1]);
int amount; } catch (Exception e) {
int id; Notification.error(sender, "数量格式错误");
try { return;
amount = Integer.parseInt(args[2]); }
id = Integer.parseInt(args[1]); SaleTitle.setAmount(id, amount);
Notification.info(sender, "已设置商品数量");
} catch (Exception e) { } catch (Exception e) {
Notification.error(sender, "数量格式错误"); Notification.error(sender, e.getMessage());
return;
} }
SaleTitle.setAmount(id, amount);
Notification.info(sender, "已设置商品数量");
} }
public static void setSaleEndAt(CommandSender sender, String[] args) { public static void setSaleEndAt(CommandSender sender, String[] args) {
if (sender instanceof org.bukkit.entity.Player) { try {
Player player = (org.bukkit.entity.Player) sender; if (sender instanceof org.bukkit.entity.Player) {
if (!player.isOp()) { Player player = (org.bukkit.entity.Player) sender;
XLogger.warn(player, "你没有权限执行该命令"); if (!player.isOp()) {
XLogger.warn(player, "你没有权限执行该命令");
return;
}
}
if (args.length != 3) {
Notification.warn(sender, "用法: /mplt setendat <商品ID> <时间YYYYMMDD>(-1为永久)");
return;
}
long time_stamp;
try {
time_stamp = Long.parseLong(args[2]);
} catch (Exception e) {
Notification.error(sender, "时间格式错误");
return; return;
} }
}
if (args.length != 3) {
Notification.warn(sender, "用法: /mplt setendat <商品ID> <时间YYYYMMDD>(-1为永久)");
return;
}
long time_stamp;
try {
time_stamp = Long.parseLong(args[2]);
} catch (Exception e) {
Notification.error(sender, "时间格式错误");
return;
}
SaleTitle.setSaleEndAt(Integer.parseInt(args[1]), time_stamp); SaleTitle.setSaleEndAt(Integer.parseInt(args[1]), time_stamp);
Notification.info(sender, "已设置商品结束时间"); Notification.info(sender, "已设置商品结束时间");
} catch (Exception e) {
Notification.error(sender, e.getMessage());
}
} }
public static void addCoin(CommandSender sender, String[] args) { public static void addCoin(CommandSender sender, String[] args) {
if (sender instanceof Player) { try {
Player player = (Player) sender; if (sender instanceof Player) {
if (!player.isOp()) { Player player = (Player) sender;
XLogger.warn(player, "你没有权限执行该命令"); if (!player.isOp()) {
XLogger.warn(player, "你没有权限执行该命令");
return;
}
}
if (args.length != 3) {
Notification.warn(sender, "用法: /mplt addcoin <玩家> <数量>");
return; return;
} }
} Player target = sender.getServer().getPlayer(args[1]);
if (args.length != 3) { if (target == null) {
Notification.warn(sender, "用法: /mplt addcoin <玩家> <数量>"); Notification.error(sender, "玩家不在线");
return; return;
} }
Player target = sender.getServer().getPlayer(args[1]); int amount;
if (target == null) { try {
Notification.error(sender, "玩家不在线"); amount = Integer.parseInt(args[2]);
return; } catch (Exception e) {
} Notification.error(sender, "数量格式错误");
int amount; return;
try { }
amount = Integer.parseInt(args[2]); new XPlayer(target).add_coin(amount);
Notification.info(sender, "已给予玩家 " + target.getName() + " " + amount + " 称号币");
} catch (Exception e) { } catch (Exception e) {
Notification.error(sender, "数量格式错误"); Notification.error(sender, e.getMessage());
return;
} }
new XPlayer(target).add_coin(amount);
Notification.info(sender, "已给予玩家 " + target.getName() + " " + amount + " 称号币");
} }
public static void setCoin(CommandSender sender, String[] args) { public static void setCoin(CommandSender sender, String[] args) {
if (sender instanceof Player) { try {
Player player = (Player) sender; if (sender instanceof Player) {
if (!player.isOp()) { Player player = (Player) sender;
XLogger.warn(player, "你没有权限执行该命令"); if (!player.isOp()) {
XLogger.warn(player, "你没有权限执行该命令");
return;
}
}
if (args.length != 3) {
Notification.warn(sender, "用法: /mplt setcoin <玩家> <数量>");
return; return;
} }
} Player target = sender.getServer().getPlayer(args[1]);
if (args.length != 3) { if (target == null) {
Notification.warn(sender, "用法: /mplt setcoin <玩家> <数量>"); Notification.error(sender, "玩家不在线");
return; return;
} }
Player target = sender.getServer().getPlayer(args[1]); int amount;
if (target == null) { try {
Notification.error(sender, "玩家不在线"); amount = Integer.parseInt(args[2]);
return; } catch (Exception e) {
} Notification.error(sender, "数量格式错误");
int amount; return;
try { }
amount = Integer.parseInt(args[2]); new XPlayer(target).set_coin(amount);
Notification.info(sender, "已设置玩家 " + target.getName() + " 称号币为 " + amount);
} catch (Exception e) { } catch (Exception e) {
Notification.error(sender, "数量格式错误"); Notification.error(sender, e.getMessage());
return;
} }
new XPlayer(target).set_coin(amount);
Notification.info(sender, "已设置玩家 " + target.getName() + " 称号币为 " + amount);
} }
} }