Package appeng.core.features.registries.entries

Source Code of appeng.core.features.registries.entries.BasicCellHandler

package appeng.core.features.registries.entries;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import appeng.api.implementations.tiles.IChestOrDrive;
import appeng.api.storage.ICellHandler;
import appeng.api.storage.ICellInventory;
import appeng.api.storage.ICellInventoryHandler;
import appeng.api.storage.IMEInventory;
import appeng.api.storage.IMEInventoryHandler;
import appeng.api.storage.ISaveProvider;
import appeng.api.storage.StorageChannel;
import appeng.client.texture.ExtraBlockTextures;
import appeng.core.sync.GuiBridge;
import appeng.me.storage.CellInventory;
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, ISaveProvider container, StorageChannel channel)
  {
    if ( channel == StorageChannel.ITEMS )
      return CellInventory.getCell( is, container );
    return null;
  }

  @Override
  public IIcon getTopTexture_Dark()
  {
    return ExtraBlockTextures.BlockMEChestItems_Dark.getIcon();
  }

  @Override
  public IIcon getTopTexture_Light()
  {
    return ExtraBlockTextures.BlockMEChestItems_Light.getIcon();
  }

  @Override
  public IIcon getTopTexture_Medium()
  {
    return ExtraBlockTextures.BlockMEChestItems_Medium.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)
  {
    if ( handler instanceof CellInventoryHandler )
    {
      CellInventoryHandler ci = (CellInventoryHandler) handler;
      return ci.getStatusForCell();
    }
    return 0;
  }

  @Override
  public double cellIdleDrain(ItemStack is, IMEInventory handler)
  {
    ICellInventory inv = ((ICellInventoryHandler) handler).getCellInv();
    return inv.getIdleDrain();
  }
}
TOP

Related Classes of appeng.core.features.registries.entries.BasicCellHandler

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.