From 348cb29469b8fbb133044ae7d20bf73d5df43b2b Mon Sep 17 00:00:00 2001 From: snowleo Date: Sat, 2 Apr 2011 00:41:58 +0000 Subject: [PATCH] [trunk] Readded [balance] and [heal] sign code that was lost git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1090 e251c2fe-e539-e718-e476-b85c1f46cddb --- .../essentials/EssentialsPlayerListener.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java index ff4963ea6..47c6ac852 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java @@ -7,6 +7,7 @@ import org.bukkit.*; import org.bukkit.block.Block; import org.bukkit.block.Sign; import org.bukkit.craftbukkit.block.CraftSign; +import org.bukkit.craftbukkit.inventory.CraftInventory; import org.bukkit.craftbukkit.inventory.CraftInventoryPlayer; import org.bukkit.event.block.Action; import org.bukkit.event.player.*; @@ -295,6 +296,31 @@ public class EssentialsPlayerListener extends PlayerListener } if (sign.getLine(0).equals("§1[Heal]") && user.isAuthorized("essentials.signs.heal.use")) { + if (!sign.getLine(1).isEmpty()) { + String[] l1 = sign.getLine(1).split("[ :-]+"); + boolean m1 = l1[0].matches("\\$[0-9]+"); + int q1 = Integer.parseInt(m1 ? l1[0].substring(1) : l1[0]); + if (q1 < 1) { + throw new Exception("Quantities must be greater than 0."); + } + if (m1) + { + if (user.getMoney() < q1) { + throw new Exception("You do not have sufficient funds."); + } + user.takeMoney(q1); + user.sendMessage("$" + q1 + " taken from your bank account."); + } + else + { + ItemStack i = ItemDb.get(l1[1], q1); + if (!InventoryWorkaround.containsItem((CraftInventory)user.getInventory(), true, i)) { + throw new Exception("You do not have " + q1 + "x " + l1[1] + "."); + } + InventoryWorkaround.removeItem((CraftInventory)user.getInventory(), true, i); + user.updateInventory(); + } + } user.setHealth(20); user.sendMessage("§7You have been healed."); return; @@ -311,6 +337,11 @@ public class EssentialsPlayerListener extends PlayerListener user.sendMessage("§cTo mark your mail as read, type §c/mail clear"); return; } + if (sign.getLine(0).equals("§1[Balance]") && user.isAuthorized("essentials.signs.balance.use")) + { + user.sendMessage("§7Balance: $" + user.getMoney()); + return; + } } catch (Throwable ex) {