Example usage for net.minecraftforge.items ItemStackHandler deserializeNBT

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

Introduction

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

Prototype

@Override
    public void deserializeNBT(CompoundNBT nbt) 

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;
                }/*from  w  w w  .ja  v  a  2  s. 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;
}