public ItemStack setDefaultTag(ItemStack stack, int energy) { return EnergyHelper.setDefaultEnergyTag(stack, energy); }
@Override public boolean isItemValid(ItemStack stack) { return EnergyHelper.isEnergyContainerItem(stack) || EnergyHelper.isEnergyHandler(stack); }
protected void updateAdjacentHandlers() { if (ServerHelper.isClientWorld(world)) { return; } TileEntity tile = BlockHelper.getAdjacentTileEntity(this, facing); if (EnergyHelper.isEnergyReceiverFromSide(tile, EnumFacing.VALUES[facing ^ 1])) { adjacentReceiver = (IEnergyReceiver) tile; adjacentHandler = false; } else if (EnergyHelper.isEnergyHandler(tile, EnumFacing.VALUES[facing ^ 1])) { adjacentReceiver = null; adjacentHandler = true; } else { adjacentReceiver = null; adjacentHandler = false; } cached = true; }
@Override public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) { entity.attackEntityFrom(DamageHelper.FLUX, 2.0F); if (entity instanceof EntityPlayerMP) { EntityPlayerMP player = (EntityPlayerMP) entity; if (EnergyHelper.isPlayerHoldingEnergyContainerItem(player)) { EnergyHelper.insertEnergyIntoHeldContainer(player, 100, false); } } }
@Override public boolean isItemValidForSlot(int slot, ItemStack stack) { if (augmentWireless) { return false; } if (augmentRepair) { return slot != 0 || stack.isItemStackDamageable() || ChargerManager.recipeExists(stack); } if (slot != 0) { return true; } if (EnergyHelper.isEnergyContainerItem(stack)) { IEnergyContainerItem containerItem = (IEnergyContainerItem) stack.getItem(); return containerItem.getEnergyStored(stack) < containerItem.getMaxEnergyStored(stack); } if (EnergyHelper.isEnergyHandler(stack)) { IEnergyStorage containerItem = EnergyHelper.getEnergyHandler(stack); return containerItem.getEnergyStored() < containerItem.getMaxEnergyStored(); } return ChargerManager.recipeExists(stack); }
private boolean canStartContainerItem() { if (!EnergyHelper.isEnergyContainerItem(inventory[1]) || augmentRepair || augmentWireless) { containerItem = null; hasContainerItem = false; return false; } return true; }
private boolean canStartHandler() { if (!EnergyHelper.isEnergyHandler(inventory[1]) || augmentRepair || augmentWireless) { handler = null; hasEnergyHandler = false; return false; } return true; }
public static boolean isPlayerHoldingEnergyContainerItem(EntityPlayer player) { return EnergyHelper.isPlayerHoldingEnergyContainerItem(player); }
public static boolean isAdjacentEnergyReceiverFromSide(TileEntity tile, EnumFacing side) { TileEntity handler = BlockHelper.getAdjacentTileEntity(tile, side); return isEnergyReceiverFromSide(handler, side.getOpposite()); }
protected void transferEnergy() { for (int i = outputTracker; i < 6 && energyStorage.getEnergyStored() > 0; i++) { if (sideCache[i] == 2) { if (isCreative) { EnergyHelper.insertEnergyIntoAdjacentEnergyReceiver(this, EnumFacing.VALUES[i], amountSend, false); } else { energyStorage.modifyEnergyStored(-EnergyHelper.insertEnergyIntoAdjacentEnergyReceiver(this, EnumFacing.VALUES[i], Math.min(amountSend, energyStorage.getEnergyStored()), false)); } } } for (int i = 0; i < outputTracker && energyStorage.getEnergyStored() > 0; i++) { if (sideCache[i] == 2) { if (isCreative) { EnergyHelper.insertEnergyIntoAdjacentEnergyReceiver(this, EnumFacing.VALUES[i], amountSend, false); } else { energyStorage.modifyEnergyStored(-EnergyHelper.insertEnergyIntoAdjacentEnergyReceiver(this, EnumFacing.VALUES[i], Math.min(amountSend, energyStorage.getEnergyStored()), false)); } } } outputTracker++; outputTracker %= 6; }
public static boolean isAdjacentEnergyConnectableFromSide(TileEntity tile, EnumFacing side) { TileEntity handler = BlockHelper.getAdjacentTileEntity(tile, side); return isEnergyConnectableFromSide(handler, side.getOpposite()); }
continue; if (EnergyHelper.isEnergyContainerItem(equipmentStack)) { extractEnergy(stack, ((IEnergyContainerItem) equipmentStack.getItem()).receiveEnergy(equipmentStack, Math.min(getEnergyStored(stack), getSend(stack)), false), false); } else if (EnergyHelper.isEnergyHandler(equipmentStack)) { IEnergyStorage handler = EnergyHelper.getEnergyHandler(equipmentStack); if (handler != null) { extractEnergy(stack, handler.receiveEnergy(Math.min(getEnergyStored(stack), getSend(stack)), false), false);
@Override public int getScaledDuration(int scale) { if (maxFuelRF <= 0) { maxFuelRF = Math.max(fuelRF, EnervationManager.DEFAULT_ENERGY); } else if (EnergyHelper.isEnergyContainerItem(inventory[0])) { return scale; } return fuelRF * scale / maxFuelRF; }
private void transferHandler() { if (hasEnergyHandler) { if (inventory[2].isEmpty()) { inventory[2] = ItemHelper.cloneStack(inventory[1], 1); inventory[1] = ItemStack.EMPTY; handler = null; hasEnergyHandler = false; } else { if (ItemHelper.itemsIdentical(inventory[1], inventory[2]) && inventory[1].getMaxStackSize() > 1 && inventory[2].getCount() + 1 <= inventory[2].getMaxStackSize()) { inventory[2].grow(1); inventory[1] = ItemStack.EMPTY; handler = null; hasEnergyHandler = false; } } } if (!hasEnergyHandler && EnergyHelper.isEnergyHandler(inventory[0]) && !augmentRepair) { inventory[1] = ItemHelper.cloneStack(inventory[0], 1); inventory[0].shrink(1); if (inventory[0].getCount() <= 0) { inventory[0] = ItemStack.EMPTY; } handler = inventory[1].getCapability(CapabilityEnergy.ENERGY, null); hasEnergyHandler = true; } }
protected void transferEnergy() { if (adjacentReceiver == null) { if (adjacentHandler) { energyStorage.modifyEnergyStored(-EnergyHelper.insertEnergyIntoAdjacentEnergyReceiver(this, EnumFacing.VALUES[facing], Math.min(energyStorage.getMaxExtract(), energyStorage.getEnergyStored()), false)); } return; } energyStorage.modifyEnergyStored(-adjacentReceiver.receiveEnergy(EnumFacing.VALUES[facing ^ 1], Math.min(energyStorage.getMaxExtract(), energyStorage.getEnergyStored()), false)); }
@Override public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) { if (isInCreativeTab(tab) && showInCreative) { items.add(EnergyHelper.setDefaultEnergyTag(new ItemStack(this, 1, 0), 0)); items.add(EnergyHelper.setDefaultEnergyTag(new ItemStack(this, 1, 0), maxEnergy)); } }
@Override public int getInfoMaxEnergyPerTick() { if (augmentWireless) { return getEnergyTransfer(level) / 2; } else if ((EnergyHelper.isEnergyContainerItem(inventory[1]) || EnergyHelper.isEnergyHandler(inventory[1])) && augmentThroughput) { return getEnergyTransfer(level); } else { return energyConfig.maxPower; } }
continue; if (EnergyHelper.isEnergyContainerItem(equipmentStack)) { extractEnergy(stack, ((IEnergyContainerItem) equipmentStack.getItem()).receiveEnergy(equipmentStack, Math.min(getEnergyStored(stack), getSend(stack)), false), false); } else if (EnergyHelper.isEnergyHandler(equipmentStack)) { IEnergyStorage handler = EnergyHelper.getEnergyHandler(equipmentStack); if (handler != null) { extractEnergy(stack, handler.receiveEnergy(Math.min(getEnergyStored(stack), getSend(stack)), false), false);
public static boolean isPlayerHoldingEnergyContainerItem(EntityPlayer player) { return isEnergyContainerItem(player.getHeldItemMainhand()); }
@Override public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) { if (isInCreativeTab(tab) && showInCreative) { items.add(EnergyHelper.setDefaultEnergyTag(new ItemStack(this, 1, 0), 0)); items.add(EnergyHelper.setDefaultEnergyTag(new ItemStack(this, 1, 0), maxEnergy)); } }