summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Essentials/src/com/earth2me/essentials/Worth.java8
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandworth.java38
2 files changed, 30 insertions, 16 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Worth.java b/Essentials/src/com/earth2me/essentials/Worth.java
index 989cf38d9..336f663a9 100644
--- a/Essentials/src/com/earth2me/essentials/Worth.java
+++ b/Essentials/src/com/earth2me/essentials/Worth.java
@@ -1,6 +1,7 @@
package com.earth2me.essentials;
import static com.earth2me.essentials.I18n._;
+import com.earth2me.essentials.commands.NotEnoughArgumentsException;
import java.io.File;
import java.math.BigDecimal;
import java.util.Locale;
@@ -56,7 +57,12 @@ public class Worth implements IConf
if (args.length > 1)
{
- amount = Integer.parseInt(args[1].replaceAll("[^0-9]", ""));
+ try {
+ amount = Integer.parseInt(args[1].replaceAll("[^0-9]", ""));
+ }
+ catch (NumberFormatException ex) {
+ throw new NotEnoughArgumentsException(ex);
+ }
if (args[1].startsWith("-"))
{
amount = -amount;
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandworth.java b/Essentials/src/com/earth2me/essentials/commands/Commandworth.java
index a662aa9c8..45ff23c9b 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandworth.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandworth.java
@@ -17,18 +17,18 @@ public class Commandworth extends EssentialsCommand
{
super("worth");
}
-
+
@Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
BigDecimal totalWorth = BigDecimal.ZERO;
String type = "";
-
+
List<ItemStack> is = ess.getItemDb().getMatching(user, args);
int count = 0;
-
+
boolean isBulk = is.size() > 1;
-
+
for (ItemStack stack : is)
{
try
@@ -45,7 +45,7 @@ public class Commandworth extends EssentialsCommand
}
}
}
-
+
}
catch (Exception e)
{
@@ -67,7 +67,7 @@ public class Commandworth extends EssentialsCommand
}
}
}
-
+
@Override
public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
@@ -76,12 +76,12 @@ public class Commandworth extends EssentialsCommand
{
throw new NotEnoughArgumentsException();
}
-
+
ItemStack stack = ess.getItemDb().get(args[0]);
-
+
itemWorth(sender, null, stack, args);
}
-
+
private BigDecimal itemWorth(CommandSender sender, User user, ItemStack is, String[] args) throws Exception
{
int amount = 1;
@@ -89,23 +89,31 @@ public class Commandworth extends EssentialsCommand
{
if (args.length > 1)
{
- amount = Integer.parseInt(args[1].replaceAll("[^0-9]", ""));
+ try
+ {
+ amount = Integer.parseInt(args[1].replaceAll("[^0-9]", ""));
+ }
+ catch (NumberFormatException ex)
+ {
+ throw new NotEnoughArgumentsException(ex);
+ }
+
}
}
else
{
amount = ess.getWorth().getAmount(ess, user, is, args, true);
}
-
+
BigDecimal worth = ess.getWorth().getPrice(is);
-
+
if (worth == null)
{
throw new Exception(_("itemCannotBeSold"));
}
-
+
BigDecimal result = worth.multiply(BigDecimal.valueOf(amount));
-
+
sender.sendMessage(is.getDurability() != 0
? _("worthMeta",
is.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", ""),
@@ -118,7 +126,7 @@ public class Commandworth extends EssentialsCommand
NumberUtil.displayCurrency(result, ess),
amount,
NumberUtil.displayCurrency(worth, ess)));
-
+
return result;
}
}