package tv.mineinthebox.essentials.managers; import tv.mineinthebox.essentials.xEssentials; import tv.mineinthebox.essentials.interfaces.XOfflinePlayer; import tv.mineinthebox.essentials.interfaces.XPlayer; public class EconomyManager { private final xEssentials pl; public EconomyManager(xEssentials pl) { this.pl = pl; } /** * @author xize * @param player - the players name, can also be a offline players name * @return Double */ public Double getMoney(String player) { if(pl.getManagers().getPlayerManager().isEssentialsPlayer(player)) { if(pl.getManagers().getPlayerManager().isOnline(player)) { XPlayer xp = pl.getManagers().getPlayerManager().getPlayer(player); return xp.getMoney(); } else { XOfflinePlayer off = pl.getManagers().getPlayerManager().getOfflinePlayer(player); return off.getMoney(); } } throw new NullPointerException("this player has never played before!"); } /** * @author xize * @param player - the player name, can be a offline player to * @param money - money, which get removed from the bank! */ public void withdrawMoney(String player, Double money) { if(pl.getManagers().getPlayerManager().isEssentialsPlayer(player)) { if(pl.getManagers().getPlayerManager().isOnline(player)) { XPlayer xp = pl.getManagers().getPlayerManager().getPlayer(player); Double moneyz = xp.getMoney(); if(money > moneyz) { throw new IndexOutOfBoundsException("cannot withdraw money below zero"); } xp.clearMoney(); xp.depositMoney((moneyz-money)); } else { XOfflinePlayer off = pl.getManagers().getPlayerManager().getOfflinePlayer(player); Double moneyz = off.getMoney(); if(money > moneyz) { throw new IndexOutOfBoundsException("cannot withdraw money below zero"); } off.clearMoney(); off.depositMoney((moneyz-money)); } } else { throw new NullPointerException("this player has never played before!"); } } /** * @author xize * @param player - the player name, can be a offline player to * @param money - money, which get added to the bank */ public void depositMoney(String player, Double money) { if(pl.getManagers().getPlayerManager().isEssentialsPlayer(player)) { if(pl.getManagers().getPlayerManager().isOnline(player)) { XPlayer xp = pl.getManagers().getPlayerManager().getPlayer(player); Double moneyz = xp.getMoney(); xp.clearMoney(); xp.depositMoney(moneyz+money); } else { XOfflinePlayer off = pl.getManagers().getPlayerManager().getOfflinePlayer(player); Double moneyz = off.getMoney(); off.clearMoney(); off.depositMoney(moneyz+money); } } else { throw new NullPointerException("this player has never played before!"); } } public boolean hasEnough(String name, double price) { double money = getMoney(name); if(money >= price) { return true; } return false; } }