summaryrefslogtreecommitdiffstats
path: root/Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java
diff options
context:
space:
mode:
Diffstat (limited to 'Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java')
-rw-r--r--Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java b/Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java
new file mode 100644
index 000000000..071b61be1
--- /dev/null
+++ b/Essentials/src/com/earth2me/essentials/signs/SignSpawnmob.java
@@ -0,0 +1,47 @@
+package com.earth2me.essentials.signs;
+
+import com.earth2me.essentials.ChargeException;
+import com.earth2me.essentials.IEssentials;
+import com.earth2me.essentials.Trade;
+import com.earth2me.essentials.User;
+import com.earth2me.essentials.commands.Commandspawnmob;
+
+
+public class SignSpawnmob extends EssentialsSign
+{
+
+ public SignSpawnmob()
+ {
+ super("Spawnmob");
+ }
+
+ @Override
+ protected boolean onSignCreate(ISign sign, User player, String username, IEssentials ess) throws SignException, ChargeException
+ {
+ validateInteger(sign, 1);
+ validateTrade(sign, 3, ess);
+ return true;
+ }
+
+ @Override
+ protected boolean onSignInteract(ISign sign, User player, String username, IEssentials ess) throws SignException, ChargeException
+ {
+ final Trade charge = getTrade(sign, 3, ess);
+ charge.isAffordableFor(player);
+ Commandspawnmob command = new Commandspawnmob();
+ command.setEssentials(ess);
+ String[] args = new String[] {
+ sign.getLine(2), sign.getLine(1)
+ };
+ try
+ {
+ command.run(ess.getServer(), player, "spawnmob", args);
+ }
+ catch (Exception ex)
+ {
+ throw new SignException(ex.getMessage(), ex);
+ }
+ charge.charge(player);
+ return true;
+ }
+}