package com.crossge.cceconomy.Commands;
import org.bukkit.Material;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.PlayerInventory;
import com.crossge.cceconomy.*;
public class CmdTradeItems extends Cmd
{
Formatter form = new Formatter();
Trade tr = new Trade();
Materials mat = new Materials();
ArrayLists arl = new ArrayLists();
public CmdTradeItems()
{
}
public boolean commandUse(CommandSender sender, String[] args)
{
if (sender instanceof Player)
{
if(args.length != 5)
return false;
Player player = (Player) sender;
Player target = sender.getServer().getPlayer(args[0]);
String pname = player.getName();
String offertopname = target.getName();
if(!form.isLegal(args[2]) || !form.isLegal(args[4]))
return false;
String amountgetting = args[2];
String itemgetting = "";
String amountoffering = args[4];
String itemoffering = "";
short dataget = 0;
short dataoff = 0;
String tempget = "";
tempget = args[1].replaceAll(":", " ");
itemgetting = tempget.split(" ")[0];
String tempoff = "";
tempoff = args[3].replaceAll(":", " ");
itemoffering = tempget.split(" ")[0];
if(form.isLegal(itemgetting))
{
itemgetting = mat.idToName(Integer.parseInt(itemgetting));
try
{
dataget = Short.parseShort(tempget.split(" ")[1]);
}
catch(Exception e)
{
dataget = 0;
}
}
if(form.isLegal(itemoffering))
{
itemoffering = mat.idToName(Integer.parseInt(itemoffering));
try
{
dataoff = Short.parseShort(tempoff.split(" ")[1]);
}
catch(Exception e)
{
dataoff = 0;
}
}
PlayerInventory thereinventory = target.getInventory();
PlayerInventory yourinventory = player.getInventory();
itemoffering = mat.findItem(itemoffering);
itemgetting = mat.findItem(itemgetting);
if(!mat.itemExists(itemoffering) || !mat.itemExists(itemgetting))
{
player.sendMessage(arl.getMessages() + "That item does not exist");
return true;
}
if(!yourinventory.contains(Material.matchMaterial(itemoffering), Integer.parseInt(amountoffering)))
{
player.sendMessage(arl.getMessages() + "You do not have that much " + form.capFirst(itemoffering));
return true;
}
if(!thereinventory.contains(Material.matchMaterial(itemgetting), Integer.parseInt(amountgetting)))
{
player.sendMessage(arl.getMessages() + "They do not have that much " + form.capFirst(itemgetting));
return true;
}
tr.createTrade(offertopname + " " + pname + " " + itemgetting + ":" + Short.toString(dataget) + " " + amountgetting + " " + itemoffering + ":" + Short.toString(dataoff) + " " + amountoffering);
itemgetting = form.capFirst(itemgetting);
itemoffering = form.capFirst(itemoffering);
player.sendMessage(arl.getMessages() + "You have offered a trade to " + offertopname);
target.sendMessage(arl.getMessages() + pname + " has offered to trade you " + amountgetting + " of " + itemgetting + " for " + amountoffering + " of " + itemoffering);
target.sendMessage(arl.getMessages() + "Type /taccept " + pname + " or /tdeny " + pname + " to accept or deny their trade request");
return true;
}
else
{
sender.sendMessage(arl.getMessages() + "You don't have an inventory. Please log in to trade.");
return true;
}
}
}