Applied-Energistics-2-tiler.../core/features/registries/entries/BasicCellHandler.java

67 lines
1.9 KiB
Java
Raw Normal View History

package appeng.core.features.registries.entries;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
2014-02-09 02:34:52 +01:00
import net.minecraft.util.IIcon;
2014-01-23 20:02:48 +01:00
import appeng.api.implementations.tiles.IChestOrDrive;
import appeng.api.storage.ICellHandler;
2014-03-28 01:48:38 +01:00
import appeng.api.storage.ICellInventory;
import appeng.api.storage.ICellInventoryHandler;
import appeng.api.storage.IMEInventory;
import appeng.api.storage.IMEInventoryHandler;
import appeng.api.storage.StorageChannel;
import appeng.client.texture.ExtraBlockTextures;
import appeng.core.sync.GuiBridge;
import appeng.me.storage.CellInventory;
2014-01-20 17:41:37 +01:00
import appeng.me.storage.CellInventoryHandler;
import appeng.tile.AEBaseTile;
import appeng.util.Platform;
public class BasicCellHandler implements ICellHandler
{
@Override
public boolean isCell(ItemStack is)
{
return CellInventory.isCell( is );
}
@Override
public IMEInventoryHandler getCellInventory(ItemStack is, StorageChannel channel)
{
if ( channel == StorageChannel.ITEMS )
return CellInventory.getCell( is );
return null;
}
@Override
2014-02-09 02:34:52 +01:00
public IIcon getTopTexture()
{
return ExtraBlockTextures.BlockMEChestItems.getIcon();
}
@Override
public void openChestGui(EntityPlayer player, IChestOrDrive chest, ICellHandler cellHandler, IMEInventoryHandler inv, ItemStack is, StorageChannel chan)
{
Platform.openGUI( player, (AEBaseTile) chest, chest.getUp(), GuiBridge.GUI_ME );
}
@Override
public int getStatusForCell(ItemStack is, IMEInventory handler)
{
2014-01-20 17:41:37 +01:00
if ( handler instanceof CellInventoryHandler )
{
CellInventoryHandler ci = (CellInventoryHandler) handler;
return ci.getCellInv().getStatusForCell();
}
return 0;
}
@Override
public double cellIdleDrain(ItemStack is, IMEInventory handler)
{
2014-03-28 01:48:38 +01:00
ICellInventory inv = ((ICellInventoryHandler) handler).getCellInv();
return inv.getIdleDrain();
}
}