public TileDryingRack() { super("gui.dryingrack.name", 2); // two slots, an input and an output. Should never both have something, output is just to stop item tranfer // use a SidedInventory Wrapper to respect the canInsert/Extract calls this.itemHandler = new SidedInvWrapper(this, EnumFacing.DOWN); }
public AdaptorItemHandlerPlayerInv( final EntityPlayer playerInv ) { super( new PlayerMainInvWrapper( playerInv.inventory ) ); }
@Nonnull @Override public ItemStack extractItem(int slot, int amount, boolean simulate) { if(!canExtract) { return ItemStack.EMPTY; } return super.extractItem(slot, amount, simulate); } }
@Override public int getBlockCount(EntityPlayer player, ItemStack requestor, ItemStack stack, Block block, int meta) { if(requestor != null && requestor.getItem() == this) return 0; return ItemExchangeRod.getInventoryItemCount(player, new InvWrapper(player.getInventoryEnderChest()), stack, block, meta); }
public static IItemHandler getItemHandlerCap(TileEntity tileEntity, EnumFacing face) { if (tileEntity.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, face)) { return tileEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, face); } else if (tileEntity instanceof ISidedInventory && face != null) { return new SidedInvWrapper(((ISidedInventory) tileEntity), face); } else if (tileEntity instanceof IInventory) { return new InvWrapper(((IInventory) tileEntity)); } return EmptyHandler.INSTANCE; }
InventoryWrapperInventory(IInventory inventory) { this.inventory = inventory; if (inventory instanceof InventoryPlayer) { // Don't use PlayerMainInvWrapper to avoid stack animations. this.wrapper = new RangedWrapper(new InvWrapper(inventory), 0, ((InventoryPlayer) inventory).mainInventory.size()); } else { this.wrapper = new InvWrapper(inventory); } }
@Override public IItemHandler getInventoryByName( final String name ) { if( name.equals( "player" ) ) { return new PlayerInvWrapper( this.getInventoryPlayer() ); } return this.ct.getInventoryByName( name ); }
IItemHandler joined = baublesInv != null ? new CombinedInvWrapper(mainInv, baublesInv) : mainInv;
private InventoryAdaptor getAdaptor( final int slot ) { return new AdaptorItemHandler( new RangedWrapper( this.storage, slot, slot + 1 ) ); }
@Nonnull @Override public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { if(!canInsert) { return stack; } return super.insertItem(slot, stack, simulate); }
@Override public int getSlots() { return super.getSlots() - 5; }
public ItemHandlerFilter(TileGeneticFilter filter, EnumFacing facing) { this.filter = filter; this.facing = facing; this.itemHandler = new InvWrapper(filter); }
public TileCasting() { super("casting", 2, 1); // 2 slots. 0 == input, 1 == output // initialize with empty tank tank = new FluidTankAnimated(0, this); fluidHandler = new FluidHandlerCasting(this, tank); // use a SidedInventory Wrapper to respect the canInsert/Extract calls this.itemHandler = new SidedInvWrapper(this, EnumFacing.DOWN); }
@Override public IItemHandler getInventoryByName( final String name ) { if( name.equals( "player" ) ) { return new PlayerInvWrapper( this.getInventoryPlayer() ); } return this.getPatternTerminal().getInventoryByName( name ); }
IItemHandler inv = new PlayerMainInvWrapper( player.inventory );
final InventoryAdaptor sia = new AdaptorItemHandler( new RangedWrapper( this.inv, 3, 6 ) );
@Override public boolean provideBlock(EntityPlayer player, ItemStack requestor, ItemStack stack, Block block, int meta, boolean doit) { if(requestor != null && requestor.getItem() == this) return false; ItemStack istack = ItemExchangeRod.removeFromInventory(player, new InvWrapper(player.getInventoryEnderChest()), stack, block, meta, false); if(!istack.isEmpty()) { boolean mana = ManaItemHandler.requestManaExact(stack, player, COST_PROVIDE, false); if(mana) { if(doit) { ManaItemHandler.requestManaExact(stack, player, COST_PROVIDE, true); ItemExchangeRod.removeFromInventory(player, new InvWrapper(player.getInventoryEnderChest()), stack, block, meta, true); } return true; } } return false; }
protected void bindPlayerInventory( final InventoryPlayer inventoryPlayer, final int offsetX, final int offsetY ) IItemHandler ih = new PlayerInvWrapper( inventoryPlayer );
@Nonnull @Override public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float xs, float ys, float zs) { TileEntity tile = world.getTileEntity(pos); if(tile != null) { if(!world.isRemote) { IItemHandler tileInv = null; if(tile.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side)) tileInv = tile.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side); else if(tile instanceof IInventory) tileInv = new InvWrapper((IInventory) tile); if(tileInv == null) return EnumActionResult.FAIL; IItemHandlerModifiable bagInv = (IItemHandlerModifiable) player.getHeldItem(hand).getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); for(int i = 0; i < bagInv.getSlots(); i++) { ItemStack flower = bagInv.getStackInSlot(i); bagInv.setStackInSlot(i, ItemHandlerHelper.insertItemStacked(tileInv, flower, false)); } } return EnumActionResult.SUCCESS; } return EnumActionResult.PASS; }
if(scanInventory(new InvWrapper(inv), pstack)) entIdBuilder.add(e.getEntityId()); if(scanInventory(new InvWrapper(inv), pstack)) blockPosBuilder.appendTag(new NBTTagLong(pos_.toLong()));