Example usage for net.minecraftforge.items ItemStackHandler ItemStackHandler

List of usage examples for net.minecraftforge.items ItemStackHandler ItemStackHandler

Introduction

In this page you can find the example usage for net.minecraftforge.items ItemStackHandler ItemStackHandler.

Prototype

public ItemStackHandler() 

Source Link

Usage

From source file:com.gmail.socraticphoenix.forge.randore.compatability.waila.RandoresWailaHandler.java

License:Open Source License

@Override
public List<String> getWailaBody(ItemStack itemStack, List<String> list, IWailaDataAccessor iWailaDataAccessor,
        IWailaConfigHandler iWailaConfigHandler) {
    Block block = iWailaDataAccessor.getBlock();
    if (this.forgeMode && block instanceof CraftiniumForge) {
        NBTTagCompound randores = iWailaDataAccessor.getNBTData().getCompoundTag("randores");
        int cookTime = randores.getInteger("cook_time");
        int totalCookTime = randores.getInteger("cook_time_total");
        int burnTime = randores.getInteger("burn_time");
        if (burnTime > 0) {
            ItemStackHandler input = new ItemStackHandler();
            ItemStackHandler output = new ItemStackHandler();
            ItemStackHandler fuel = new ItemStackHandler();
            input.deserializeNBT(randores.getCompoundTag("input"));
            fuel.deserializeNBT(randores.getCompoundTag("fuel"));
            output.deserializeNBT(randores.getCompoundTag("output"));

            ItemStack[] inventory = new ItemStack[3];
            inventory[0] = input.getStackInSlot(0);
            inventory[1] = fuel.getStackInSlot(0);
            inventory[2] = output.getStackInSlot(0);
            for (int i = 0; i < inventory.length; i++) {
                if (inventory[i] == ItemStack.EMPTY) {
                    inventory[i] = null;
                }/* w ww  .  j a  v a2s  .  c  om*/
            }

            String renderStr = "";

            if (inventory[0] != null) {
                String name = inventory[0].getItem().getRegistryName().toString();
                renderStr += SpecialChars.getRenderString("waila.stack", "1", name,
                        String.valueOf(inventory[0].getCount()), String.valueOf(inventory[0].getItemDamage()));
            } else {
                renderStr += SpecialChars.getRenderString("waila.stack", "2");
            }

            if (inventory[1] != null) {
                String name = inventory[1].getItem().getRegistryName().toString();
                renderStr += SpecialChars.getRenderString("waila.stack", "1", name,
                        String.valueOf(inventory[1].getCount()), String.valueOf(inventory[1].getItemDamage()));
            } else {
                renderStr += SpecialChars.getRenderString("waila.stack", "2");
            }

            renderStr += SpecialChars.getRenderString("waila.progress", String.valueOf(cookTime),
                    String.valueOf(totalCookTime));

            if (inventory[2] != null) {
                String name = inventory[2].getItem().getRegistryName().toString();
                renderStr += SpecialChars.getRenderString("waila.stack", "1", name,
                        String.valueOf(inventory[2].getCount()), String.valueOf(inventory[2].getItemDamage()));
            } else {
                renderStr += SpecialChars.getRenderString("waila.stack", "2");
            }
            list.add(renderStr);
        }
    }

    return list;
}

From source file:katrix.magicOfRevolt.container.ContainerHexagonSpellCreation.java

License:Open Source License

public ContainerHexagonSpellCreation(EntityPlayer player, World world, BlockPos blockPos) {
    activator = (ISpellActivator) world.getTileEntity(blockPos);
    spellSlot = new SlotItemHandler(new ItemStackHandler(), 0, 50, 50);
    addSlotToContainer(spellSlot);//from  w  ww. j  a  va2  s .  c om
    spellContainer = (HexagonSpellCompiler) activator.getSpellCompiler().get();

    InventoryPlayer invPlayer = player.inventory;
    int offsetX = 89;
    int offsetY = 173;

    //Player inventory
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 9; j++) {
            addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, offsetX + j * 18, offsetY + i * 18));
        }
    }

    //Player hotbar
    for (int i = 0; i < 9; i++) {
        addSlotToContainer(new Slot(invPlayer, i, offsetX + i * 18, offsetY + 58));
    }
}