diff --git a/lib/ZCore.jar b/lib/ZCore.jar index 9b69778..0b6b92a 100644 Binary files a/lib/ZCore.jar and b/lib/ZCore.jar differ diff --git a/pom.xml b/pom.xml index a0f2c86..7ae6f2b 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.garsooon Auctioneer - 1.0.4 + 1.0.5 A simple chat based auction plugin for items in Beta 1.7.3 Minecraft with lots of settings for total control of its behavior. @@ -114,7 +114,7 @@ me.zavdav ZCore - 1.0.0-rc1 + 0.22.1 system ${project.basedir}/lib/ZCore.jar diff --git a/src/main/java/org/garsooon/Economy/methods/ZCoreEco.java b/src/main/java/org/garsooon/Economy/methods/ZCoreEco.java index fa6242c..6c5c69c 100644 --- a/src/main/java/org/garsooon/Economy/methods/ZCoreEco.java +++ b/src/main/java/org/garsooon/Economy/methods/ZCoreEco.java @@ -2,23 +2,22 @@ import me.zavdav.zcore.ZCore; -import me.zavdav.zcore.api.Economy; -import me.zavdav.zcore.util.PlayerUtils; +import me.zavdav.zcore.economy.BankAccount; +import me.zavdav.zcore.economy.PersonalAccount; +import me.zavdav.zcore.player.OfflinePlayer; import org.bukkit.World; import org.bukkit.plugin.Plugin; import org.garsooon.Economy.Method; -import java.math.BigDecimal; -import java.util.UUID; -//Place holder for Zcore rewrite +import java.math.BigDecimal; public class ZCoreEco implements Method { private ZCore zcore; - public Object getPlugin() { - return this.zcore; + public ZCore getPlugin() { + return zcore; } public String getName() { @@ -34,148 +33,171 @@ public int fractionalDigits() { } public String format(double amount) { - return Economy.formatBalance(BigDecimal.valueOf(amount)); + return ZCore.formatCurrency(BigDecimal.valueOf(amount)); } public boolean hasBanks() { - return false; + return true; } public boolean hasBank(String bank, World world) { - return false; + return ZCore.getBank(bank) != null; } public boolean hasAccount(String name, World world) { - try { - UUID uuid = PlayerUtils.getUUIDFromUsername(name); - return Economy.userExists(uuid); - } catch (Throwable e) { - return false; - } + return ZCore.getOfflinePlayer(name) != null; } public boolean hasBankAccount(String bank, String name, World world) { - return false; + BankAccount account = ZCore.getBank(bank); + return account != null && account.getOwner().getName().equalsIgnoreCase(name); } public MethodAccount getAccount(String name, World world) { - if (!hasAccount(name, world)) return null; - return new ZEcoAccount(PlayerUtils.getUUIDFromUsername(name)); + OfflinePlayer player = ZCore.getOfflinePlayer(name); + return player != null ? new ZCorePersonalAccount(player.getAccount()) : null; } public MethodBankAccount getBankAccount(String bank, String name, World world) { - return null; + BankAccount account = ZCore.getBank(bank); + return account != null && account.getOwner().getName().equalsIgnoreCase(name) ? new ZCoreBankAccount(account) : null; } public boolean isCompatible(Plugin plugin) { - return plugin.getDescription().getName().equalsIgnoreCase("ZCore") && - plugin instanceof ZCore; + return plugin instanceof ZCore; } public void setPlugin(Plugin plugin) { - zcore = (ZCore) plugin; + if (!isCompatible(plugin)) return; + this.zcore = (ZCore) plugin; } - public static class ZEcoAccount implements MethodAccount { + private static class ZCorePersonalAccount implements MethodAccount { - private final UUID uuid; + private final PersonalAccount account; - public ZEcoAccount(UUID uuid) { - this.uuid = uuid; + ZCorePersonalAccount(PersonalAccount account) { + this.account = account; } public double balance(World world) { - try { - return Economy.getBalance(uuid).doubleValue(); - } catch (Throwable e) { - e.printStackTrace(); - return 0; - } + return account.getBalance().doubleValue(); } public boolean set(double amount, World world) { - try { - Economy.setBalance(uuid, BigDecimal.valueOf(amount)); - return true; - } catch (Throwable e) { - e.printStackTrace(); - return false; - } + return account.set(BigDecimal.valueOf(amount)); } public boolean add(double amount, World world) { - try { - Economy.addBalance(uuid, BigDecimal.valueOf(amount)); - return true; - } catch (Throwable e) { - e.printStackTrace(); - return false; - } + account.add(BigDecimal.valueOf(amount)); + return true; } public boolean subtract(double amount, World world) { - try { - Economy.subtractBalance(uuid, BigDecimal.valueOf(amount)); - return true; - } catch (Throwable e) { - e.printStackTrace(); - return false; - } + return account.subtract(BigDecimal.valueOf(amount)); } public boolean multiply(double amount, World world) { - try { - Economy.multiplyBalance(uuid, BigDecimal.valueOf(amount)); - return true; - } catch (Throwable e) { - e.printStackTrace(); - return false; - } + return account.multiply(BigDecimal.valueOf(amount)); } public boolean divide(double amount, World world) { - try { - Economy.divideBalance(uuid, BigDecimal.valueOf(amount)); - return true; - } catch (Throwable e) { - e.printStackTrace(); - return false; - } + return account.divide(BigDecimal.valueOf(amount)); } public boolean hasEnough(double amount, World world) { - try { - return Economy.hasEnough(uuid, BigDecimal.valueOf(amount)); - } catch (Throwable e) { - e.printStackTrace(); - return false; - } + return account.getBalance().compareTo(BigDecimal.valueOf(amount)) >= 0; } public boolean hasOver(double amount, World world) { - try { - return Economy.hasOver(uuid, BigDecimal.valueOf(amount)); - } catch (Throwable e) { - e.printStackTrace(); - return false; - } + return account.getBalance().compareTo(BigDecimal.valueOf(amount)) > 0; } public boolean hasUnder(double amount, World world) { - try { - return Economy.hasUnder(uuid, BigDecimal.valueOf(amount)); - } catch (Throwable e) { - e.printStackTrace(); - return false; - } + return account.getBalance().compareTo(BigDecimal.valueOf(amount)) < 0; } public boolean isNegative(World world) { + return account.getBalance().compareTo(BigDecimal.ZERO) < 0; + } + + public boolean remove() { return false; } + @Override + public String toString() { + return account.toString(); + } + + } + + private static class ZCoreBankAccount implements MethodBankAccount { + + private final BankAccount account; + + ZCoreBankAccount(BankAccount account) { + this.account = account; + } + + public double balance() { + return account.getBalance().doubleValue(); + } + + public String getBankName() { + return account.getName(); + } + + public int getBankId() { + return 0; + } + + public boolean set(double amount) { + return account.set(BigDecimal.valueOf(amount)); + } + + public boolean add(double amount) { + account.add(BigDecimal.valueOf(amount)); + return true; + } + + public boolean subtract(double amount) { + return account.subtract(BigDecimal.valueOf(amount)); + } + + public boolean multiply(double amount) { + return account.multiply(BigDecimal.valueOf(amount)); + } + + public boolean divide(double amount) { + return account.divide(BigDecimal.valueOf(amount)); + } + + public boolean hasEnough(double amount) { + return account.getBalance().compareTo(BigDecimal.valueOf(amount)) >= 0; + } + + public boolean hasOver(double amount) { + return account.getBalance().compareTo(BigDecimal.valueOf(amount)) > 0; + } + + public boolean hasUnder(double amount) { + return account.getBalance().compareTo(BigDecimal.valueOf(amount)) < 0; + } + + public boolean isNegative() { + return account.getBalance().compareTo(BigDecimal.ZERO) < 0; + } + public boolean remove() { return false; } + + @Override + public String toString() { + return account.toString(); + } + } -} + +} \ No newline at end of file diff --git a/src/main/java/org/garsooon/Economy/methods/ZCoreEcoOld.java b/src/main/java/org/garsooon/Economy/methods/ZCoreEcoOld.java new file mode 100644 index 0000000..ee9ae44 --- /dev/null +++ b/src/main/java/org/garsooon/Economy/methods/ZCoreEcoOld.java @@ -0,0 +1,185 @@ +//This is the old implementation of Zcore economy prior to 0.22.1 +//If you need this for some reason and can't update ZCore you will need to manually build the plugin with it added to Methods.java ._init +//You will also need to update the Lib for ZCore with a version prior to 0.22.1 before building + +//package org.garsooon.Economy.methods; +// +// +//import me.zavdav.zcore.ZCore; +//import me.zavdav.zcore.api.Economy; +//import me.zavdav.zcore.util.PlayerUtils; +//import org.bukkit.World; +//import org.bukkit.plugin.Plugin; +//import org.garsooon.Economy.Method; +// +//import java.math.BigDecimal; +//import java.util.UUID; +// +////Place holder for Zcore rewrite +// +//public class ZCoreEcoOld implements Method { +// +// private ZCore zcore; +// +// public Object getPlugin() { +// return this.zcore; +// } +// +// public String getName() { +// return "ZCore"; +// } +// +// public String getVersion() { +// return zcore.getDescription().getVersion(); +// } +// +// public int fractionalDigits() { +// return 2; +// } +// +// public String format(double amount) { +// return Economy.formatBalance(BigDecimal.valueOf(amount)); +// } +// +// public boolean hasBanks() { +// return false; +// } +// +// public boolean hasBank(String bank, World world) { +// return false; +// } +// +// public boolean hasAccount(String name, World world) { +// try { +// UUID uuid = PlayerUtils.getUUIDFromUsername(name); +// return Economy.userExists(uuid); +// } catch (Throwable e) { +// return false; +// } +// } +// +// public boolean hasBankAccount(String bank, String name, World world) { +// return false; +// } +// +// public MethodAccount getAccount(String name, World world) { +// if (!hasAccount(name, world)) return null; +// return new ZEcoAccount(PlayerUtils.getUUIDFromUsername(name)); +// } +// +// public MethodBankAccount getBankAccount(String bank, String name, World world) { +// return null; +// } +// +// public boolean isCompatible(Plugin plugin) { +// return plugin.getDescription().getName().equalsIgnoreCase("ZCore") && +// plugin instanceof ZCore; +// } +// +// public void setPlugin(Plugin plugin) { +// zcore = (ZCore) plugin; +// } +// +// public static class ZEcoAccount implements MethodAccount { +// +// private final UUID uuid; +// +// public ZEcoAccount(UUID uuid) { +// this.uuid = uuid; +// } +// +// public double balance(World world) { +// try { +// return Economy.getBalance(uuid).doubleValue(); +// } catch (Throwable e) { +// e.printStackTrace(); +// return 0; +// } +// } +// +// public boolean set(double amount, World world) { +// try { +// Economy.setBalance(uuid, BigDecimal.valueOf(amount)); +// return true; +// } catch (Throwable e) { +// e.printStackTrace(); +// return false; +// } +// } +// +// public boolean add(double amount, World world) { +// try { +// Economy.addBalance(uuid, BigDecimal.valueOf(amount)); +// return true; +// } catch (Throwable e) { +// e.printStackTrace(); +// return false; +// } +// } +// +// public boolean subtract(double amount, World world) { +// try { +// Economy.subtractBalance(uuid, BigDecimal.valueOf(amount)); +// return true; +// } catch (Throwable e) { +// e.printStackTrace(); +// return false; +// } +// } +// +// public boolean multiply(double amount, World world) { +// try { +// Economy.multiplyBalance(uuid, BigDecimal.valueOf(amount)); +// return true; +// } catch (Throwable e) { +// e.printStackTrace(); +// return false; +// } +// } +// +// public boolean divide(double amount, World world) { +// try { +// Economy.divideBalance(uuid, BigDecimal.valueOf(amount)); +// return true; +// } catch (Throwable e) { +// e.printStackTrace(); +// return false; +// } +// } +// +// public boolean hasEnough(double amount, World world) { +// try { +// return Economy.hasEnough(uuid, BigDecimal.valueOf(amount)); +// } catch (Throwable e) { +// e.printStackTrace(); +// return false; +// } +// } +// +// public boolean hasOver(double amount, World world) { +// try { +// return Economy.hasOver(uuid, BigDecimal.valueOf(amount)); +// } catch (Throwable e) { +// e.printStackTrace(); +// return false; +// } +// } +// +// public boolean hasUnder(double amount, World world) { +// try { +// return Economy.hasUnder(uuid, BigDecimal.valueOf(amount)); +// } catch (Throwable e) { +// e.printStackTrace(); +// return false; +// } +// } +// +// public boolean isNegative(World world) { +// return false; +// } +// +// public boolean remove() { +// return false; +// } +// } +//} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 169a71b..90bc16f 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: Auctioneer -version: 1.0.4 +version: 1.0.5 main: org.garsooon.AuctionPlugin softdepend: [Essentials, Fundamentals, ZCore, MultiCurrency, iCo4, iCo5, iCo6, BOSE6, BOSE7]