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); }
@Override @Nonnull public ItemStack extractItem(int slot, int amount, boolean simulate) { if (slot == 1 && inv.getStackInSlot(slot) != null && inv.getStackInSlot(slot).getItem() == Items.BUCKET) { return super.extractItem(slot, amount, simulate); } else if (Ints.asList(SLOTS_BOTTOM).contains(slot)) { return super.extractItem(slot, amount, simulate); } return ItemStack.EMPTY; } };
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); }
protected void initializeItemHandlers() { if (this instanceof ISidedInventory) { handlerDown = new SidedInvWrapper((ISidedInventory) this, EnumFacing.DOWN); handlerUp = new SidedInvWrapper((ISidedInventory) this, EnumFacing.UP); handlerNorth = new SidedInvWrapper((ISidedInventory) this, EnumFacing.NORTH); handlerSouth = new SidedInvWrapper((ISidedInventory) this, EnumFacing.SOUTH); handlerWest = new SidedInvWrapper((ISidedInventory) this, EnumFacing.WEST); handlerEast = new SidedInvWrapper((ISidedInventory) this, EnumFacing.EAST); } else { handlerDown = new InvWrapper(this); handlerUp = handlerDown; handlerNorth = handlerDown; handlerSouth = handlerDown; handlerWest = handlerDown; handlerEast = handlerDown; } }
@Override @Nullable public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { SidedInvWrapper sidedInvWrapper = new SidedInvWrapper(this, facing); return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(sidedInvWrapper); } return super.getCapability(capability, facing); }
@Nullable public static IItemHandler getInventoryFromTile(@Nullable TileEntity tile, @Nullable EnumFacing side) { if (tile == null) { return null; } if (tile.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side)) { return tile.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side); } if (tile instanceof ISidedInventory) { return new SidedInvWrapper((ISidedInventory) tile, side); } if (tile instanceof IInventory) { return new InvWrapper((IInventory) tile); } return null; }
@Nullable public static IItemHandler getInventory(TileEntity tile, @Nullable EnumFacing facing) { if (facing == null) facing = EnumFacing.DOWN; IItemHandler itemHandler = null; if (tile.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing)) itemHandler = tile.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing); else if (tile instanceof ISidedInventory) itemHandler = ((ISidedInventory) tile).getSlotsForFace(facing).length != 0 ? new SidedInvWrapper((ISidedInventory) tile, facing) : null; else if (tile instanceof IInventory) itemHandler = new InvWrapper((IInventory) tile); return itemHandler; }
public static IItemHandler getItemHandler(@Nullable TileEntity tile, EnumFacing side) { if (tile == null) { return null; } IItemHandler handler = tile.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side) ? tile.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side) : null; if (handler == null) { if (side != null && tile instanceof ISidedInventory) { handler = new SidedInvWrapper((ISidedInventory) tile, side); } else if (tile instanceof IInventory) { handler = new InvWrapper((IInventory) tile); } } return handler; }
@Nullable public static IItemHandler getItemHandlerAt(@Nullable TileEntity te, EnumFacing intSide) { if (te != null && te.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, intSide)) { IItemHandler handler = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, intSide); if (handler != null) { return handler; } } else if (te instanceof ISidedInventory) { // Support for old inventory ISidedInventory sidedInventory = (ISidedInventory) te; return new SidedInvWrapper(sidedInventory, intSide); } else if (te instanceof IInventory) { // Support for old inventory IInventory inventory = (IInventory) te; return new InvWrapper(inventory); } return null; }
public MOTileEntityMachine(int upgradeCount) { components = new ArrayList<>(); upgrade_slots = new int[upgradeCount]; inventory = new TileEntityInventory(this, ""); for (EnumFacing facing : EnumFacing.VALUES) sidedWrappers[facing.ordinal()] = new SidedInvWrapper(this, facing); inventoryHandler = new InvWrapper(this); registerComponents(); RegisterSlots(inventory); watchers = new ArrayList<>(); }
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; }
public static IItemHandler tryGetHandler(TileEntity te, EnumFacing side) { if (te == null) return null; if (te.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side)) return te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, side); if (te instanceof ISidedInventory) return new SidedInvWrapper((ISidedInventory)te, side); if (te instanceof IInventory) return new InvWrapper((IInventory)te); return null; }
@Override public <T> T getCapability(Capability<T> capability, EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { if (this instanceof ISidedInventory && facing != null) { return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(new SidedInvWrapper(((ISidedInventory) this), facing)); } else { return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(new InvWrapper(this)); } } return super.getCapability(capability, facing); }
private IItemHandler getItemHandlerAt(@Nonnull TileEntity te, EnumFacing intSide) { if (te != null && te.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, intSide)) { IItemHandler handler = te.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, intSide); if (handler != null) { return handler; } } else if (te instanceof ISidedInventory) { // Support for old inventory ISidedInventory sidedInventory = (ISidedInventory) te; return new SidedInvWrapper(sidedInventory, intSide); } else if (te instanceof IInventory) { // Support for old inventory IInventory inventory = (IInventory) te; return new InvWrapper(inventory); } throw new ProgException(EXCEPT_INVALIDINVENTORY); }
@Override @Nullable public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { if (facing != null) { SidedInvWrapper sidedInvWrapper = new SidedInvWrapper(getInternalInventory(), facing); return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(sidedInvWrapper); } else { InvWrapper invWrapper = new InvWrapper(getInternalInventory()); return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(invWrapper); } } return super.getCapability(capability, facing); }
protected ItemStack putIntoInv(ItemStack stack, TileEntity tile, EnumFacing face, boolean simulate) { IItemHandler handler = null; if(tile.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, face)) handler = tile.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, face); else if(tile instanceof ISidedInventory) handler = new SidedInvWrapper((ISidedInventory) tile, face); else if(tile instanceof IInventory) handler = new InvWrapper((IInventory) tile); if(handler != null) return simulate ? ItemStack.EMPTY : ItemHandlerHelper.insertItem(handler, stack, simulate); return stack; }
@Override @Nullable public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) { if (super.hasCapability(capability, facing)) { return super.getCapability(capability, facing); } if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { if (facing != null) { SidedInvWrapper sidedInvWrapper = new SidedInvWrapper(getInternalInventory(), facing); return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(sidedInvWrapper); } else { InvWrapper invWrapper = new InvWrapper(getInternalInventory()); return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(invWrapper); } } if (capability == ClimateCapabilities.CLIMATE_LISTENER) { IClimateListener listener = getMultiblockLogic().getController().getClimateListener(); return ClimateCapabilities.CLIMATE_LISTENER.cast(listener); } return null; }
} else if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { if (facing != null) { SidedInvWrapper sidedInvWrapper = new SidedInvWrapper(getInventory(), facing); return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(sidedInvWrapper); } else {
handler = new SidedInvWrapper((ISidedInventory) tile, EnumFacing.DOWN); } else if (tile instanceof IInventory)