From 6714034771dbc08c22676f44f79e3b934d4b4bc2 Mon Sep 17 00:00:00 2001 From: "Aidan C. Brady" Date: Sun, 24 Aug 2014 16:32:20 -0400 Subject: [PATCH 1/2] Fixed RedstoneArsenal dependency --- src/main/java/mekanism/common/Mekanism.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index 92b8f7e37..d5b224394 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -161,7 +161,7 @@ import cpw.mods.fml.common.registry.GameRegistry; */ @Mod(modid = "Mekanism", name = "Mekanism", version = "7.1.0", guiFactory = "mekanism.client.gui.ConfigGuiFactory", dependencies = "after:ForgeMultipart;after:BuildCraftAPI|power;after:BuildCraftAPI|tools;after:BuildCraftAPI|transport;after:IC2API;after:CoFHAPI|energy;after:ComputerCraft;after:Galacticraft API;" + - "after:MineFactoryReloaded;after:MetallurgyCore;after:EnderIO;after:ExtraUtilities;after:Railcraft;after:Forestry") + "after:MineFactoryReloaded;after:MetallurgyCore;after:EnderIO;after:ExtraUtilities;after:Railcraft;after:Forestry;after:RedstoneArsenal") public class Mekanism { /** Mekanism Packet Pipeline */ From 40c06f100494e911a679ca8c9a858e9418c34dfa Mon Sep 17 00:00:00 2001 From: Ben Spiers Date: Wed, 27 Aug 2014 02:17:45 +0100 Subject: [PATCH 2/2] Fix secondary energy consumption with speed upgrades. Might make them less efficient with speed upgrades and add a secondary energy upgrade that mitigates this, like the current energy upgrade. --- .../tile/TileEntityAdvancedElectricMachine.java | 4 ++-- .../java/mekanism/common/tile/TileEntityFactory.java | 2 +- src/main/java/mekanism/common/util/MekanismUtils.java | 11 +++++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java b/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java index 3debead7b..6302d6a12 100644 --- a/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java +++ b/src/main/java/mekanism/common/tile/TileEntityAdvancedElectricMachine.java @@ -96,7 +96,7 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM boolean changed = false; - if(canOperate() && MekanismUtils.canFunction(this) && getEnergy() >= MekanismUtils.getEnergyPerTick(this, ENERGY_PER_TICK) && gasTank.getStored() >= SECONDARY_ENERGY_PER_TICK) + if(canOperate() && MekanismUtils.canFunction(this) && getEnergy() >= MekanismUtils.getEnergyPerTick(this, ENERGY_PER_TICK) && gasTank.getStored() >= (int)MekanismUtils.getSecondaryEnergyPerTick(this, SECONDARY_ENERGY_PER_TICK)) { setActive(true); @@ -109,7 +109,7 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM operatingTicks = 0; } - gasTank.draw(SECONDARY_ENERGY_PER_TICK, true); + gasTank.draw(MekanismUtils.getSecondaryEnergyPerTick(this, SECONDARY_ENERGY_PER_TICK), true); electricityStored -= MekanismUtils.getEnergyPerTick(this, ENERGY_PER_TICK); } else { diff --git a/src/main/java/mekanism/common/tile/TileEntityFactory.java b/src/main/java/mekanism/common/tile/TileEntityFactory.java index 8f21966ce..b2dbac96d 100644 --- a/src/main/java/mekanism/common/tile/TileEntityFactory.java +++ b/src/main/java/mekanism/common/tile/TileEntityFactory.java @@ -348,7 +348,7 @@ public class TileEntityFactory extends TileEntityElectricBlock implements IPerip public int getSecondaryEnergyPerTick() { - return RecipeType.values()[recipeType].getSecondaryEnergyPerTick(); + return MekanismUtils.getSecondaryEnergyPerTick(this, RecipeType.values()[recipeType].getSecondaryEnergyPerTick()); } public void handleSecondaryFuel() diff --git a/src/main/java/mekanism/common/util/MekanismUtils.java b/src/main/java/mekanism/common/util/MekanismUtils.java index 9780768ff..5f3831a47 100644 --- a/src/main/java/mekanism/common/util/MekanismUtils.java +++ b/src/main/java/mekanism/common/util/MekanismUtils.java @@ -620,6 +620,17 @@ public final class MekanismUtils return def * Math.pow(Mekanism.maxUpgradeMultiplier, (2*mgmt.getSpeedMultiplier()-mgmt.getEnergyMultiplier())/8.0); } + /** + * Gets the secondary energy required per tick for a machine via upgrades. + * @param mgmt - tile containing upgrades + * @param def - the original, default secondary energy required + * @return max secondary energy per tick + */ + public static int getSecondaryEnergyPerTick(IUpgradeTile mgmt, int def) + { + return def * (int)Math.pow(general.maxUpgradeMultiplier, mgmt.getComponent().getUpgrades(Upgrade.SPEED)/(float)Upgrade.SPEED.getMax()); + } + /** * Gets the maximum energy for a machine via it's upgrades. * @param energyUpgrade - number of energy upgrades