From 9c07d6fa1c873048a54f60ec32fab509c301e8c0 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 9 Aug 2017 17:53:19 +1000 Subject: [PATCH] Fix matter fabricator energy use, adds EU-per-amp config value (#1231) * Fix matter fabricator energy use, adds EU-per-amp config value should compile, probably... * Also fix the output inventory access was limited to the first slot, now it isn't * oops, to much EU... that's one less 6, sorry... --- .../java/techreborn/tiles/TileMatterFabricator.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/techreborn/tiles/TileMatterFabricator.java b/src/main/java/techreborn/tiles/TileMatterFabricator.java index db6f9eb42..6839d3b2c 100644 --- a/src/main/java/techreborn/tiles/TileMatterFabricator.java +++ b/src/main/java/techreborn/tiles/TileMatterFabricator.java @@ -51,8 +51,10 @@ public class TileMatterFabricator extends TilePowerAcceptor public static int maxInput = 8192; @ConfigRegistry(config = "machines", category = "matter_fabricator", key = "MatterFabricatorMaxEnergy", comment = "Matter Fabricator Max Energy (Value in EU)") public static int maxEnergy = 100000000; - @ConfigRegistry(config = "machines", category = "matter_fabricator", key = "MatterFabricatorFabricationRate", comment = "Matter Fabricator Fabrication Rate") + @ConfigRegistry(config = "machines", category = "matter_fabricator", key = "MatterFabricatorFabricationRate", comment = "Matter Fabricator Fabrication Rate, amount of amplifier units per UUM") public static int fabricationRate = 10000; + @ConfigRegistry(config = "machines", category = "matter_fabricator", key = "MatterFabricatorEnergyPerAmp", comment = "Matter Fabricator EU per amplifier unit, multiply this with the rate for total EU") + public static int energyPerAmp = 1666; // @ConfigRegistry(config = "machines", category = "matter_fabricator", key = "MatterFabricatorWrenchDropRate", comment = "Matter Fabricator Wrench Drop Rate") public static float wrenchDropRate = 1.0F; @@ -100,14 +102,14 @@ public class TileMatterFabricator extends TilePowerAcceptor @Override public boolean canInsertItem(int slotIndex, ItemStack itemStack, EnumFacing side) { - if (slotIndex == 6) + if (slotIndex >= 6) return false; return isItemValidForSlot(slotIndex, itemStack); } @Override public boolean canExtractItem(int slotIndex, ItemStack itemStack, EnumFacing side) { - return slotIndex == 6; + return slotIndex >= 6 && slotIndex <= 10; } @Override @@ -119,8 +121,9 @@ public class TileMatterFabricator extends TilePowerAcceptor final ItemStack stack = this.inventory.getStackInSlot(i); if (!stack.isEmpty() && spaceForOutput()) { final int amp = this.getValue(stack); - if (amp != 0 && this.canUseEnergy(85)) { - this.useEnergy(85); + final int euNeeded = amp * energyPerAmp; + if (amp != 0 && this.canUseEnergy(euNeeded)) { + this.useEnergy(euNeeded); this.amplifier += amp; this.inventory.decrStackSize(i, 1); }