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...
This commit is contained in:
Paul 2017-08-09 17:53:19 +10:00 committed by Modmuss50
parent aa2d15c109
commit 9c07d6fa1c

View file

@ -51,8 +51,10 @@ public class TileMatterFabricator extends TilePowerAcceptor
public static int maxInput = 8192; public static int maxInput = 8192;
@ConfigRegistry(config = "machines", category = "matter_fabricator", key = "MatterFabricatorMaxEnergy", comment = "Matter Fabricator Max Energy (Value in EU)") @ConfigRegistry(config = "machines", category = "matter_fabricator", key = "MatterFabricatorMaxEnergy", comment = "Matter Fabricator Max Energy (Value in EU)")
public static int maxEnergy = 100000000; 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; 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") // @ConfigRegistry(config = "machines", category = "matter_fabricator", key = "MatterFabricatorWrenchDropRate", comment = "Matter Fabricator Wrench Drop Rate")
public static float wrenchDropRate = 1.0F; public static float wrenchDropRate = 1.0F;
@ -100,14 +102,14 @@ public class TileMatterFabricator extends TilePowerAcceptor
@Override @Override
public boolean canInsertItem(int slotIndex, ItemStack itemStack, EnumFacing side) { public boolean canInsertItem(int slotIndex, ItemStack itemStack, EnumFacing side) {
if (slotIndex == 6) if (slotIndex >= 6)
return false; return false;
return isItemValidForSlot(slotIndex, itemStack); return isItemValidForSlot(slotIndex, itemStack);
} }
@Override @Override
public boolean canExtractItem(int slotIndex, ItemStack itemStack, EnumFacing side) { public boolean canExtractItem(int slotIndex, ItemStack itemStack, EnumFacing side) {
return slotIndex == 6; return slotIndex >= 6 && slotIndex <= 10;
} }
@Override @Override
@ -119,8 +121,9 @@ public class TileMatterFabricator extends TilePowerAcceptor
final ItemStack stack = this.inventory.getStackInSlot(i); final ItemStack stack = this.inventory.getStackInSlot(i);
if (!stack.isEmpty() && spaceForOutput()) { if (!stack.isEmpty() && spaceForOutput()) {
final int amp = this.getValue(stack); final int amp = this.getValue(stack);
if (amp != 0 && this.canUseEnergy(85)) { final int euNeeded = amp * energyPerAmp;
this.useEnergy(85); if (amp != 0 && this.canUseEnergy(euNeeded)) {
this.useEnergy(euNeeded);
this.amplifier += amp; this.amplifier += amp;
this.inventory.decrStackSize(i, 1); this.inventory.decrStackSize(i, 1);
} }