List of usage examples for net.minecraftforge.energy IEnergyStorage getMaxEnergyStored
int getMaxEnergyStored();
From source file:com.buuz135.industrial.item.addon.EnergyFieldAddon.java
License:Open Source License
@Override public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag flagIn) {//www.ja v a 2 s .co m super.addInformation(stack, worldIn, tooltip, flagIn); if (stack.hasCapability(CapabilityEnergy.ENERGY, null)) { IEnergyStorage storage = stack.getCapability(CapabilityEnergy.ENERGY, null); tooltip.add(new TextComponentTranslation("text.industrialforegoing.tooltip.energy_field_charge") .getUnformattedComponentText() + " " + new DecimalFormat().format(storage.getEnergyStored()) + " / " + new DecimalFormat().format(storage.getMaxEnergyStored())); if (getLinkedBlockPos(stack) != null) { BlockPos pos = getLinkedBlockPos(stack); tooltip.add(new TextComponentTranslation("text.industrialforegoing.tooltip.energy_field_linked") .getUnformattedComponentText() + " x=" + pos.getX() + " y=" + pos.getY() + " z=" + pos.getZ()); } else { tooltip.add( new TextComponentTranslation("text.industrialforegoing.tooltip.energy_field_right_click") .getUnformattedComponentText()); } } }
From source file:com.buuz135.industrial.item.addon.EnergyFieldAddon.java
License:Open Source License
@Override public double getDurabilityForDisplay(ItemStack stack) { if (stack.hasCapability(CapabilityEnergy.ENERGY, null)) { IEnergyStorage storage = stack.getCapability(CapabilityEnergy.ENERGY, null); if (storage != null) return (storage.getMaxEnergyStored() - storage.getEnergyStored()) / (double) storage.getMaxEnergyStored(); }// w w w .ja v a 2s . c om return 0; }
From source file:com.buuz135.industrial.tile.CustomElectricMachine.java
License:Open Source License
@Override public void protectedUpdate() { super.protectedUpdate(); if (this.world.isRemote) return;//from ww w .j a va 2 s. c o m if (world.getTotalWorldTime() % 2 == 0 && hasAddon(EnergyFieldAddon.class)) { ItemStack addon = getAddonStack(EnergyFieldAddon.class); if (addon.hasCapability(CapabilityEnergy.ENERGY, null)) { IEnergyStorage storage = addon.getCapability(CapabilityEnergy.ENERGY, null); storage.extractEnergy((int) this.getEnergyStorage().givePower(storage.extractEnergy(512, true)), false); BlockPos pos = ItemRegistry.energyFieldAddon.getLinkedBlockPos(addon); if (this.world.getBlockState(pos).getBlock() instanceof EnergyFieldProviderBlock && this.world.isAreaLoaded(pos, pos)) { EnergyFieldProviderTile tile = (EnergyFieldProviderTile) this.world.getTileEntity(pos); if (tile.getWorkingArea().grow(1) .contains(new Vec3d(this.pos.getX(), this.pos.getY(), this.pos.getZ()))) { float pull = tile.consumeWorkEnergy( Math.min(storage.getMaxEnergyStored() - storage.getEnergyStored(), 1000)); storage.receiveEnergy((int) pull, false); } } this.forceSync(); } } if (world.getTotalWorldTime() % 10 == 0 && this.getAddonItems() != null) { workTransferAddon(this, this.getAddonItems()); } }
From source file:com.elytradev.thermionics.tileentity.TileEntityBatteryCreative.java
License:Open Source License
@Override public void update() { this.energyStorage.tick(); IBlockState cur = world.getBlockState(pos); EnumFacing facing = cur.getValue(BlockBattery.FACING); IEnergyStorage target = RFTransport.getStorage(world, pos.offset(facing), facing.getOpposite()); if (target.canReceive()) { int toPush = Math.min(energyStorage.getEnergyStored(), target.getMaxEnergyStored()); int received = target.receiveEnergy(toPush, false); if (received > 0) energyStorage.extractEnergy(received, false); energyStorage.receiveEnergy(energyStorage.getMaxEnergyStored(), false); }//from w w w . java2s .c o m }
From source file:com.elytradev.thermionics.transport.RFTransport.java
License:Open Source License
public static void diffuse(World world, BlockPos pos, IEnergyStorage host) { ArrayList<IEnergyStorage> consumers = getAdjacentStorage(world, pos); reorder(consumers); //We want to sample them in random order for (IEnergyStorage consumer : consumers) { //int totalEnergy = host.getEnergyStored() + consumer.getEnergyStored(); //float energyRatio = host.getMaxEnergyStored() / (float)consumer.getMaxEnergyStored(); float sourceLevel = host.getEnergyStored() / (float) host.getMaxEnergyStored(); float destLevel = consumer.getEnergyStored() / (float) consumer.getMaxEnergyStored(); if (sourceLevel > destLevel) { //Figure out how many quanta to transfer //int desiredSource = (int)(totalEnergy*energyRatio); //int desiredDest = (int)(totalEnergy/energyRatio); /*/*w w w . j a va 2 s .com*/ * Example: 2200 source, 1700 dest, capacity for each is 4000. * * totalEnergy: 3900 * energyRatio: 1.0f * sourceLevel: 0.55f * destLevel: 0.425f * availableQuanta: 500 / 2 - 1 = 249 * */ /* * Transmission data: * 0 blocks: 775.0 * 1 block : 393.6 * 2 blocks: 260.8 * 3 blocks: 196.6 * 4 blocks: 157.8 * 5 blocks: 131.8 */ int availableQuanta = ((int) ((sourceLevel - destLevel) * host.getMaxEnergyStored()) / 2); //trunc leaves fractional power differences where they are if (availableQuanta <= 0) continue; //StringBuilder debugString = new StringBuilder("RFTransfer: "); //debugString.append(host.getEnergyStored()); //debugString.append("("); debugString.append((int)(sourceLevel*100)); debugString.append("%) -> "); //debugString.append(consumer.getEnergyStored()); //debugString.append("("); debugString.append((int)(destLevel*100)); debugString.append("%) :"); //debugString.append(" req="); debugString.append(availableQuanta); int transferred = consumer.receiveEnergy(availableQuanta, true); if (transferred > 0) transferred = host.extractEnergy(transferred, false); //debugString.append(" rec="); debugString.append(transferred); //System.out.println(debugString.toString()); consumer.receiveEnergy(transferred, false); } } }
From source file:com.lothrazar.cyclicmagic.block.screentarget.TileEntityScreenTarget.java
License:Open Source License
private String getEnergyString(TileEntity te, BlockPosDim target) { String energyStr;/*from w w w .j ava2 s . c om*/ EnumFacing side = target.getSide() == null ? EnumFacing.UP : target.getSide(); if (te.hasCapability(CapabilityEnergy.ENERGY, side)) { IEnergyStorage energy = te.getCapability(CapabilityEnergy.ENERGY, side); //therefore energyStr = this.formatQuantity(energy.getEnergyStored(), energy.getMaxEnergyStored()); } else { energyStr = "--"; } return energyStr; }
From source file:com.lothrazar.cyclicmagic.gui.container.GuiBaseContainer.java
License:Open Source License
private String getFuelAmtDisplay() { IEnergyStorage energy = tile.getCapability(CapabilityEnergy.ENERGY, EnumFacing.UP); return energy.getEnergyStored() + "/" + energy.getMaxEnergyStored(); }
From source file:com.lothrazar.cyclicmagic.item.cannon.ItemProjectileCannon.java
License:Open Source License
@Override public double getDurabilityForDisplay(ItemStack item) { IEnergyStorage storage = item.getCapability(CapabilityEnergy.ENERGY, null); double energy = storage.getEnergyStored(); return 1 - energy / storage.getMaxEnergyStored(); }
From source file:com.lothrazar.cyclicmagic.item.cannon.ItemProjectileCannon.java
License:Open Source License
@SideOnly(Side.CLIENT) @Override//w w w . ja va 2 s . c o m public void addInformation(ItemStack item, World player, List<String> tooltip, net.minecraft.client.util.ITooltipFlag advanced) { IEnergyStorage storage = item.getCapability(CapabilityEnergy.ENERGY, null); tooltip.add(storage.getEnergyStored() + "/" + storage.getMaxEnergyStored()); super.addInformation(item, player, tooltip, advanced); }
From source file:com.teambr.bookshelf.util.EnergyUtils.java
License:Creative Commons License
/** * Adds the energy storage info/*from w w w . j a va 2 s . c o m*/ * @param energyStorage The energy storage object * @param toolTip The list to add to * @param insert The max insert, -1 to skip * @param extract The max extract, -1 to skip */ @SideOnly(Side.CLIENT) public static void addToolTipInfo(IEnergyStorage energyStorage, List<String> toolTip, int insert, int extract) { toolTip.add(ChatFormatting.GOLD + ClientUtils.translate("bookshelfapi.energy.energyStored")); toolTip.add(" " + EnergyUtils.getEnergyDisplay(energyStorage.getEnergyStored()) + " / " + EnergyUtils.getEnergyDisplay(energyStorage.getMaxEnergyStored())); if (!ClientUtils.isShiftPressed()) { toolTip.add(""); toolTip.add(ChatFormatting.GRAY + "" + ChatFormatting.ITALIC + ClientUtils.translate("bookshelfapi.text.shiftInfo")); } else { if (insert > -1) { toolTip.add(""); toolTip.add(ChatFormatting.GREEN + ClientUtils.translate("bookshelfapi.energy.energyIn")); toolTip.add(" " + EnergyUtils.getEnergyDisplay(insert)); } if (extract > -1) { toolTip.add(ChatFormatting.DARK_RED + ClientUtils.translate("bookshelfapi.energy.energyOut")); toolTip.add(" " + EnergyUtils.getEnergyDisplay(extract)); } } }