aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java26
-rw-r--r--src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java53
2 files changed, 19 insertions, 60 deletions
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java b/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java
index 8cb53b37d8..2c759af2d9 100644
--- a/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java
+++ b/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java
@@ -207,6 +207,12 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple
@Override
public boolean checkMachine_EM(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
cnt[0] = 0;cnt[1] = 0;cnt[2] = 0;
+ mWrench = true;
+ mScrewdriver = true;
+ mSoftHammer = true;
+ mHardHammer = true;
+ mSolderingTool = true;
+ mCrowbar = true;
return structureCheck_EM(mName, 7,12,1) && getTier() != -1;
}
@@ -256,11 +262,13 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple
FluidStack[] inFluids = tFluids.toArray(new FluidStack[0]);
ItemStack[] inItems = tItems.toArray(new ItemStack[0]);
+ this.mEfficiency = 10000;
for (GT_Recipe recipe : tRecipes){
if (recipe.mSpecialValue > Tier) continue;
if (recipe.isRecipeInputEqual(true, inFluids, inItems)){
mEUt = recipe.mEUt;
+ mEUt = -Math.abs(mEUt);
mMaxProgresstime = recipe.mDuration / (1 << (Tier - recipe.mSpecialValue));
this.mOutputFluids = recipe.mFluidOutputs;
this.updateSlots();
@@ -299,29 +307,13 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple
}
@Override
- public boolean onRunningTick(ItemStack stack) {
- return true;
- }
-
- @Override
- public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
- super.onPostTick(aBaseMetaTileEntity, aTick);
- mWrench = true;
- mScrewdriver = true;
- mSoftHammer = true;
- mHardHammer = true;
- mSolderingTool = true;
- mCrowbar = true;
- }
-
- @Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new FuelRefineFactory(this.mName);
}
@Override
public int getMaxEfficiency(ItemStack aStack) {
- return 0;
+ return 10000;
}
@Override
diff --git a/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java b/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java
index 0a29bc16c2..e9f96bdf2b 100644
--- a/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java
+++ b/src/main/java/GoodGenerator/Blocks/TEs/UniversalChemicalFuelEngine.java
@@ -19,7 +19,6 @@ import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
@@ -37,8 +36,6 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas
protected final double DIESEL_EFFICIENCY_COEFFICIENT = 0.45D;
protected final double GAS_EFFICIENCY_COEFFICIENT = 0.30D;
- protected long leftEnergy = 0;
-
private IStructureDefinition<UniversalChemicalFuelEngine> multiDefinition = null;
public UniversalChemicalFuelEngine(String name){super(name);}
@@ -192,18 +189,6 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas
}
@Override
- public void loadNBTData(NBTTagCompound aNBT){
- super.loadNBTData(aNBT);
- this.leftEnergy = aNBT.getLong("mLeftEnergy");
- }
-
- @Override
- public void saveNBTData(NBTTagCompound aNBT){
- super.saveNBTData(aNBT);
- aNBT.setLong("mLeftEnergy", this.leftEnergy);
- }
-
- @Override
public String[] getDescription(){
final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
tt.addMachineType("Chemical Engine")
@@ -247,14 +232,13 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas
if (tFuel == null) continue;
int FuelAmount = findLiquidAmount(tFuel, tFluids);
if (FuelAmount == 0) continue;
- double eff = calculateEfficiency(FuelAmount, PromoterAmount, DIESEL_EFFICIENCY_COEFFICIENT);
+ calculateEfficiency(FuelAmount, PromoterAmount, DIESEL_EFFICIENCY_COEFFICIENT);
consumeAllLiquid(tFuel);
consumeAllLiquid(getPromoter());
- this.mEUt = (int)(eff * FuelAmount * recipe.mSpecialValue / 20.0D);
+ this.mEUt = (int)(FuelAmount * recipe.mSpecialValue / 20.0D);
this.mMaxProgresstime = 20;
- addAutoEnergy((long)(eff * FuelAmount * recipe.mSpecialValue / 20.0D));
this.updateSlots();
return true;
}
@@ -264,14 +248,13 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas
if (tFuel == null) continue;
int FuelAmount = findLiquidAmount(tFuel, tFluids);
if (FuelAmount == 0) continue;
- double eff = calculateEfficiency(FuelAmount, PromoterAmount, GAS_EFFICIENCY_COEFFICIENT);
+ calculateEfficiency(FuelAmount, PromoterAmount, GAS_EFFICIENCY_COEFFICIENT);
consumeAllLiquid(tFuel);
consumeAllLiquid(getPromoter());
- this.mEUt = (int)(eff * FuelAmount * recipe.mSpecialValue / 20.0D);
+ this.mEUt = (int)(FuelAmount * recipe.mSpecialValue / 20.0D);
this.mMaxProgresstime = 20;
- addAutoEnergy((long)(eff * FuelAmount * recipe.mSpecialValue / 20.0D));
this.updateSlots();
return true;
}
@@ -279,25 +262,6 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas
return false;
}
- public void addAutoEnergy(long outputPower){
- if (this.mDynamoHatches.size() > 0)
- for (GT_MetaTileEntity_Hatch tHatch : this.mDynamoHatches){
- long voltage = tHatch.maxEUOutput();
- long power = voltage * tHatch.maxAmperesOut();
- long outputAmperes;
- if (outputPower > power) doExplosion(8 * GT_Utility.getTier(power));
- if (outputPower >= voltage){
- leftEnergy += outputPower;
- outputAmperes = leftEnergy / voltage;
- leftEnergy -= outputAmperes * voltage;
- addEnergyOutput_EM(voltage, outputAmperes);
- }
- else{
- addEnergyOutput_EM(outputPower, 1);
- }
- }
- }
-
public FluidStack getPromoter() {
return FluidRegistry.getFluidStack("combustionpromotor", 1);
}
@@ -306,9 +270,12 @@ public class UniversalChemicalFuelEngine extends GT_MetaTileEntity_MultiblockBas
return GT_Utility.getFluidForFilledItem(aFuel.mInputs[0], true);
}
- public double calculateEfficiency(int aFuel, int aPromoter, double coefficient){
- if (aPromoter == 0) return 0.0d;
- return Math.exp(-coefficient * (double)aFuel / (double)aPromoter);
+ public void calculateEfficiency(int aFuel, int aPromoter, double coefficient){
+ if (aPromoter == 0){
+ this.mEfficiency = 0;
+ return;
+ }
+ this.mEfficiency = (int)(Math.exp(-coefficient * (double)aFuel / (double)aPromoter) * 10000);
}
public int findLiquidAmount(FluidStack liquid, List<FluidStack> input) {