LATEST VERSION 1.6.6

This commit is contained in:
lishd
2012-01-12 14:23:53 -05:00
parent 7d4d830c77
commit 7d06601fe9
8 changed files with 406 additions and 295 deletions

View File

@@ -1,14 +0,0 @@
package lishid.openinv.utils;
import org.bukkit.entity.Player;
public class OpenInvHistory {
public Player player = null;
public String lastPlayer = "";
public OpenInvHistory(Player player)
{
this.player = player;
}
}

View File

@@ -5,46 +5,207 @@ import org.bukkit.entity.Player;
import lishid.openinv.commands.OpenInvPluginCommand;
import net.minecraft.server.EntityHuman;
import net.minecraft.server.EntityPlayer;
import net.minecraft.server.IInventory;
import net.minecraft.server.ItemStack;
import net.minecraft.server.PlayerInventory;
public class PlayerInventoryChest extends PlayerInventory
public class PlayerInventoryChest implements IInventory
{
public boolean Offline = false;
public Player Opener;
public Player Target;
public PlayerInventoryChest(PlayerInventory inventory, EntityPlayer entityplayer) {
super(entityplayer);
this.armor = inventory.armor;
this.items = inventory.items;
this.itemInHandIndex = inventory.itemInHandIndex;
this.e = inventory.e;
this.b(inventory.l());
}
public boolean Offline = false;
public Player Opener;
EntityPlayer player;
public Player Target;
private ItemStack[] items = new ItemStack[36];
private ItemStack[] armor = new ItemStack[4];
private ItemStack[] extra = new ItemStack[5];
@Override
public String getName() {
if(this.d.name.length() > 16)
return this.d.name.substring(0, 16);
else
return this.d.name;
public PlayerInventoryChest(PlayerInventory inventory, EntityPlayer entityplayer)
{
player = entityplayer;
this.items = inventory.items;
this.armor = inventory.armor;
}
@Override
public boolean a(EntityHuman entityhuman)
{
return true;
}
@Override
public void g() {
try{
Player player = OpenInvPluginCommand.offlineInv.get(this);
if(player != null)
{
player.saveData();
OpenInvPluginCommand.offlineInv.remove(this);
}
}catch(Exception e){}
}
public ItemStack[] getContents()
{
ItemStack[] C = new ItemStack[getSize()];
System.arraycopy(items, 0, C, 0, items.length);
System.arraycopy(items, 0, C, items.length, armor.length);
return C;
}
public int getSize()
{
return 45;
}
public ItemStack getItem(int i)
{
ItemStack[] is = this.items;
if (i >= is.length)
{
i -= is.length;
is = this.armor;
}
else
{
i = getReversedItemSlotNum(i);
}
if (i >= is.length)
{
i -= is.length;
is = this.extra;
}
else if(is == this.armor)
{
i = getReversedArmorSlotNum(i);
}
return is[i];
}
public ItemStack splitStack(int i, int j)
{
ItemStack[] is = this.items;
if (i >= is.length)
{
i -= is.length;
is = this.armor;
}
else
{
i = getReversedItemSlotNum(i);
}
if (i >= is.length)
{
i -= is.length;
is = this.extra;
}
else if(is == this.armor)
{
i = getReversedArmorSlotNum(i);
}
if (is[i] != null)
{
ItemStack itemstack;
if (is[i].count <= j)
{
itemstack = is[i];
is[i] = null;
return itemstack;
}
else
{
itemstack = is[i].a(j);
if (is[i].count == 0)
{
is[i] = null;
}
return itemstack;
}
}
else
{
return null;
}
}
public void setItem(int i, ItemStack itemstack)
{
ItemStack[] is = this.items;
if (i >= is.length)
{
i -= is.length;
is = this.armor;
}
else
{
i = getReversedItemSlotNum(i);
}
if (i >= is.length)
{
i -= is.length;
is = this.extra;
}
else if(is == this.armor)
{
i = getReversedArmorSlotNum(i);
}
//Effects
if(is == this.extra)
{
if(i == 0)
{
itemstack.setData(0);
}
}
is[i] = itemstack;
}
private int getReversedItemSlotNum(int i)
{
if (i >= 27) return i - 27;
else return i + 9;
}
private int getReversedArmorSlotNum(int i)
{
if (i == 0) return 3;
if (i == 1) return 2;
if (i == 2) return 1;
if (i == 3) return 0;
else return i;
}
public String getName()
{
if (player.name.length() > 16) return player.name.substring(0, 16);
return player.name;
}
public int getMaxStackSize()
{
return 64;
}
public boolean a(EntityHuman entityhuman)
{
return true;
}
public void f()
{
}
public void g()
{
try
{
PlayerInventoryChest inv = OpenInvPluginCommand.offlineInv.get(this.Target);
if (inv != null)
{
this.Target.saveData();
OpenInvPluginCommand.offlineInv.remove(this.Target);
}
}
catch (Exception e)
{}
}
public void update()
{
}
}