aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/util/SemiFluidFuelHandler.java')
-rw-r--r--src/main/java/gregtech/api/util/SemiFluidFuelHandler.java114
1 files changed, 38 insertions, 76 deletions
diff --git a/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java b/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java
index e3baa9ac90..aa983a5804 100644
--- a/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java
+++ b/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java
@@ -1,5 +1,6 @@
package gregtech.api.util;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
import static gtPlusPlus.api.recipe.GTPPRecipeMaps.semiFluidFuels;
import java.util.HashMap;
@@ -8,6 +9,7 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
+import gregtech.api.enums.GT_Values;
import gregtech.api.recipe.RecipeMaps;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.Pair;
@@ -15,45 +17,6 @@ import gtPlusPlus.core.util.minecraft.FluidUtils;
public class SemiFluidFuelHandler {
- public static boolean addSemiFluidFuel(ItemStack aFuelItem, int aFuelValue) {
- FluidStack p = FluidContainerRegistry.getFluidForFilledItem(aFuelItem);
- if (p != null && aFuelValue > 0) {
- return addSemiFluidFuel(p, aFuelValue);
- } else {
- Logger.INFO("Fuel value for " + aFuelItem.getDisplayName() + " is <= 0, ignoring.");
- }
- return false;
- }
-
- public static boolean addSemiFluidFuel(FluidStack aFuel, int aFuelValue) {
- FluidStack p = aFuel;
- if (p != null && aFuelValue > 0) {
- GT_Recipe aRecipe = new GT_Recipe(
- true,
- new ItemStack[] {},
- new ItemStack[] {},
- null,
- new int[] {},
- new FluidStack[] { p },
- null,
- 0,
- 0,
- aFuelValue);
- if (aRecipe.mSpecialValue > 0) {
- Logger.INFO(
- "Added " + aRecipe.mFluidInputs[0].getLocalizedName()
- + " to the Semi-Fluid Generator fuel map. Fuel Produces "
- + (aRecipe.mSpecialValue * 1000)
- + "EU per 1000L.");
- semiFluidFuels.add(aRecipe);
- return true;
- }
- } else {
- Logger.INFO("Fuel value for " + p != null ? p.getLocalizedName() : "NULL Fluid" + " is <= 0, ignoring.");
- }
- return false;
- }
-
public static boolean generateFuels() {
final FluidStack aCreosote = FluidUtils.getFluidStack("creosote", 1000);
final FluidStack aHeavyFuel = FluidUtils.getFluidStack("liquid_heavy_fuel", 1000);
@@ -89,46 +52,45 @@ public class SemiFluidFuelHandler {
}
}
for (Pair<FluidStack, Integer> p : aFoundFluidsFromItems.values()) {
- if (p != null) {
- int aFuelValue = p.getValue();
- if (p.getKey()
- .isFluidEqual(aCreosote)) {
- aFuelValue *= 6;
- } else if (p.getKey()
- .isFluidEqual(aHeavyFuel)
- || p.getKey()
- .isFluidEqual(aHeavyOil)) {
- aFuelValue *= 1.5;
- } else {
- aFuelValue *= 2;
- }
+ if (p == null) {
+ continue;
+ }
- if (aFuelValue <= (128 * 3)) {
- GT_Recipe aRecipe = new GT_Recipe(
- true,
- new ItemStack[] {},
- new ItemStack[] {},
- null,
- new int[] {},
- new FluidStack[] { p.getKey() },
- null,
- 0,
- 0,
- aFuelValue);
- if (aRecipe.mSpecialValue > 0) {
- Logger.INFO(
- "Added " + aRecipe.mFluidInputs[0].getLocalizedName()
- + " to the Semi-Fluid Generator fuel map. Fuel Produces "
- + (aRecipe.mSpecialValue * 1000)
- + "EU per 1000L.");
- semiFluidFuels.add(aRecipe);
+ int aFuelValue = p.getValue();
+ if (p.getKey()
+ .isFluidEqual(aCreosote)) {
+ aFuelValue *= 6;
+ } else if (p.getKey()
+ .isFluidEqual(aHeavyFuel)
+ || p.getKey()
+ .isFluidEqual(aHeavyOil)) {
+ aFuelValue *= 1.5;
+ } else {
+ aFuelValue *= 2;
}
- } else {
- Logger.INFO(
- "Boosted Fuel value for " + p.getKey()
- .getLocalizedName() + " exceeds 512k, ignoring.");
- }
+
+ if (aFuelValue <= (128 * 3)) {
+
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(p.getKey())
+ .duration(0)
+ .eut(0)
+ .metadata(FUEL_VALUE, aFuelValue)
+ .addTo(semiFluidFuels);
+
+ Logger.INFO(
+ "Added " + p.getKey()
+ .getLocalizedName()
+ + " to the Semi-Fluid Generator fuel map. Fuel Produces "
+ + (aFuelValue * 1000)
+ + "EU per 1000L.");
+
+ } else {
+ Logger.INFO(
+ "Boosted Fuel value for " + p.getKey()
+ .getLocalizedName() + " exceeds 512k, ignoring.");
}
+
}
return !semiFluidFuels.getAllRecipes()
.isEmpty();