From 78ac068a3f1e711c5a29b6600bfbf4f71cb3de61 Mon Sep 17 00:00:00 2001 From: Jeremy Wood Date: Sat, 20 Oct 2012 20:49:15 -0400 Subject: [PATCH] Fixed world's not charging correctly. Fixes #893. Fixes #777. Possibly fixes #723. That's a 3fer, good buddy. --- .../MultiverseCore/utils/PermissionTools.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/onarandombox/MultiverseCore/utils/PermissionTools.java b/src/main/java/com/onarandombox/MultiverseCore/utils/PermissionTools.java index 9e5a5d99..2851fc25 100644 --- a/src/main/java/com/onarandombox/MultiverseCore/utils/PermissionTools.java +++ b/src/main/java/com/onarandombox/MultiverseCore/utils/PermissionTools.java @@ -160,14 +160,22 @@ public class PermissionTools { if (!plugin.getVaultEconomy().has(teleporterPlayer.getName(), toWorld.getPrice())) { return false; } else if (pay) { - plugin.getVaultEconomy().withdrawPlayer(teleporterPlayer.getName(), toWorld.getPrice()); + if (toWorld.getPrice() < 0D) { + plugin.getVaultEconomy().depositPlayer(teleporterPlayer.getName(), toWorld.getPrice() * -1D); + } else { + plugin.getVaultEconomy().withdrawPlayer(teleporterPlayer.getName(), toWorld.getPrice()); + } } } else { GenericBank bank = plugin.getBank(); if (!bank.hasEnough(teleporterPlayer, toWorld.getPrice(), toWorld.getCurrency(), errString)) { return false; } else if (pay) { - bank.give(teleporterPlayer, toWorld.getPrice(), toWorld.getCurrency()); + if (toWorld.getPrice() < 0D) { + bank.give(teleporterPlayer, toWorld.getPrice() * -1D, toWorld.getCurrency()); + } else { + bank.take(teleporterPlayer, toWorld.getPrice(), toWorld.getCurrency()); + } } } }