Target quest points must be positive, fixes #2167

This commit is contained in:
PikaMug 2023-12-03 22:39:00 -05:00
parent c9ae34c146
commit dfd987dd32
1 changed files with 17 additions and 12 deletions

View File

@ -86,19 +86,24 @@ public class BukkitQuestadminTakepointsCommand extends BukkitQuestsSubCommand {
return; return;
} }
final Quester quester = plugin.getQuester(target.getUniqueId()); final Quester quester = plugin.getQuester(target.getUniqueId());
quester.setQuestPoints(quester.getQuestPoints() - Math.abs(points)); final int newPoints = quester.getQuestPoints() - Math.abs(points);
String msg1 = BukkitLang.get("takeQuestPoints").replace("<points>", BukkitLang.get("questPoints")); if (newPoints < 0) {
msg1 = msg1.replace("<player>", ChatColor.GREEN + target.getName() + ChatColor.GOLD); cs.sendMessage(ChatColor.RED + BukkitLang.get("questEditorPositiveAmount"));
msg1 = msg1.replace("<number>", ChatColor.DARK_PURPLE + "" + points + ChatColor.GOLD); } else {
cs.sendMessage(ChatColor.GOLD + msg1); quester.setQuestPoints(quester.getQuestPoints() - Math.abs(points));
if (target.isOnline()) { String msg1 = BukkitLang.get("takeQuestPoints").replace("<points>", BukkitLang.get("questPoints"));
final Player p = (Player)target; msg1 = msg1.replace("<player>", ChatColor.GREEN + target.getName() + ChatColor.GOLD);
String msg2 = BukkitLang.get(p, "questPointsTaken").replace("<points>", BukkitLang.get("questPoints")); msg1 = msg1.replace("<number>", ChatColor.DARK_PURPLE + "" + points + ChatColor.GOLD);
msg2 = msg2.replace("<player>", ChatColor.GREEN + cs.getName() + ChatColor.GOLD); cs.sendMessage(ChatColor.GOLD + msg1);
msg2 = msg2.replace("<number>", ChatColor.DARK_PURPLE + "" + points + ChatColor.GOLD); if (target.isOnline()) {
p.sendMessage(ChatColor.GREEN + msg2); final Player p = (Player)target;
String msg2 = BukkitLang.get(p, "questPointsTaken").replace("<points>", BukkitLang.get("questPoints"));
msg2 = msg2.replace("<player>", ChatColor.GREEN + cs.getName() + ChatColor.GOLD);
msg2 = msg2.replace("<number>", ChatColor.DARK_PURPLE + "" + points + ChatColor.GOLD);
p.sendMessage(ChatColor.GREEN + msg2);
}
quester.saveData();
} }
quester.saveData();
} else { } else {
cs.sendMessage(ChatColor.RED + BukkitLang.get("noPermission")); cs.sendMessage(ChatColor.RED + BukkitLang.get("noPermission"));
} }