From 3a88ec952f4843a28445af6ac340c2e27e8a5aaf Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Fri, 14 Jul 2023 20:08:33 +0200 Subject: [PATCH] feat: implement ProjectRed converters --- .../net/anvilcraft/pccompat/PCCompat.java | 7 ++- .../java/net/anvilcraft/pccompat/Utils.java | 18 ++++++++ ...BlockPowerConverterAppliedEnergistics.java | 8 +--- .../blocks/BlockPowerConverterProjectRed.java | 28 ++++++++++++ .../blocks/BlockPowerConverterRedPower.java | 8 +--- .../AbstractItemBlockPowerConverter.java | 43 ++++++++++++++++++ ...BlockPowerConverterAppliedEnergistics.java | 31 ++----------- .../items/ItemBlockPowerConverterHBM.java | 30 ++----------- .../ItemBlockPowerConverterProjectRed.java | 14 ++++++ .../ItemBlockPowerConverterRedPower.java | 30 ++----------- ...ockPowerConverterUniversalElectricity.java | 29 +++--------- .../pccompat/mods/ProjectRedProxy.java | 45 +++++++++++++++++++ .../tiles/TileEntityProjectRedConsumer.java | 44 ++++++++++++++++++ .../tiles/TileEntityProjectRedProducer.java | 33 ++++++++++++++ .../tiles/TileEntityRedPowerConsumer.java | 8 ++-- .../resources/assets/pccompat/lang/en_US.lang | 3 ++ 16 files changed, 256 insertions(+), 123 deletions(-) create mode 100644 src/main/java/net/anvilcraft/pccompat/Utils.java create mode 100644 src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterProjectRed.java create mode 100644 src/main/java/net/anvilcraft/pccompat/items/AbstractItemBlockPowerConverter.java create mode 100644 src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterProjectRed.java create mode 100644 src/main/java/net/anvilcraft/pccompat/mods/ProjectRedProxy.java create mode 100644 src/main/java/net/anvilcraft/pccompat/tiles/TileEntityProjectRedConsumer.java create mode 100644 src/main/java/net/anvilcraft/pccompat/tiles/TileEntityProjectRedProducer.java diff --git a/src/main/java/net/anvilcraft/pccompat/PCCompat.java b/src/main/java/net/anvilcraft/pccompat/PCCompat.java index c3e2635..b62353c 100644 --- a/src/main/java/net/anvilcraft/pccompat/PCCompat.java +++ b/src/main/java/net/anvilcraft/pccompat/PCCompat.java @@ -11,6 +11,7 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import net.anvilcraft.pccompat.mods.AppliedEnergisticsProxy; import net.anvilcraft.pccompat.mods.HBMProxy; +import net.anvilcraft.pccompat.mods.ProjectRedProxy; import net.anvilcraft.pccompat.mods.RedPowerProxy; import net.anvilcraft.pccompat.mods.UniversalElectricityProxy; @@ -19,7 +20,7 @@ import net.anvilcraft.pccompat.mods.UniversalElectricityProxy; name = "PC Compat", version = "0.1.0", dependencies - = "required-after:PowerConverters3;after:basiccomponents;after:appliedenergistics2;after:hbm;after:RedPowerCore" + = "required-after:PowerConverters3;after:basiccomponents;after:appliedenergistics2;after:hbm;after:RedPowerCore;after:ProjRed|Expansion" ) public class PCCompat { public static HashSet mods = new HashSet<>(); @@ -28,7 +29,7 @@ public class PCCompat { public static void preInit(FMLPreInitializationEvent ev) { collectMods(); try { - // Fix IC2 scale "Ammount" due to mod outragous developer incompetence + // Fix IC2 scale "Ammount" due to outragous mod developer incompetence Field field = PowerSystem.class.getDeclaredField("scaleAmmount"); field.setAccessible(true); field.setInt(PowerSystems.powerSystemIndustrialCraft, 4000); @@ -58,5 +59,7 @@ public class PCCompat { mods.add(new HBMProxy()); if (Loader.isModLoaded("RedPowerCore")) mods.add(new RedPowerProxy()); + if (Loader.isModLoaded("ProjRed|Expansion")) + mods.add(new ProjectRedProxy()); } } diff --git a/src/main/java/net/anvilcraft/pccompat/Utils.java b/src/main/java/net/anvilcraft/pccompat/Utils.java new file mode 100644 index 0000000..7ba3445 --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/Utils.java @@ -0,0 +1,18 @@ +package net.anvilcraft.pccompat; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; + +public class Utils { + public static void registerStandardPowerConverterBlockIcons( + IIconRegister reg, IIcon[] icons, String modPrefix + ) { + for (int i = 0; i < 4; i++) { + String state = i % 2 == 0 ? "off" : "on"; + String type = i < 2 ? "consumer" : "producer"; + + icons[i] + = reg.registerIcon("pccompat:" + modPrefix + "_" + type + "_" + state); + } + } +} diff --git a/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterAppliedEnergistics.java b/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterAppliedEnergistics.java index f79b7fe..d5115b2 100644 --- a/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterAppliedEnergistics.java +++ b/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterAppliedEnergistics.java @@ -2,6 +2,7 @@ package net.anvilcraft.pccompat.blocks; import covers1624.powerconverters.block.BlockPowerConverter; import covers1624.powerconverters.gui.PCCreativeTab; +import net.anvilcraft.pccompat.Utils; import net.anvilcraft.pccompat.tiles.TileEntityAppliedEnergisticsConsumer; import net.anvilcraft.pccompat.tiles.TileEntityAppliedEnergisticsProducer; import net.minecraft.client.renderer.texture.IIconRegister; @@ -16,12 +17,7 @@ public class BlockPowerConverterAppliedEnergistics extends BlockPowerConverter { @Override public void registerBlockIcons(IIconRegister reg) { - for (int i = 0; i < 4; i++) { - String state = i % 2 == 0 ? "off" : "on"; - String type = i < 2 ? "consumer" : "producer"; - - this._icons[i] = reg.registerIcon("pccompat:ae_" + type + "_" + state); - } + Utils.registerStandardPowerConverterBlockIcons(reg, this._icons, "ae"); } @Override diff --git a/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterProjectRed.java b/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterProjectRed.java new file mode 100644 index 0000000..4363bbf --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterProjectRed.java @@ -0,0 +1,28 @@ +package net.anvilcraft.pccompat.blocks; + +import covers1624.powerconverters.block.BlockPowerConverter; +import covers1624.powerconverters.gui.PCCreativeTab; +import net.anvilcraft.pccompat.Utils; +import net.anvilcraft.pccompat.tiles.TileEntityProjectRedConsumer; +import net.anvilcraft.pccompat.tiles.TileEntityProjectRedProducer; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class BlockPowerConverterProjectRed extends BlockPowerConverter { + public BlockPowerConverterProjectRed() { + super(2); // 1 Consumer, 1 Producer + this.setCreativeTab(PCCreativeTab.tab); + } + + @Override + public void registerBlockIcons(IIconRegister reg) { + Utils.registerStandardPowerConverterBlockIcons(reg, this._icons, "pr"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return meta == 0 ? new TileEntityProjectRedConsumer() + : new TileEntityProjectRedProducer(); + } +} diff --git a/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterRedPower.java b/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterRedPower.java index 11994c1..b301859 100644 --- a/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterRedPower.java +++ b/src/main/java/net/anvilcraft/pccompat/blocks/BlockPowerConverterRedPower.java @@ -2,6 +2,7 @@ package net.anvilcraft.pccompat.blocks; import covers1624.powerconverters.block.BlockPowerConverter; import covers1624.powerconverters.gui.PCCreativeTab; +import net.anvilcraft.pccompat.Utils; import net.anvilcraft.pccompat.tiles.TileEntityRedPowerConsumer; import net.anvilcraft.pccompat.tiles.TileEntityRedPowerProducer; import net.minecraft.client.renderer.texture.IIconRegister; @@ -16,12 +17,7 @@ public class BlockPowerConverterRedPower extends BlockPowerConverter { @Override public void registerBlockIcons(IIconRegister reg) { - for (int i = 0; i < 4; i++) { - String state = i % 2 == 0 ? "off" : "on"; - String type = i < 2 ? "consumer" : "producer"; - - this._icons[i] = reg.registerIcon("pccompat:rp_" + type + "_" + state); - } + Utils.registerStandardPowerConverterBlockIcons(reg, this._icons, "rp"); } @Override diff --git a/src/main/java/net/anvilcraft/pccompat/items/AbstractItemBlockPowerConverter.java b/src/main/java/net/anvilcraft/pccompat/items/AbstractItemBlockPowerConverter.java new file mode 100644 index 0000000..623908b --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/items/AbstractItemBlockPowerConverter.java @@ -0,0 +1,43 @@ +package net.anvilcraft.pccompat.items; + +import java.util.List; +import java.util.stream.IntStream; + +import net.minecraft.block.Block; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public abstract class AbstractItemBlockPowerConverter extends ItemBlock { + public AbstractItemBlockPowerConverter(Block block) { + super(block); + this.setHasSubtypes(true); + this.setMaxDamage(0); + } + + public abstract String getModPrefix(); + + public int getSubItemCount() { + return 2; + } + + @Override + public int getMetadata(int meta) { + return meta; + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + return "pccompat:power_converter_" + this.getModPrefix() + "_" + + stack.getItemDamage(); + } + + @Override + @SuppressWarnings({ "unchecked", "rawtypes" }) + public void getSubItems(Item alec1, CreativeTabs alec2, List list) { + IntStream.range(0, this.getSubItemCount()) + .mapToObj((i) -> new ItemStack(this, 1, i)) + .forEach(list::add); + } +} diff --git a/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterAppliedEnergistics.java b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterAppliedEnergistics.java index c61e17e..ffc20fa 100644 --- a/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterAppliedEnergistics.java +++ b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterAppliedEnergistics.java @@ -1,38 +1,15 @@ package net.anvilcraft.pccompat.items; -import java.util.List; -import java.util.stream.IntStream; - import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -public class ItemBlockPowerConverterAppliedEnergistics extends ItemBlock { +public class ItemBlockPowerConverterAppliedEnergistics + extends AbstractItemBlockPowerConverter { public ItemBlockPowerConverterAppliedEnergistics(Block block) { super(block); - this.setHasSubtypes(true); - this.setMaxDamage(0); } @Override - public int getMetadata(int meta) { - return meta; - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - int meta = stack.getItemDamage(); - - return "pccompat:power_converter_ae_" + meta; - } - - @Override - @SuppressWarnings({ "unchecked", "rawtypes" }) - public void getSubItems(Item alec1, CreativeTabs alec2, List list) { - IntStream.range(0, 2) - .mapToObj((i) -> new ItemStack(this, 1, i)) - .forEach(list::add); + public String getModPrefix() { + return "ae"; } } diff --git a/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterHBM.java b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterHBM.java index ea75053..8f3d75c 100644 --- a/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterHBM.java +++ b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterHBM.java @@ -1,38 +1,14 @@ package net.anvilcraft.pccompat.items; -import java.util.List; -import java.util.stream.IntStream; - import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -public class ItemBlockPowerConverterHBM extends ItemBlock { +public class ItemBlockPowerConverterHBM extends AbstractItemBlockPowerConverter { public ItemBlockPowerConverterHBM(Block block) { super(block); - this.setHasSubtypes(true); - this.setMaxDamage(0); } @Override - public int getMetadata(int meta) { - return meta; - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - int meta = stack.getItemDamage(); - - return "pccompat:power_converter_hbm_" + meta; - } - - @Override - @SuppressWarnings({ "unchecked", "rawtypes" }) - public void getSubItems(Item alec1, CreativeTabs alec2, List list) { - IntStream.range(0, 2) - .mapToObj((i) -> new ItemStack(this, 1, i)) - .forEach(list::add); + public String getModPrefix() { + return "hbm"; } } diff --git a/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterProjectRed.java b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterProjectRed.java new file mode 100644 index 0000000..6677918 --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterProjectRed.java @@ -0,0 +1,14 @@ +package net.anvilcraft.pccompat.items; + +import net.minecraft.block.Block; + +public class ItemBlockPowerConverterProjectRed extends AbstractItemBlockPowerConverter { + public ItemBlockPowerConverterProjectRed(Block block) { + super(block); + } + + @Override + public String getModPrefix() { + return "pr"; + } +} diff --git a/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterRedPower.java b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterRedPower.java index 08c638d..11ed9a2 100644 --- a/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterRedPower.java +++ b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterRedPower.java @@ -1,38 +1,14 @@ package net.anvilcraft.pccompat.items; -import java.util.List; -import java.util.stream.IntStream; - import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -public class ItemBlockPowerConverterRedPower extends ItemBlock { +public class ItemBlockPowerConverterRedPower extends AbstractItemBlockPowerConverter { public ItemBlockPowerConverterRedPower(Block block) { super(block); - this.setHasSubtypes(true); - this.setMaxDamage(0); } @Override - public int getMetadata(int meta) { - return meta; - } - - @Override - public String getUnlocalizedName(ItemStack stack) { - int meta = stack.getItemDamage(); - - return "pccompat:power_converter_rp_" + meta; - } - - @Override - @SuppressWarnings({ "unchecked", "rawtypes" }) - public void getSubItems(Item alec1, CreativeTabs alec2, List list) { - IntStream.range(0, 2) - .mapToObj((i) -> new ItemStack(this, 1, i)) - .forEach(list::add); + public String getModPrefix() { + return "rp"; } } diff --git a/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterUniversalElectricity.java b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterUniversalElectricity.java index e34cef4..094aceb 100644 --- a/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterUniversalElectricity.java +++ b/src/main/java/net/anvilcraft/pccompat/items/ItemBlockPowerConverterUniversalElectricity.java @@ -1,38 +1,19 @@ package net.anvilcraft.pccompat.items; -import java.util.List; -import java.util.stream.IntStream; - import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -public class ItemBlockPowerConverterUniversalElectricity extends ItemBlock { +public class ItemBlockPowerConverterUniversalElectricity extends AbstractItemBlockPowerConverter { public ItemBlockPowerConverterUniversalElectricity(Block block) { super(block); - this.setHasSubtypes(true); - this.setMaxDamage(0); } @Override - public int getMetadata(int meta) { - return meta; + public int getSubItemCount() { + return 8; } @Override - public String getUnlocalizedName(ItemStack stack) { - int meta = stack.getItemDamage(); - - return "pccompat:power_converter_ue_" + meta; - } - - @Override - @SuppressWarnings({ "unchecked", "rawtypes" }) - public void getSubItems(Item alec1, CreativeTabs alec2, List list) { - IntStream.range(0, 8) - .mapToObj((i) -> new ItemStack(this, 1, i)) - .forEach(list::add); + public String getModPrefix() { + return "ue"; } } diff --git a/src/main/java/net/anvilcraft/pccompat/mods/ProjectRedProxy.java b/src/main/java/net/anvilcraft/pccompat/mods/ProjectRedProxy.java new file mode 100644 index 0000000..14d58c2 --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/mods/ProjectRedProxy.java @@ -0,0 +1,45 @@ +package net.anvilcraft.pccompat.mods; + +import covers1624.powerconverters.api.registry.PowerSystemRegistry; +import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem; +import cpw.mods.fml.common.registry.GameRegistry; +import net.anvilcraft.pccompat.IModProxy; +import net.anvilcraft.pccompat.blocks.BlockPowerConverterProjectRed; +import net.anvilcraft.pccompat.items.ItemBlockPowerConverterProjectRed; +import net.anvilcraft.pccompat.tiles.TileEntityProjectRedConsumer; +import net.anvilcraft.pccompat.tiles.TileEntityProjectRedProducer; +import net.minecraft.block.Block; + +public class ProjectRedProxy implements IModProxy { + public static PowerSystem powerSystem; + public static Block blockPowerConverter; + + @Override + public void registerPowerSystem() { + PowerSystemRegistry.registerPowerSystem( + powerSystem = new PowerSystem("Bluetricity", "BT", 7000, "W") + ); + } + + @Override + public void registerBlocks() { + GameRegistry.registerBlock( + blockPowerConverter = new BlockPowerConverterProjectRed(), + ItemBlockPowerConverterProjectRed.class, + "power_converter_project_red" + ); + } + + @Override + public void registerTiles() { + GameRegistry.registerTileEntity( + TileEntityProjectRedConsumer.class, "project_red_consumer" + ); + GameRegistry.registerTileEntity( + TileEntityProjectRedProducer.class, "project_red_producer" + ); + } + + @Override + public void registerRecipes() {} +} diff --git a/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityProjectRedConsumer.java b/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityProjectRedConsumer.java new file mode 100644 index 0000000..14f5330 --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityProjectRedConsumer.java @@ -0,0 +1,44 @@ +package net.anvilcraft.pccompat.tiles; + +import java.util.Map.Entry; + +import covers1624.powerconverters.tile.main.TileEntityEnergyConsumer; +import mrtjp.projectred.expansion.TPowerStorage; +import net.anvilcraft.pccompat.mods.ProjectRedProxy; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityProjectRedConsumer + extends TileEntityEnergyConsumer { + private int btLastTick; + + public TileEntityProjectRedConsumer() { + super(ProjectRedProxy.powerSystem, 0, TPowerStorage.class); + } + + @Override + public void updateEntity() { + super.updateEntity(); + + btLastTick = 0; + for (Entry box : this.getTiles().entrySet()) { + int toStore = (int) Math.min( + box.getValue().storage(), + getTotalEnergyDemand() / this.getPowerSystem().getScaleAmmount() + ); + box.getValue().storage_$eq(box.getValue().storage() - toStore); + this.storeEnergy(toStore * this.getPowerSystem().getScaleAmmount(), false); + + TileEntity boxTE = (TileEntity) box.getValue(); + boxTE.getWorldObj().markBlockForUpdate( + boxTE.xCoord, boxTE.yCoord, boxTE.zCoord + ); + btLastTick += toStore; + } + } + + @Override + public double getInputRate() { + return this.btLastTick; + } +} diff --git a/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityProjectRedProducer.java b/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityProjectRedProducer.java new file mode 100644 index 0000000..de24d0e --- /dev/null +++ b/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityProjectRedProducer.java @@ -0,0 +1,33 @@ +package net.anvilcraft.pccompat.tiles; + +import java.util.Map.Entry; + +import covers1624.powerconverters.tile.main.TileEntityEnergyProducer; +import mrtjp.projectred.expansion.TPowerStorage; +import net.anvilcraft.pccompat.mods.ProjectRedProxy; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityProjectRedProducer + extends TileEntityEnergyProducer { + public TileEntityProjectRedProducer() { + super(ProjectRedProxy.powerSystem, 0, TPowerStorage.class); + } + + @Override + public double produceEnergy(double energy) { + for (Entry box : this.getTiles().entrySet()) { + int toStore = (int) Math.min( + (box.getValue().getMaxStorage() - box.getValue().storage()), + energy / getPowerSystem().getScaleAmmount() + ); + box.getValue().storage_$eq(box.getValue().storage() + toStore); + TileEntity boxTE = (TileEntity) box.getValue(); + boxTE.getWorldObj().markBlockForUpdate( + boxTE.xCoord, boxTE.yCoord, boxTE.zCoord + ); + energy -= toStore * getPowerSystem().getScaleAmmount(); + } + return energy; + } +} diff --git a/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityRedPowerConsumer.java b/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityRedPowerConsumer.java index d659418..d31138a 100644 --- a/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityRedPowerConsumer.java +++ b/src/main/java/net/anvilcraft/pccompat/tiles/TileEntityRedPowerConsumer.java @@ -19,13 +19,13 @@ public class TileEntityRedPowerConsumer extends TileEntityEnergyConsumer box : getTiles().entrySet()) { + for (Entry box : this.getTiles().entrySet()) { double toStore = Math.min( box.getValue().Storage, - getTotalEnergyDemand() / getPowerSystem().getScaleAmmount() + getTotalEnergyDemand() / this.getPowerSystem().getScaleAmmount() ); box.getValue().Storage -= toStore; - this.storeEnergy(toStore * getPowerSystem().getScaleAmmount(), false); + this.storeEnergy(toStore * this.getPowerSystem().getScaleAmmount(), false); box.getValue().getWorldObj().markBlockForUpdate( box.getValue().xCoord, box.getValue().yCoord, box.getValue().zCoord ); @@ -35,6 +35,6 @@ public class TileEntityRedPowerConsumer extends TileEntityEnergyConsumer