aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java19
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java12
2 files changed, 23 insertions, 8 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java
index d392dd452f..dc68b5e33a 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java
@@ -86,6 +86,11 @@ public class StaticRecipeChangeLoaders {
gtEbfGasRecipeTimeMultipliers = new TObjectDoubleHashMap<>(10, 0.5F, -1.0D); // keep default value as -1
// Example to make Argon cut recipe times into a third of the original:
// gtEbfGasRecipeTimeMultipliers.put(Materials.Argon, 1.0D / 3.0D);
+
+ gtEbfGasRecipeTimeMultipliers.put(Materials.Nitrogen, 1.0D);
+ gtEbfGasRecipeTimeMultipliers.put(Materials.Helium, 0.9D);
+ gtEbfGasRecipeTimeMultipliers.put(Materials.Argon, 0.8D);
+ gtEbfGasRecipeTimeMultipliers.put(Materials.Radon, 0.7D);
}
if (gtEbfGasRecipeConsumptionMultipliers == null) {
// For Werkstoff gases, use Werkstoff.Stats.setEbfGasRecipeConsumedAmountMultiplier
@@ -94,6 +99,10 @@ public class StaticRecipeChangeLoaders {
// Example to make Argon recipes use half the gas amount of the primary recipe (1000L->500L, 2000L->1000L
// etc.):
// gtEbfGasRecipeConsumptionMultipliers.put(Materials.Argon, 1.0D / 2.0D);
+ gtEbfGasRecipeConsumptionMultipliers.put(Materials.Nitrogen, 1.0D);
+ gtEbfGasRecipeConsumptionMultipliers.put(Materials.Helium, 1.0D);
+ gtEbfGasRecipeConsumptionMultipliers.put(Materials.Argon, 0.85D);
+ gtEbfGasRecipeConsumptionMultipliers.put(Materials.Radon, 0.7D);
}
ArrayListMultimap<SubTag, GT_Recipe> toChange = getRecipesToChange(NOBLE_GAS, ANAEROBE_GAS);
editRecipes(toChange, getNoGasItems(toChange));
@@ -399,22 +408,24 @@ public class StaticRecipeChangeLoaders {
private static int transformEBFGasRecipeTime(GT_Recipe recipe, Materials originalGas, Materials newGas) {
double newEbfMul = gtEbfGasRecipeTimeMultipliers.get(newGas);
- if (newEbfMul < 0.0D) {
+ double originalEbfMul = gtEbfGasRecipeTimeMultipliers.get(originalGas);
+ if (newEbfMul < 0.0D || originalEbfMul < 0.0D) {
return transformEBFGasRecipeTime(recipe.mDuration, originalGas.getProtons(), newGas.getProtons());
} else {
- return Math.max(1, (int) ((double) recipe.mDuration * newEbfMul));
+ return Math.max(1, (int) ((double) recipe.mDuration * newEbfMul / originalEbfMul));
}
}
private static int transformEBFGasRecipeTime(GT_Recipe recipe, Materials originalGas, Werkstoff newGas) {
double newEbfMul = newGas.getStats().getEbfGasRecipeTimeMultiplier();
- if (newEbfMul < 0.0D) {
+ double originalEbfMul = gtEbfGasRecipeTimeMultipliers.get(originalGas);
+ if (newEbfMul < 0.0D || originalEbfMul < 0.0D) {
return transformEBFGasRecipeTime(
recipe.mDuration,
originalGas.getProtons(),
newGas.getStats().getProtons());
} else {
- return Math.max(1, (int) ((double) recipe.mDuration * newEbfMul));
+ return Math.max(1, (int) ((double) recipe.mDuration * newEbfMul / originalEbfMul));
}
}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java
index 6a6d849947..23c0331b9a 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java
@@ -631,7 +631,8 @@ public class WerkstoffLoader {
new short[] { 0x14, 0x39, 0x7F, 0 },
"Xenon",
"Xe",
- new Werkstoff.Stats().setProtons(54).setMass(131).setGas(true),
+ new Werkstoff.Stats().setProtons(54).setMass(131).setGas(true).setEbfGasRecipeTimeMultiplier(0.4d)
+ .setEbfGasRecipeConsumedAmountMultiplier(0.25d),
Werkstoff.Types.ELEMENT,
new Werkstoff.GenerationFeatures().disable().addCells().enforceUnification(),
37,
@@ -643,7 +644,8 @@ public class WerkstoffLoader {
new short[] { 0x14, 0x39, 0x7F, 0 },
"Oganesson",
"Og",
- new Werkstoff.Stats().setProtons(118).setMass(294).setGas(true),
+ new Werkstoff.Stats().setProtons(118).setMass(294).setGas(true).setEbfGasRecipeTimeMultiplier(0.3d)
+ .setEbfGasRecipeConsumedAmountMultiplier(0.1d),
Werkstoff.Types.ELEMENT,
new Werkstoff.GenerationFeatures().disable().addCells(),
38,
@@ -679,7 +681,8 @@ public class WerkstoffLoader {
new short[] { 0xff, 0x07, 0x3a },
"Neon",
"Ne",
- new Werkstoff.Stats().setProtons(Element.Ne.mProtons).setMass(Element.Ne.getMass()).setGas(true),
+ new Werkstoff.Stats().setProtons(Element.Ne.mProtons).setMass(Element.Ne.getMass()).setGas(true)
+ .setEbfGasRecipeTimeMultiplier(0.6d).setEbfGasRecipeConsumedAmountMultiplier(0.55d),
Werkstoff.Types.ELEMENT,
new Werkstoff.GenerationFeatures().disable().addCells().enforceUnification(),
41,
@@ -691,7 +694,8 @@ public class WerkstoffLoader {
new short[] { 0xb1, 0xff, 0x32 },
"Krypton",
"Kr",
- new Werkstoff.Stats().setProtons(Element.Kr.mProtons).setMass(Element.Kr.getMass()).setGas(true),
+ new Werkstoff.Stats().setProtons(Element.Kr.mProtons).setMass(Element.Kr.getMass()).setGas(true)
+ .setEbfGasRecipeTimeMultiplier(0.5d).setEbfGasRecipeConsumedAmountMultiplier(0.4d),
Werkstoff.Types.ELEMENT,
new Werkstoff.GenerationFeatures().disable().addCells().enforceUnification(),
42,