Package me.ashtheking.currency

Source Code of me.ashtheking.currency.Currency$MoneyListener

   package me.ashtheking.currency;

   import java.util.logging.Logger;
   import org.bukkit.plugin.java.JavaPlugin;
   import org.bukkit.plugin.PluginManager;
   import org.bukkit.event.*;
   import org.bukkit.event.player.*;
   import org.bukkit.entity.*;
   import org.bukkit.*;
   import org.bukkit.inventory.*;
   import java.util.Random;
   import com.nijiko.permissions.PermissionHandler;
   import com.nijikokun.bukkit.Permissions.Permissions;
   import org.bukkit.plugin.Plugin;
   import org.bukkit.command.*;
   import java.io.*;
/**
@author ashtheking
*/
   public class Currency extends JavaPlugin
   {
      public static PermissionHandler permissionHandler = null;
      Logger log = Logger.getLogger("Minecraft");
      public void onEnable(){
         log.info("MultiCurrency, by Ashtheking. Version 0.05");
         PluginManager pm = getServer().getPluginManager();
         MoneyListener money = new MoneyListener();
         //pm.registerEvent(Event.Type.PLAYER_COMMAND_PREPROCESS, money, Event.Priority.Normal, this);
         pm.registerEvent(Event.Type.PLAYER_LOGIN, money, Event.Priority.Normal, this);
         CurrencyList.loadAll();
         setupPermissions();
      }
      public void onDisable(){
         log.info("MultiCurrency Plugin deactivating.");
      }
      private void setupPermissions() {
         if (permissionHandler != null) {
            return;
         }
         Plugin permissionsPlugin = this.getServer().getPluginManager().getPlugin("Permissions");
         if (permissionsPlugin == null) {
            log.warning("MultiCurrency has not found Permissions, and will now use OP.");
            return;
         }
         permissionHandler = ((Permissions) permissionsPlugin).getHandler();
         log.info("MultiCurrency has located Permissions and will use it.");
      }
      public static boolean checkPermission(Player player, String command, boolean op) {
     
         if(permissionHandler == null)
         {
            if(op)
               return player.isOp();
            else
               return true;
         }
         else
            return permissionHandler.has(player, "ashtheking.multicurrency."+command);
     
      }
      public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] split){
         Player player = (Player)sender;
         String cmd = command.getName()
         if(cmd.equalsIgnoreCase("pay") && split.length > 2 && checkPermission(player,"pay", false)){
            String playerName = split[0], currency = split[2].toLowerCase();
            double amount = Double.parseDouble(split[1]);
            if(player.getServer().getPlayer(playerName) != null)
               if(CurrencyList.hasEnough(player.getName(), amount, currency))
               {
                  Player other =  player.getServer().getPlayer(playerName);
                  CurrencyList.subtract(player.getName(), amount, currency);
                  CurrencyList.add(other.getName(), amount, currency);
                  player.sendMessage(ChatColor.YELLOW + "You paid " + playerName + " " + amount + " " + currency);
                  other.sendMessage(ChatColor.YELLOW + "You recieved " + amount + " " + currency + " from " + player.getName());
               }
            return true;
         }
         if(cmd.equalsIgnoreCase("money") && split.length > 0 && checkPermission(player,"info", false))
         {
            try
            {
               String currency = split[0].toLowerCase();
               player.sendMessage(ChatColor.GREEN + "You have " + CurrencyList.getValue(currency,player.getName()) + " " + currency + ". " +
                       currency + " is traded in " + CurrencyList.getConvertMaterial(currency).toUpperCase() + " at a 1 : " + CurrencyList.getExchangeRate(currency) + " exchange rate.");
               return true;
            }
               catch(NullPointerException npe)
               {}
         }
         if(checkPermission(player,"create",true) && cmd.equalsIgnoreCase("create") && split.length > 1)
         {
            String currency = split[0].toLowerCase();
            Material m = Material.matchMaterial(split[1].toUpperCase());
            System.out.println("Created Currency: " + currency + "with item: " + m.name());
            player.sendMessage(ChatColor.BLUE + "Created Currency: " + currency + " with item: " + m.name());
            if(m != null)
            {
               CurrencyList.addCurrency(currency, m.name());
               return true;
            }
            else
               player.sendMessage(ChatColor.RED + "There is no material by the name of " + split[1] + ".");
         }
         if(cmd.equalsIgnoreCase("convert") && split.length > 0 && checkPermission(player,"convert",false))
         {
            String currency = split[0].toLowerCase();
            int amount = 1;
            if(split.length > 1)
               try
               {amount = Integer.parseInt(split[1]);}
                  catch(NumberFormatException nfe){}
            if(!(CurrencyList.getConvertMaterial(currency).equals("NONE")))
            {
               Material m = Material.matchMaterial(CurrencyList.getConvertMaterial(currency).toUpperCase());
               if(player.getInventory().contains(m,amount))
               {
                  player.getInventory().removeItem(new ItemStack(m.getId(),amount));
                  CurrencyList.setValue(currency, player.getName(), CurrencyList.getValue(currency, player.getName()) + (amount * CurrencyList.getExchangeRate(currency)));    
                  return true;
               }
            } 
         }
         if(cmd.equalsIgnoreCase("exchange") && split.length > 1 && checkPermission(player,"exchange",true))
         {
            String currency = split[0].toLowerCase();
            int amount = Integer.parseInt(split[1]);
            CurrencyList.setExchangeRate(currency, amount);
            System.out.println("Set " + currency + " exchange rate to " + amount);
            player.sendMessage("Set " + currency + " exchange rate to " + amount);
            return true;
         }
         if(cmd.equalsIgnoreCase("remove")&& checkPermission(player,"remove",true))
         {
            if(split.length > 1)
            {
               String currency = split[0].toLowerCase();
               Player other = player.getServer().getPlayer(split[1]);
               if(other != null)
               {
                  CurrencyList.remove(other.getName(),currency);
                  player.sendMessage("Nulled " + other.getName() + "'s account for currency: " + currency);
                  return true;
               }
            }
            else
            {
               Player other = player.getServer().getPlayer(split[0]);
               String currency = (String)CurrencyList.maxCurrency(other.getName())[0];
               if(other != null)
               {
                  CurrencyList.remove(other.getName());
                  player.sendMessage("Nulled " + other.getName() + "'s account for his maximum currency, which was " + currency);
                  return true;
               }
            }
         }
     
         return false;
      }
      public class MoneyListener extends PlayerListener
      {
         public void onPlayerLogin(PlayerLoginEvent event) {
            try
            {
               for(String key : CurrencyList.getAllCurrencys())
                  CurrencyList.getValue(key, event.getPlayer().getName());
            }
               catch(NullPointerException npe)
               {}
         }
      }
   }
TOP

Related Classes of me.ashtheking.currency.Currency$MoneyListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.