Hbm-s-Nuclear-Tech-GIT/com/hbm/tileentity/TileEntityProxyInventory.java

162 lines
2.9 KiB
Java

package com.hbm.tileentity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
public class TileEntityProxyInventory extends TileEntityProxyBase implements ISidedInventory {
@Override
public int getSizeInventory() {
ISidedInventory inv = this.getBase();
if(inv != null)
return inv.getSizeInventory();
return 0;
}
@Override
public ItemStack getStackInSlot(int slot) {
ISidedInventory inv = this.getBase();
if(inv != null)
return inv.getStackInSlot(slot);
return null;
}
@Override
public ItemStack decrStackSize(int slot, int count) {
ISidedInventory inv = this.getBase();
if(inv != null)
return inv.decrStackSize(slot, count);
return null;
}
@Override
public ItemStack getStackInSlotOnClosing(int slot) {
ISidedInventory inv = this.getBase();
if(inv != null)
return inv.getStackInSlotOnClosing(slot);
return null;
}
@Override
public void setInventorySlotContents(int slot, ItemStack stack) {
ISidedInventory inv = this.getBase();
if(inv != null)
inv.setInventorySlotContents(slot, stack);
}
@Override
public String getInventoryName() {
ISidedInventory inv = this.getBase();
if(inv != null)
return inv.getInventoryName();
return "";
}
@Override
public boolean hasCustomInventoryName() {
ISidedInventory inv = this.getBase();
if(inv != null)
return inv.hasCustomInventoryName();
return false;
}
@Override
public int getInventoryStackLimit() {
ISidedInventory inv = this.getBase();
if(inv != null)
return inv.getInventoryStackLimit();
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
return false; //never usable, it's just a proxy
}
@Override
public void openInventory() { }
@Override
public void closeInventory() { }
@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {
ISidedInventory inv = this.getBase();
if(inv != null)
return inv.isItemValidForSlot(slot, stack);
return false;
}
@Override
public int[] getAccessibleSlotsFromSide(int side) {
ISidedInventory inv = this.getBase();
if(inv != null)
return inv.getAccessibleSlotsFromSide(side);
return new int[0];
}
@Override
public boolean canInsertItem(int slot, ItemStack stack, int side) {
ISidedInventory inv = this.getBase();
if(inv != null)
return inv.canInsertItem(slot, stack, side);
return false;
}
@Override
public boolean canExtractItem(int slot, ItemStack stack, int side) {
ISidedInventory inv = this.getBase();
if(inv != null)
return inv.canExtractItem(slot, stack, side);
return false;
}
private ISidedInventory getBase() {
TileEntity te = this.getTE();
if(te instanceof ISidedInventory)
return (ISidedInventory)te;
return null;
}
}