Example usage for net.minecraftforge.items ItemStackHandler getSlots

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

Introduction

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

Prototype

@Override
    public int getSlots() 

Source Link

Usage

From source file:com.buuz135.industrial.tile.api.IAcceptsTransferAddons.java

License:Open Source License

default void workTransferAddon(TileEntity tileEntity, ItemStackHandler addons) {
    for (int i = 0; i < addons.getSlots(); i++) {
        ItemStack item = addons.getStackInSlot(i);
        if (!item.isEmpty() && item.getItem() instanceof TransferAddon) {
            TransferAddon addon = (TransferAddon) item.getItem();
            if (addon.actionTransfer(tileEntity.getWorld(), tileEntity.getPos(), addon.getFacingFromMeta(item),
                    addon.getTransferAmount(item)))
                break;
        }/*from w ww .  j a  va  2  s . c  o  m*/
    }
}

From source file:com.buuz135.industrial.tile.generator.AbstractReactorTile.java

License:Open Source License

private boolean canInsert(int slot, ItemStackHandler handler, ItemStack stack) {
    if (getReactorsEntries().stream().noneMatch(entry -> entry.doesStackMatch(stack))) {
        return false;
    }// www.  j av  a 2 s .co m
    if (handler.getStackInSlot(slot).isItemEqual(stack)) {
        return true;
    }
    for (int i = 0; i < handler.getSlots(); ++i) {
        if (stack.isItemEqual(handler.getStackInSlot(i)))
            return false;
    }
    return true;
}

From source file:com.buuz135.industrial.tile.misc.BlackHoleControllerTile.java

License:Open Source License

public void dropItems() {
    for (ItemStackHandler items : new ItemStackHandler[] { input, storage, output }) {
        for (int i = 0; i < items.getSlots(); ++i) {
            ItemStack stack = items.getStackInSlot(i);
            if (!stack.isEmpty()) {
                InventoryHelper.spawnItemStack(this.getWorld(), pos.getX(), pos.getY(), pos.getZ(), stack);
            }//w  w  w.j  a v a 2 s .  c o  m
        }
    }
}

From source file:com.buuz135.industrial.tile.mob.WitherBuilderTile.java

License:Open Source License

public ItemStack getDefaultOrFind(int i, ItemStackHandler handler, ItemStack filter) {
    if (handler.getStackInSlot(i).isItemEqual(filter))
        return handler.getStackInSlot(i);
    for (ItemStackHandler h : new ItemStackHandler[] { top, middle, bottom }) {
        for (int s = 0; s < h.getSlots(); ++s) {
            if (h.getStackInSlot(s).isItemEqual(filter))
                return h.getStackInSlot(s);
        }//  w w  w. j a va2s . c o m
    }
    return ItemStack.EMPTY;
}

From source file:com.buuz135.industrial.utils.ItemStackUtils.java

License:Open Source License

public static boolean isInventoryFull(ItemStackHandler handler) {
    for (int i = 0; i < handler.getSlots(); ++i) {
        if (handler.getStackInSlot(i).isEmpty())
            return false;
    }/*from  w  w  w .j a  va2 s .c o  m*/
    return true;
}

From source file:daxum.temporalconvergence.block.BlockBrazier.java

License:Open Source License

@Override
public void breakBlock(World world, BlockPos pos, IBlockState state) {
    if (world.getTileEntity(pos) instanceof TileBrazier) {
        ItemStackHandler invToDrop = ((TileBrazier) world.getTileEntity(pos)).getInventory();

        for (int i = 0; i < invToDrop.getSlots(); i++) {
            InventoryHelper.spawnItemStack(world, pos.getX(), pos.getY(), pos.getZ(),
                    invToDrop.getStackInSlot(i));
            invToDrop.setStackInSlot(i, ItemStack.EMPTY);
        }//from  w  ww . j  a  v a2 s . c  o  m
    }

    if (world.getBlockState(pos.down()).getBlock() instanceof BlockBrazierBottom) {
        world.setBlockToAir(pos.down());
    }
}

From source file:daxum.temporalconvergence.block.BlockCrafter.java

License:Open Source License

@Override
public void breakBlock(World world, BlockPos pos, IBlockState state) {
    if (world.getTileEntity(pos) instanceof TileCrafter) {
        ItemStackHandler inventory = ((TileCrafter) world.getTileEntity(pos)).getInventory();

        for (int i = 0; i < inventory.getSlots(); i++) {
            InventoryHelper.spawnItemStack(world, pos.getX(), pos.getY(), pos.getZ(),
                    inventory.getStackInSlot(i));
            inventory.setStackInSlot(i, ItemStack.EMPTY);
        }/*from  w  ww .  j  a  v  a2  s.  c  o m*/
    }
}

From source file:daxum.temporalconvergence.block.BlockFutureChest.java

License:Open Source License

@Override
public void breakBlock(World world, BlockPos pos, IBlockState state) {
    if (world.getTileEntity(pos) instanceof TileFutureChest) {
        ItemStackHandler invToDrop = ((TileFutureChest) world.getTileEntity(pos)).getInventory();

        for (int i = 0; i < invToDrop.getSlots(); i++) {
            InventoryHelper.spawnItemStack(world, pos.getX(), pos.getY(), pos.getZ(),
                    invToDrop.getStackInSlot(i));
            invToDrop.setStackInSlot(i, ItemStack.EMPTY);
        }//  w  w w .j  a v  a2 s .  com
    }
}

From source file:daxum.temporalconvergence.block.BlockTimeChest.java

License:Open Source License

@Override
public void breakBlock(World world, BlockPos pos, IBlockState state) {
    if (world.getTileEntity(pos) instanceof TileTimeChest) {
        ItemStackHandler invToDrop = ((TileTimeChest) world.getTileEntity(pos)).getInventory();

        for (int i = 0; i < invToDrop.getSlots(); i++) {
            InventoryHelper.spawnItemStack(world, pos.getX(), pos.getY(), pos.getZ(),
                    invToDrop.getStackInSlot(i)); //It doesn't count if Minecraft modifies the stack, right?
            invToDrop.setStackInSlot(i, ItemStack.EMPTY);
        }//from www .  ja va 2 s.  c  om
    }
}

From source file:daxum.temporalconvergence.block.BlockTimeFurnace.java

License:Open Source License

private void dropControllerInventory(World world, BlockPos pos, ItemStackHandler inventory) {
    for (int i = 0; i < inventory.getSlots(); i++) {
        InventoryHelper.spawnItemStack(world, pos.getX(), pos.getY(), pos.getZ(), inventory.getStackInSlot(i));
        inventory.setStackInSlot(i, ItemStack.EMPTY);
    }//  w w w  . ja va 2s  . c  o  m
}