From 8fa0a80ac9c5586835cd8e539f28f5bbd48f3a5b Mon Sep 17 00:00:00 2001 From: igwb Date: Mon, 30 Dec 2013 03:11:34 +0100 Subject: [PATCH] add support for GoldenChestEconomy --- lib/GoldenChestEconomy.jar | Bin 0 -> 47831 bytes pom.xml | 7 + src/net/milkbowl/vault/Vault.java | 4 + .../plugins/Economy_GoldenChestEconomy.java | 247 ++++++++++++++++++ 4 files changed, 258 insertions(+) create mode 100644 lib/GoldenChestEconomy.jar create mode 100644 src/net/milkbowl/vault/economy/plugins/Economy_GoldenChestEconomy.java diff --git a/lib/GoldenChestEconomy.jar b/lib/GoldenChestEconomy.jar new file mode 100644 index 0000000000000000000000000000000000000000..c4c88ac4d4dbb40fb81e615cc3c7609dca398b84 GIT binary patch literal 47831 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�@3wSE{2w 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 literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index 042c268..411b830 100644 --- a/pom.xml +++ b/pom.xml @@ -114,6 +114,13 @@ Vault currently supports the following: Permissions 3, PEX, GroupManager, bPerms system ${project.basedir}/lib/CurrencyCore.jar + + me.igwb.GoldenChest + GoldenChestEconomy + 1.0.0 + system + ${project.basedir}/lib/GoldenChestEconomy.jar + com.flobi.GoldIsMoney GoldIsMoney diff --git a/src/net/milkbowl/vault/Vault.java b/src/net/milkbowl/vault/Vault.java index 9800d11..1c309ea 100644 --- a/src/net/milkbowl/vault/Vault.java +++ b/src/net/milkbowl/vault/Vault.java @@ -53,6 +53,7 @@ import net.milkbowl.vault.economy.plugins.Economy_EconXP; import net.milkbowl.vault.economy.plugins.Economy_Essentials; import net.milkbowl.vault.economy.plugins.Economy_GoldIsMoney; import net.milkbowl.vault.economy.plugins.Economy_GoldIsMoney2; +import net.milkbowl.vault.economy.plugins.Economy_GoldenChestEconomy; import net.milkbowl.vault.economy.plugins.Economy_Gringotts; import net.milkbowl.vault.economy.plugins.Economy_McMoney; import net.milkbowl.vault.economy.plugins.Economy_MineConomy; @@ -310,6 +311,9 @@ public class Vault extends JavaPlugin { // Try to load GoldIsMoney2 hookEconomy("GoldIsMoney2", Economy_GoldIsMoney2.class, ServicePriority.Normal, "com.flobi.GoldIsMoney2.GoldIsMoney"); + // Try to load GoldenChestEconomy + hookEconomy("GoldenChestEconomy", Economy_GoldenChestEconomy.class, ServicePriority.Normal, "me.igwb.GoldenChest.GoldenChestEconomy"); + // Try to load Dosh hookEconomy("Dosh", Economy_Dosh.class, ServicePriority.Normal, "com.gravypod.Dosh.Dosh"); diff --git a/src/net/milkbowl/vault/economy/plugins/Economy_GoldenChestEconomy.java b/src/net/milkbowl/vault/economy/plugins/Economy_GoldenChestEconomy.java new file mode 100644 index 0000000..b0a2554 --- /dev/null +++ b/src/net/milkbowl/vault/economy/plugins/Economy_GoldenChestEconomy.java @@ -0,0 +1,247 @@ +/* This file is part of Vault. + +Vault is free software: you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Vault is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with Vault. If not, see . +*/ +package net.milkbowl.vault.economy.plugins; + +import java.util.List; +import java.util.logging.Logger; + +import org.bukkit.Bukkit; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.server.PluginDisableEvent; +import org.bukkit.event.server.PluginEnableEvent; +import org.bukkit.plugin.Plugin; + +import me.igwb.GoldenChest.GoldenChestEconomy; +import net.milkbowl.vault.economy.Economy; +import net.milkbowl.vault.economy.EconomyResponse; +import net.milkbowl.vault.economy.EconomyResponse.ResponseType; + +public class Economy_GoldenChestEconomy implements Economy{ + private static final Logger log = Logger.getLogger("Minecraft"); + + private final String name = "GoldenChestEconomy"; + private Plugin plugin = null; + private GoldenChestEconomy economy = null; + + + public Economy_GoldenChestEconomy (Plugin plugin) { + this.plugin = plugin; + Bukkit.getServer().getPluginManager().registerEvents(new EconomyServerListener(this), plugin); + // Load Plugin in case it was loaded before + if (economy == null) { + Plugin ec = plugin.getServer().getPluginManager().getPlugin("GoldIsMoney"); + if (ec != null && ec.isEnabled() && ec.getClass().getName().equals("me.igwb.GoldenChest.GoldenChestEconomy")) { + economy = (GoldenChestEconomy) ec; + log.info(String.format("[%s][Economy] %s hooked.", plugin.getDescription().getName(), name)); + } + } + } + + public class EconomyServerListener implements Listener { + Economy_GoldenChestEconomy economy = null; + + public EconomyServerListener(Economy_GoldenChestEconomy economy_GoldenChestEconomy) { + this.economy = economy_GoldenChestEconomy; + } + + @EventHandler(priority = EventPriority.MONITOR) + public void onPluginEnable(PluginEnableEvent event) { + if (economy.economy == null) { + Plugin ec = event.getPlugin(); + + if (ec.getDescription().getName().equals("GoldenChestEconomy") && ec.getClass().getName().equals("me.igwb.GoldenChest.GoldenChestEconomy")) { + economy.economy = (GoldenChestEconomy) ec; + log.info(String.format("[%s][Economy] %s hooked.", plugin.getDescription().getName(), economy.name)); + } + } + } + + @EventHandler(priority = EventPriority.MONITOR) + public void onPluginDisable(PluginDisableEvent event) { + if (economy.economy != null) { + if (event.getPlugin().getDescription().getName().equals("GoldenChestEconomy")) { + economy.economy = null; + log.info(String.format("[%s][Economy] %s unhooked.", plugin.getDescription().getName(), economy.name)); + } + } + } + } + + + @Override + public boolean isEnabled() { + if (economy == null) { + return false; + } else { + return economy.isEnabled(); + } + } + + @Override + public String getName() { + return name; + } + + @Override + public boolean hasBankSupport() { + return false; + } + + @Override + public int fractionalDigits() { + return economy.getVaultConnector().fractionalDigits(); + } + + @Override + public String format(double amount) { + return economy.getVaultConnector().format(amount); + } + + @Override + public String currencyNamePlural() { + return economy.getVaultConnector().currencyNamePlural(); + } + + @Override + public String currencyNameSingular() { + return economy.getVaultConnector().currencyNameSingular(); + } + + @Override + public boolean hasAccount(String playerName) { + return economy.getVaultConnector().hasAccount(playerName); + } + + @Override + public boolean hasAccount(String playerName, String worldName) { + return economy.getVaultConnector().hasAccount(playerName, worldName); + } + + @Override + public double getBalance(String playerName) { + return economy.getVaultConnector().getBalance(playerName); + } + + @Override + public double getBalance(String playerName, String world) { + return economy.getVaultConnector().getBalance(playerName, world); + } + + @Override + public boolean has(String playerName, double amount) { + return economy.getVaultConnector().has(playerName, amount); + } + + @Override + public boolean has(String playerName, String worldName, double amount) { + return economy.getVaultConnector().has(playerName, worldName, amount); + } + + @Override + public EconomyResponse withdrawPlayer(String playerName, double amount) { + + if (amount < 0) { + return new EconomyResponse(0, 0, ResponseType.FAILURE, "Cannot withdraw negative funds"); + } + + if (has(playerName, amount)) { + economy.getVaultConnector().withdrawPlayer(playerName, amount); + return new EconomyResponse(amount, getBalance(playerName), ResponseType.SUCCESS, null); + } else { + return new EconomyResponse(0, getBalance(playerName), ResponseType.FAILURE, "Insufficient funds"); + } + } + + @Override + public EconomyResponse withdrawPlayer(String playerName, String worldName, + double amount) { + return withdrawPlayer(playerName, amount); + } + + @Override + public EconomyResponse depositPlayer(String playerName, double amount) { + if (amount < 0) { + return new EconomyResponse(0, 0, ResponseType.FAILURE, "Cannot desposit negative funds"); + } + + economy.getVaultConnector().depositPlayer(playerName, Math.round(amount)); + return new EconomyResponse(amount, getBalance(playerName), EconomyResponse.ResponseType.SUCCESS, null); + } + + @Override + public EconomyResponse depositPlayer(String playerName, String worldName, + double amount) { + return depositPlayer(playerName, amount); + } + + @Override + public EconomyResponse createBank(String name, String player) { + return new EconomyResponse(0, 0, ResponseType.NOT_IMPLEMENTED, "Banks are not supported!"); + } + + @Override + public EconomyResponse deleteBank(String name) { + return new EconomyResponse(0, 0, ResponseType.NOT_IMPLEMENTED, "Banks are not supported!"); + } + + @Override + public EconomyResponse bankBalance(String name) { + return new EconomyResponse(0, 0, ResponseType.NOT_IMPLEMENTED, "Banks are not supported!"); + } + + @Override + public EconomyResponse bankHas(String name, double amount) { + return new EconomyResponse(0, 0, ResponseType.NOT_IMPLEMENTED, "Banks are not supported!"); + } + + @Override + public EconomyResponse bankWithdraw(String name, double amount) { + return new EconomyResponse(0, 0, ResponseType.NOT_IMPLEMENTED, "Banks are not supported!"); + } + + @Override + public EconomyResponse bankDeposit(String name, double amount) { + return new EconomyResponse(0, 0, ResponseType.NOT_IMPLEMENTED, "Banks are not supported!"); + } + + @Override + public EconomyResponse isBankOwner(String name, String playerName) { + return new EconomyResponse(0, 0, ResponseType.NOT_IMPLEMENTED, "Banks are not supported!"); + } + + @Override + public EconomyResponse isBankMember(String name, String playerName) { + return new EconomyResponse(0, 0, ResponseType.NOT_IMPLEMENTED, "Banks are not supported!"); + } + + @Override + public List getBanks() { + return null; + } + + @Override + public boolean createPlayerAccount(String playerName) { + return economy.getVaultConnector().createPlayerAccount(playerName); + } + + @Override + public boolean createPlayerAccount(String playerName, String worldName) { + return economy.getVaultConnector().createPlayerAccount(playerName, worldName); + } + +}