aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-09-11 17:29:46 +0200
committerbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2019-09-11 17:29:46 +0200
commitd928b204b81606c6874e5889300cea00e26dcb85 (patch)
tree6575c069f9bc18d5ba92645fbcec553c4764e153 /src/main
parent53159ebfeeeffbe83d49670c456cc5a7189c3d54 (diff)
downloadGT5-Unofficial-d928b204b81606c6874e5889300cea00e26dcb85.tar.gz
GT5-Unofficial-d928b204b81606c6874e5889300cea00e26dcb85.tar.bz2
GT5-Unofficial-d928b204b81606c6874e5889300cea00e26dcb85.zip
fixed the recipe replacer
+changed out Osmiridium for LuV recipes +added Tiberium for Blackflame +added LuVFineWireMaterial("Ruridit") +added wireFine items & recipes +fixed Scanner/Replicator recipes +deleted an unused class +added a config option to silence the GT++ logging Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Former-commit-id: a0981899093b854814d4c04c9c321b9a4df17e5f
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java34
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java2
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/log/DebugLog.java2
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/log/STFUGTPPLOG.java653
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/BWUnificationEnforcer.java48
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java14
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/WerkstoffLoader.java140
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java120
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/LuVTierEnhancer.java207
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java232
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/oregen/BW_WorldGenRoss128b.java2
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/oregen/BW_WorldGenRoss128ba.java6
12 files changed, 1167 insertions, 293 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
index 760adf02dd..e3b88b62e8 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
@@ -38,6 +38,7 @@ import com.github.bartimaeusnek.bartworks.common.loaders.LoaderRegistry;
import com.github.bartimaeusnek.bartworks.common.net.BW_Network;
import com.github.bartimaeusnek.bartworks.server.EventHandler.ServerEventHandler;
import com.github.bartimaeusnek.bartworks.system.log.DebugLog;
+import com.github.bartimaeusnek.bartworks.system.log.STFUGTPPLOG;
import com.github.bartimaeusnek.bartworks.system.material.CircuitGeneration.CircuitImprintLoader;
import com.github.bartimaeusnek.bartworks.system.material.CircuitGeneration.CircuitPartLoader;
import com.github.bartimaeusnek.bartworks.system.material.ThreadedLoader;
@@ -69,12 +70,15 @@ import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
+import org.apache.commons.lang3.reflect.FieldUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.IOException;
import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
import java.util.*;
+import java.util.stream.Collectors;
import static com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEntity_ElectricImplosionCompressor.eicMap;
import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.*;
@@ -110,6 +114,16 @@ public final class MainMod {
MainMod.LOGGER.error("Something has loaded an old API. Please contact the Mod authors to update!");
}
+ if (Loader.isModLoaded("miscutils") && ConfigHandler.GTppLogDisabler) {
+ try {
+ Field loggerField = FieldUtils.getField(Class.forName("gtPlusPlus.api.objects.Logger"),"modLogger",true);
+ FieldUtils.removeFinalModifier(loggerField,true);
+ loggerField.set(null,(Logger)new STFUGTPPLOG());
+ } catch (IllegalAccessException | ClassNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
+
//fixing BorosilicateGlass... -_-'
Materials.BorosilicateGlass.add(SubTag.CRYSTAL, SubTag.NO_SMASHING, SubTag.NO_RECYCLING, SubTag.SMELTING_TO_FLUID);
@@ -194,6 +208,7 @@ public final class MainMod {
MainMod.unificationEnforcer();
PlatinumSludgeOverHaul.replacePureElements();
+
if (!extraGasRecipes) {
ArrayListMultimap<SubTag, GT_Recipe> toChange = MainMod.getRecipesToChange(NOBLE_GAS, ANAEROBE_GAS);
HashSet<ItemStack> noGas = MainMod.getNoGasItems(toChange);
@@ -289,7 +304,7 @@ public final class MainMod {
private static void runMoltenUnificationEnfocement(Werkstoff werkstoff){
if (werkstoff.getGenerationFeatures().enforceUnification && werkstoff.getGenerationFeatures().hasMolten()) {
try {
- FluidContainerRegistry.FluidContainerData data = new FluidContainerRegistry.FluidContainerData(new FluidStack(molten.get(werkstoff), 144), werkstoff.get(cellMolten), Materials.Empty.getCells(1));
+ FluidContainerRegistry.FluidContainerData data = new FluidContainerRegistry.FluidContainerData(new FluidStack(Objects.requireNonNull(molten.get(werkstoff)), 144), werkstoff.get(cellMolten), Materials.Empty.getCells(1));
Field f = GT_Utility.class.getDeclaredField("sFilledContainerToData");
f.setAccessible(true);
Map<GT_ItemStack, FluidContainerRegistry.FluidContainerData> sFilledContainerToData = (Map<GT_ItemStack, FluidContainerRegistry.FluidContainerData>) f.get(null);
@@ -402,7 +417,7 @@ public final class MainMod {
}
private static void editRecipes(ArrayListMultimap<SubTag,GT_Recipe> base, HashSet<ItemStack> noGas) {
- if (GT_Recipe.GT_Recipe_Map.sBlastRecipes.mRecipeFluidNameMap.contains(fluids.get(Oganesson).getName()))
+ if (GT_Recipe.GT_Recipe_Map.sBlastRecipes.mRecipeFluidNameMap.contains(Objects.requireNonNull(fluids.get(Oganesson)).getName()))
return;
HashSet<GT_Recipe> toAdd = new HashSet<>();
for (SubTag GasTag : base.keySet()) {
@@ -415,7 +430,7 @@ public final class MainMod {
if (!werkstoff.contains(GasTag))
continue;
int time = (int) ((double) recipe.mDuration / 200D * (200D + (werkstoff.getStats().getProtons() >= mat.getProtons() ? (double) mat.getProtons() - (double) werkstoff.getStats().getProtons() : (double) mat.getProtons()*2.75D - (double) werkstoff.getStats().getProtons())));
- toAdd.add(new BWRecipes.DynamicGTRecipe(false, recipe.mInputs, recipe.mOutputs, recipe.mSpecialItems, recipe.mChances, new FluidStack[]{new FluidStack(fluids.get(werkstoff), recipe.mFluidInputs[0].amount)}, recipe.mFluidOutputs, time, recipe.mEUt, recipe.mSpecialValue));
+ toAdd.add(new BWRecipes.DynamicGTRecipe(false, recipe.mInputs, recipe.mOutputs, recipe.mSpecialItems, recipe.mChances, new FluidStack[]{new FluidStack(Objects.requireNonNull(fluids.get(werkstoff)), recipe.mFluidInputs[0].amount)}, recipe.mFluidOutputs, time, recipe.mEUt, recipe.mSpecialValue));
}
for (Materials materials : Materials.values()) {
if (!materials.contains(GasTag))
@@ -462,22 +477,13 @@ public final class MainMod {
}
}
toAdd.removeAll(duplicates);
- for (GT_Recipe recipe : toAdd)
- GT_Recipe.GT_Recipe_Map.sBlastRecipes.add(recipe);
+ toAdd.forEach(GT_Recipe.GT_Recipe_Map.sBlastRecipes::add);
}
private static void addElectricImplosionCompressorRecipes() {
if (eicMap == null) {
eicMap = new GT_Recipe.GT_Recipe_Map(new HashSet<>(GT_Recipe.GT_Recipe_Map.sImplosionRecipes.mRecipeList.size()), "gt.recipe.electricimplosioncompressor", "Electric Implosion Compressor", (String) null, "gregtech:textures/gui/basicmachines/Default", 1, 2, 1, 0, 1, "", 1, "", true, true);
- for (GT_Recipe recipe : GT_Recipe.GT_Recipe_Map.sImplosionRecipes.mRecipeList) {
- if (recipe == null || recipe.mInputs == null)
- continue;
- HashSet<ItemStack> inputs = new HashSet<>();
- for (ItemStack is : recipe.mInputs)
- if (!MainMod.checkForExplosives(is))
- inputs.add(is);
- eicMap.addRecipe(true, inputs.toArray(new ItemStack[0]), recipe.mOutputs, null, null, null, recipe.mDuration, BW_Util.getMachineVoltageFromTier(10), 0);
- }
+ GT_Recipe.GT_Recipe_Map.sImplosionRecipes.mRecipeList.stream().filter(e -> e.mInputs != null).forEach(recipe -> eicMap.addRecipe(true, Arrays.stream(recipe.mInputs).filter(e -> !MainMod.checkForExplosives(e)).distinct().toArray(ItemStack[]::new), recipe.mOutputs, null, null, null, recipe.mDuration, BW_Util.getMachineVoltageFromTier(10), 0));
}
}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java
index b5d5d8b972..da0397087e 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java
@@ -64,6 +64,7 @@ public class ConfigHandler {
//One-Side-Only
public static boolean debugLog;
+ public static boolean GTppLogDisabler;
public static boolean tooltips = true;
public static boolean[] enabledPatches;
@@ -92,6 +93,7 @@ public class ConfigHandler {
ConfigHandler.IDOffset = 12600;
ConfigHandler.c.get("System", "ID Offset", 12600, "ID Offset for this mod. This Mod uses " + ConfigHandler.IDU + " IDs. DO NOT CHANGE IF YOU DONT KNOW WHAT THIS IS").set(12600);
}
+ ConfigHandler.GTppLogDisabler = ConfigHandler.c.get("System", "Disable GT++ Logging", false, "Enables or Disables GT++ Logging.").getBoolean(false);
ConfigHandler.debugLog = ConfigHandler.c.get("System", "Enable Debug Log", false, "Enables or Disables the debug log.").getBoolean(false);
ConfigHandler.experimentalThreadedLoader = ConfigHandler.c.get("System", "Enable Experimental Threaded Material Loader", false, "Enables or Disables the Experimental Threaded Material Loader.").getBoolean(false);
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/log/DebugLog.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/log/DebugLog.java
index 9e832e0820..f0854d78a9 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/log/DebugLog.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/log/DebugLog.java
@@ -36,7 +36,7 @@ import java.util.logging.Logger;
public class DebugLog {
private static boolean init;
- private static FileHandler fh;
+ static FileHandler fh;
private static Logger utilLog;
public DebugLog(FMLPreInitializationEvent event) throws IOException {
if (DebugLog.init)
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/log/STFUGTPPLOG.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/log/STFUGTPPLOG.java
new file mode 100644
index 0000000000..21268ac1c2
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/log/STFUGTPPLOG.java
@@ -0,0 +1,653 @@
+/*
+ * Copyright (c) 2019 bartimaeusnek
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package com.github.bartimaeusnek.bartworks.system.log;
+
+
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.Marker;
+import org.apache.logging.log4j.message.Message;
+import org.apache.logging.log4j.message.MessageFactory;
+
+public class STFUGTPPLOG implements Logger {
+
+ @Override
+ public void catching(Level level, Throwable t) {
+
+ }
+
+ @Override
+ public void catching(Throwable t) {
+
+ }
+
+ @Override
+ public void debug(Marker marker, Message msg) {
+
+ }
+
+ @Override
+ public void debug(Marker marker, Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void debug(Marker marker, Object message) {
+
+ }
+
+ @Override
+ public void debug(Marker marker, Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void debug(Marker marker, String message) {
+
+ }
+
+ @Override
+ public void debug(Marker marker, String message, Object... params) {
+
+ }
+
+ @Override
+ public void debug(Marker marker, String message, Throwable t) {
+
+ }
+
+ @Override
+ public void debug(Message msg) {
+
+ }
+
+ @Override
+ public void debug(Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void debug(Object message) {
+
+ }
+
+ @Override
+ public void debug(Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void debug(String message) {
+
+ }
+
+ @Override
+ public void debug(String message, Object... params) {
+
+ }
+
+ @Override
+ public void debug(String message, Throwable t) {
+
+ }
+
+ @Override
+ public void entry() {
+
+ }
+
+ @Override
+ public void entry(Object... params) {
+
+ }
+
+ @Override
+ public void error(Marker marker, Message msg) {
+
+ }
+
+ @Override
+ public void error(Marker marker, Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void error(Marker marker, Object message) {
+
+ }
+
+ @Override
+ public void error(Marker marker, Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void error(Marker marker, String message) {
+
+ }
+
+ @Override
+ public void error(Marker marker, String message, Object... params) {
+
+ }
+
+ @Override
+ public void error(Marker marker, String message, Throwable t) {
+
+ }
+
+ @Override
+ public void error(Message msg) {
+
+ }
+
+ @Override
+ public void error(Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void error(Object message) {
+
+ }
+
+ @Override
+ public void error(Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void error(String message) {
+
+ }
+
+ @Override
+ public void error(String message, Object... params) {
+
+ }
+
+ @Override
+ public void error(String message, Throwable t) {
+
+ }
+
+ @Override
+ public void exit() {
+
+ }
+
+ @Override
+ public <R> R exit(R result) {
+ return null;
+ }
+
+ @Override
+ public void fatal(Marker marker, Message msg) {
+
+ }
+
+ @Override
+ public void fatal(Marker marker, Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void fatal(Marker marker, Object message) {
+
+ }
+
+ @Override
+ public void fatal(Marker marker, Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void fatal(Marker marker, String message) {
+
+ }
+
+ @Override
+ public void fatal(Marker marker, String message, Object... params) {
+
+ }
+
+ @Override
+ public void fatal(Marker marker, String message, Throwable t) {
+
+ }
+
+ @Override
+ public void fatal(Message msg) {
+
+ }
+
+ @Override
+ public void fatal(Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void fatal(Object message) {
+
+ }
+
+ @Override
+ public void fatal(Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void fatal(String message) {
+
+ }
+
+ @Override
+ public void fatal(String message, Object... params) {
+
+ }
+
+ @Override
+ public void fatal(String message, Throwable t) {
+
+ }
+
+ @Override
+ public MessageFactory getMessageFactory() {
+ return null;
+ }
+
+ @Override
+ public String getName() {
+ return null;
+ }
+
+ @Override
+ public void info(Marker marker, Message msg) {
+
+ }
+
+ @Override
+ public void info(Marker marker, Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void info(Marker marker, Object message) {
+
+ }
+
+ @Override
+ public void info(Marker marker, Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void info(Marker marker, String message) {
+
+ }
+
+ @Override
+ public void info(Marker marker, String message, Object... params) {
+
+ }
+
+ @Override
+ public void info(Marker marker, String message, Throwable t) {
+
+ }
+
+ @Override
+ public void info(Message msg) {
+
+ }
+
+ @Override
+ public void info(Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void info(Object message) {
+
+ }
+
+ @Override
+ public void info(Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void info(String message) {
+
+ }
+
+ @Override
+ public void info(String message, Object... params) {
+
+ }
+
+ @Override
+ public void info(String message, Throwable t) {
+
+ }
+
+ @Override
+ public boolean isDebugEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isDebugEnabled(Marker marker) {
+ return false;
+ }
+
+ @Override
+ public boolean isEnabled(Level level) {
+ return false;
+ }
+
+ @Override
+ public boolean isEnabled(Level level, Marker marker) {
+ return false;
+ }
+
+ @Override
+ public boolean isErrorEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isErrorEnabled(Marker marker) {
+ return false;
+ }
+
+ @Override
+ public boolean isFatalEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isFatalEnabled(Marker marker) {
+ return false;
+ }
+
+ @Override
+ public boolean isInfoEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isInfoEnabled(Marker marker) {
+ return false;
+ }
+
+ @Override
+ public boolean isTraceEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isTraceEnabled(Marker marker) {
+ return false;
+ }
+
+ @Override
+ public boolean isWarnEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isWarnEnabled(Marker marker) {
+ return false;
+ }
+
+ @Override
+ public void log(Level level, Marker marker, Message msg) {
+
+ }
+
+ @Override
+ public void log(Level level, Marker marker, Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void log(Level level, Marker marker, Object message) {
+
+ }
+
+ @Override
+ public void log(Level level, Marker marker, Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void log(Level level, Marker marker, String message) {
+
+ }
+
+ @Override
+ public void log(Level level, Marker marker, String message, Object... params) {
+
+ }
+
+ @Override
+ public void log(Level level, Marker marker, String message, Throwable t) {
+
+ }
+
+ @Override
+ public void log(Level level, Message msg) {
+
+ }
+
+ @Override
+ public void log(Level level, Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void log(Level level, Object message) {
+
+ }
+
+ @Override
+ public void log(Level level, Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void log(Level level, String message) {
+
+ }
+
+ @Override
+ public void log(Level level, String message, Object... params) {
+
+ }
+
+ @Override
+ public void log(Level level, String message, Throwable t) {
+
+ }
+
+ @Override
+ public void printf(Level level, Marker marker, String format, Object... params) {
+
+ }
+
+ @Override
+ public void printf(Level level, String format, Object... params) {
+
+ }
+
+ @Override
+ public <T extends Throwable> T throwing(Level level, T t) {
+ return null;
+ }
+
+ @Override
+ public <T extends Throwable> T throwing(T t) {
+ return null;
+ }
+
+ @Override
+ public void trace(Marker marker, Message msg) {
+
+ }
+
+ @Override
+ public void trace(Marker marker, Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void trace(Marker marker, Object message) {
+
+ }
+
+ @Override
+ public void trace(Marker marker, Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void trace(Marker marker, String message) {
+
+ }
+
+ @Override
+ public void trace(Marker marker, String message, Object... params) {
+
+ }
+
+ @Override
+ public void trace(Marker marker, String message, Throwable t) {
+
+ }
+
+ @Override
+ public void trace(Message msg) {
+
+ }
+
+ @Override
+ public void trace(Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void trace(Object message) {
+
+ }
+
+ @Override
+ public void trace(Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void trace(String message) {
+
+ }
+
+ @Override
+ public void trace(String message, Object... params) {
+
+ }
+
+ @Override
+ public void trace(String message, Throwable t) {
+
+ }
+
+ @Override
+ public void warn(Marker marker, Message msg) {
+
+ }
+
+ @Override
+ public void warn(Marker marker, Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void warn(Marker marker, Object message) {
+
+ }
+
+ @Override
+ public void warn(Marker marker, Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void warn(Marker marker, String message) {
+
+ }
+
+ @Override
+ public void warn(Marker marker, String message, Object... params) {
+
+ }
+
+ @Override
+ public void warn(Marker marker, String message, Throwable t) {
+
+ }
+
+ @Override
+ public void warn(Message msg) {
+
+ }
+
+ @Override
+ public void warn(Message msg, Throwable t) {
+
+ }
+
+ @Override
+ public void warn(Object message) {
+
+ }
+
+ @Override
+ public void warn(Object message, Throwable t) {
+
+ }
+
+ @Override
+ public void warn(String message) {
+
+ }
+
+ @Override
+ public void warn(String message, Object... params) {
+
+ }
+
+ @Override
+ public void warn(String message, Throwable t) {
+
+ }
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BWUnificationEnforcer.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BWUnificationEnforcer.java
deleted file mode 100644
index 784459f25e..0000000000
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/BWUnificationEnforcer.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2019 bartimaeusnek
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package com.github.bartimaeusnek.bartworks.system.material;
-
-import net.minecraftforge.oredict.OreDictionary;
-
-import java.util.HashSet;
-
-public class BWUnificationEnforcer {
- private static boolean enabled;
- private static final HashSet<String> UNIFICATION_TARGETS = new HashSet<>();
- public static boolean isEnabled() {
- return BWUnificationEnforcer.enabled;
- }
-
- public static HashSet<String> getUnificationTargets() {
- return BWUnificationEnforcer.UNIFICATION_TARGETS;
- }
-
- public static void addUnificationTarget(String aOreDictName){
- if (aOreDictName == null || aOreDictName.isEmpty() || !OreDictionary.doesOreNameExist(aOreDictName))
- return;
- BWUnificationEnforcer.UNIFICATION_TARGETS.add(aOreDictName);
- BWUnificationEnforcer.enabled = true;
- }
-
-
-}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java
index c9ae650d36..0144404b46 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/Werkstoff.java
@@ -38,7 +38,7 @@ import java.util.*;
public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
- static final LinkedHashSet<Werkstoff> werkstoffHashSet = new LinkedHashSet<>();
+ public static final LinkedHashSet<Werkstoff> werkstoffHashSet = new LinkedHashSet<>();
public static final LinkedHashMap<Short, Werkstoff> werkstoffHashMap = new LinkedHashMap<>();
public static final LinkedHashMap<String, Werkstoff> werkstoffNameHashMap = new LinkedHashMap<>();
@@ -164,10 +164,6 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
}
this.texSet = texSet;
- if (this.getGenerationFeatures().enforceUnification) {
- for (OrePrefixes prefix : OrePrefixes.values())
- BWUnificationEnforcer.addUnificationTarget(prefix+this.getDefaultName());
- }
Werkstoff.werkstoffHashSet.add(this);
Werkstoff.werkstoffHashMap.put(this.mID, this);
Werkstoff.werkstoffNameHashMap.put(this.defaultName,this);
@@ -378,23 +374,28 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dust,0b1);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustTiny,0b1);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustSmall,0b1);
+
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingot,0b10);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ingotHot,0b10);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.nugget,0b10);
+
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gem,0b100);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemFlawed,0b100);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemExquisite,0b100);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemChipped,0b100);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.gemFlawless,0b100);
+
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.ore,0b1000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustImpure,0b1000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.dustPure,0b1000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushed,0b1000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushedPurified,0b1000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.crushedCentrifuged,0b1000);
+
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.cell,0b10000);
+
Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.cellMolten,0b1000000);
- Werkstoff.GenerationFeatures.prefixLogic.put(WerkstoffLoader.cellMolten,0b1000000);
+
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plate,0b10000000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.stick,0b10000000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.rod,0b10000000);
@@ -407,6 +408,7 @@ public class Werkstoff implements IColorModulationContainer, ISubTagContainer {
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.spring,0b100000000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.springSmall,0b100000000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.rotor,0b100000000);
+ Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.wireFine,0b100000000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateDouble,0b1000000000);
Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateTriple,0b1000000000);
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 96fe88d759..d4307a13dd 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
@@ -48,6 +48,7 @@ import gregtech.api.interfaces.ISubTagContainer;
import gregtech.api.objects.GT_Fluid;
import gregtech.api.objects.GT_MultiTexture;
import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.objects.ItemData;
import gregtech.api.util.*;
import gregtech.common.GT_Proxy;
import gregtech.common.items.behaviors.Behaviour_DataOrb;
@@ -106,7 +107,8 @@ public class WerkstoffLoader implements Runnable {
WerkstoffLoader.smallGearShape = Enum.valueOf(ItemList.class, "Shape_Extruder_Small_Gear");
WerkstoffLoader.ringMold = Enum.valueOf(ItemList.class, "Shape_Mold_Ring");
WerkstoffLoader.boltMold = Enum.valueOf(ItemList.class, "Shape_Mold_Bolt");
- }catch (NullPointerException | IllegalArgumentException e){}
+ } catch (NullPointerException | IllegalArgumentException e){}
+ Element t = EnumHelper.addEnum(Element.class,"Tr",new Class[]{long.class, long.class, long.class, long.class, String.class, String.class, boolean.class}, new Object[]{123L, 203L, 0L, -1L, (String) null, "Tiberium", false});
}
//TODO: FREE ID RANGE: 19-32766
@@ -945,7 +947,7 @@ public class WerkstoffLoader implements Runnable {
new Werkstoff.GenerationFeatures().disable().onlyDust().addCells(),
66,
TextureSet.SET_DULL,
- new Pair<>(Ruthenium,1),
+ new Pair<>(WerkstoffLoader.Ruthenium,1),
new Pair<>(Materials.Oxygen,4)
//No Byproducts
);
@@ -958,7 +960,7 @@ public class WerkstoffLoader implements Runnable {
new Werkstoff.GenerationFeatures().disable().addCells(),
67,
TextureSet.SET_FLUID,
- new Pair<>(Ruthenium,1),
+ new Pair<>(WerkstoffLoader.Ruthenium,1),
new Pair<>(Materials.Oxygen,4),
new Pair<>(Materials.Chlorine,2),
new Pair<>(Materials.Sodium,2),
@@ -1193,7 +1195,27 @@ public class WerkstoffLoader implements Runnable {
new Pair<>(Materials.Palladium,3),
new Pair<>(WerkstoffLoader.Rhodium,1)
);
-
+ public static final Werkstoff Tiberium = new Werkstoff(
+ new short[]{0x22,0xEE,0x22},
+ "Tiberium",
+ "Tr",
+ new Werkstoff.Stats().setProtons(123).setMass(326),
+ Werkstoff.Types.ELEMENT,
+ new Werkstoff.GenerationFeatures().onlyDust().addGems(),
+ 89,
+ TextureSet.SET_DIAMOND
+ );
+ public static final Werkstoff LuVFineWireMaterial = new Werkstoff(
+ new short[]{0xA4,0xA4,0xA4},
+ "Ruridit",
+ new Werkstoff.Stats().setCentrifuge(true).setBlastFurnace(true).setMeltingPoint(4500),
+ Werkstoff.Types.COMPOUND,
+ new Werkstoff.GenerationFeatures().disable().onlyDust().addMolten().addMetalItems().addMixerRecipes().addSimpleMetalWorkingItems().addCraftingMetalWorkingItems().addMultipleIngotMetalWorkingItems(),
+ 90,
+ TextureSet.SET_METALLIC,
+ new Pair<>(WerkstoffLoader.Ruthenium,2),
+ new Pair<>(Materials.Iridium,1)
+ );
public static HashMap<OrePrefixes, BW_MetaGenerated_Items> items = new HashMap<>();
public static HashBiMap<Werkstoff, Fluid> fluids = HashBiMap.create();
@@ -1423,6 +1445,7 @@ public class WerkstoffLoader implements Runnable {
WerkstoffLoader.items.put(spring, new BW_MetaGenerated_Items(spring));
WerkstoffLoader.items.put(springSmall, new BW_MetaGenerated_Items(springSmall));
WerkstoffLoader.items.put(rotor, new BW_MetaGenerated_Items(rotor));
+ WerkstoffLoader.items.put(wireFine, new BW_MetaGenerated_Items(wireFine));
}
if ((WerkstoffLoader.toGenerateGlobal & 0b1000000000) != 0) {
WerkstoffLoader.items.put(plateDouble, new BW_MetaGenerated_Items(plateDouble));
@@ -1438,8 +1461,6 @@ public class WerkstoffLoader implements Runnable {
}
-
-
public void gameRegistryHandler(){
if (FMLCommonHandler.instance().getSide().isClient())
RenderingRegistry.registerBlockHandler(BW_Renderer_Block_Ores.INSTANCE);
@@ -1452,24 +1473,59 @@ public class WerkstoffLoader implements Runnable {
public static void runGTItemDataRegistrator(){
HashSet<Materials> toRem = new HashSet<>();
for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) {
- Materials werkstoffBridgeMaterial = new Materials(-1,werkstoff.getTexSet(),0,0,0,false,werkstoff.getDefaultName().replaceAll(" ",""),werkstoff.getDefaultName());
- GT_OreDictUnificator.addAssociation(ore,werkstoffBridgeMaterial,new ItemStack(WerkstoffLoader.BWOres,1,werkstoff.getmID()),false);
+ Materials werkstoffBridgeMaterial = new Materials(-1, werkstoff.getTexSet(), 0, 0, 0, false, werkstoff.getDefaultName().replaceAll(" ", ""), werkstoff.getDefaultName());
for (OrePrefixes prefixes : values()) {
- if ((werkstoff.getGenerationFeatures().toGenerate & Werkstoff.GenerationFeatures.prefixLogic.get(prefixes)) != 0 && werkstoff.get(prefixes) != null && werkstoff.get(prefixes).getItem() != null)
- GT_OreDictUnificator.addAssociation(prefixes, werkstoffBridgeMaterial, werkstoff.get(prefixes), false);
- }
- if (werkstoff.getGenerationFeatures().hasCells()) {
- werkstoffBridgeMaterial.setHasCorrespondingFluid(true);
- werkstoffBridgeMaterial.setHasCorrespondingGas(true);
- werkstoffBridgeMaterial.mFluid = werkstoff.getFluidOrGas(1).getFluid();
- werkstoffBridgeMaterial.mGas = werkstoff.getFluidOrGas(1).getFluid();
- }
- if (werkstoff.getGenerationFeatures().hasMolten()) {
- werkstoffBridgeMaterial.mStandardMoltenFluid = werkstoff.getMolten(1).getFluid();
+ if (!(prefixes == cell && werkstoff.getType().equals(Werkstoff.Types.ELEMENT))) {
+ if (prefixes == dust && werkstoff.getType().equals(Werkstoff.Types.ELEMENT)) {
+ if (werkstoff.getType().equals(Werkstoff.Types.ELEMENT)) {
+ boolean ElementSet = false;
+ for (Element e : Element.values()) {
+ if (e.toString().equals(werkstoff.getToolTip())) {
+ if (e.mLinkedMaterials.size() > 0)
+ break;
+ werkstoffBridgeMaterial = new Materials(-1, werkstoff.getTexSet(), 0, 0, 0, true, werkstoff.getDefaultName().replaceAll(" ", ""), werkstoff.getDefaultName());
+ werkstoffBridgeMaterial.mElement = e;
+ e.mLinkedMaterials = new ArrayList<>();
+ e.mLinkedMaterials.add(werkstoffBridgeMaterial);
+ GT_OreDictUnificator.addAssociation(dust, werkstoffBridgeMaterial, werkstoff.get(dust), false);
+ GT_OreDictUnificator.set(dust, werkstoffBridgeMaterial, werkstoff.get(dust), true, true);
+ ElementSet = true;
+ break;
+ }
+ }
+ if (!ElementSet)
+ continue;
+ try {
+ Field f = Materials.class.getDeclaredField("MATERIALS_MAP");
+ f.setAccessible(true);
+ Map<String, Materials> MATERIALS_MAP = (Map<String, Materials>) f.get(null);
+ MATERIALS_MAP.remove(werkstoffBridgeMaterial.mName);
+ } catch (NoSuchFieldException | IllegalAccessException | ClassCastException e) {
+ e.printStackTrace();
+ }
+ ItemStack scannerOutput = ItemList.Tool_DataOrb.get(1L);
+ Behaviour_DataOrb.setDataTitle(scannerOutput, "Elemental-Scan");
+ Behaviour_DataOrb.setDataName(scannerOutput, werkstoff.getToolTip());
+ GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false, new BWRecipes.DynamicGTRecipe(false, new ItemStack[]{werkstoff.get(prefixes)}, new ItemStack[]{scannerOutput}, ItemList.Tool_DataOrb.get(1L), null, null, null, (int) (werkstoffBridgeMaterial.getMass() * 8192L), 30, 0));
+ GT_Recipe.GT_Recipe_Map.sReplicatorFakeRecipes.addFakeRecipe(false, new BWRecipes.DynamicGTRecipe(false, null, new ItemStack[]{werkstoff.get(prefixes)}, scannerOutput, null, new FluidStack[]{Materials.UUMatter.getFluid(werkstoffBridgeMaterial.getMass())}, null, (int) (werkstoffBridgeMaterial.getMass() * 512L), 30, 0));
+ }
+ } else if ((werkstoff.getGenerationFeatures().toGenerate & Werkstoff.GenerationFeatures.prefixLogic.get(prefixes)) != 0 && (werkstoff.getGenerationFeatures().blacklist & Werkstoff.GenerationFeatures.prefixLogic.get(prefixes)) == 0 && werkstoff.get(prefixes) != null && werkstoff.get(prefixes).getItem() != null)
+ GT_OreDictUnificator.addAssociation(prefixes, werkstoffBridgeMaterial, werkstoff.get(prefixes), false);
+
+ if (werkstoff.getGenerationFeatures().hasCells()) {
+ werkstoffBridgeMaterial.setHasCorrespondingFluid(true);
+ werkstoffBridgeMaterial.setHasCorrespondingGas(true);
+ werkstoffBridgeMaterial.mFluid = werkstoff.getFluidOrGas(1).getFluid();
+ werkstoffBridgeMaterial.mGas = werkstoff.getFluidOrGas(1).getFluid();
+ }
+ if (werkstoff.getGenerationFeatures().hasMolten()) {
+ werkstoffBridgeMaterial.mStandardMoltenFluid = werkstoff.getMolten(1).getFluid();
+ }
+ werkstoffBridgeMaterial.mName = werkstoff.getDefaultName();
+ toRem.add(werkstoffBridgeMaterial);
+ werkstoff.setBridgeMaterial(werkstoffBridgeMaterial);
+ }
}
- werkstoffBridgeMaterial.mName = werkstoff.getDefaultName();
- toRem.add(werkstoffBridgeMaterial);
- werkstoff.setBridgeMaterial(werkstoffBridgeMaterial);
}
try {
Field f = Materials.class.getDeclaredField("MATERIALS_MAP");
@@ -1639,6 +1695,11 @@ public class WerkstoffLoader implements Runnable {
GT_ModHandler.addCraftingRecipe(werkstoff.get(gearGt), GT_Proxy.tBits, new Object[]{"SPS", "PwP", "SPS", 'P', werkstoff.get(plate), 'S', werkstoff.get(stick)});
GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot,4), ItemList.Shape_Extruder_Gear.get(0L), werkstoff.get(gearGt), (int) Math.max(werkstoff.getStats().getMass() * 5L, 1), 8 * tVoltageMultiplier);
+ //wireFine
+ GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot), ItemList.Shape_Extruder_Wire.get(0L), werkstoff.get(wireFine,8), (int) Math.max(werkstoff.getStats().getMass() * 1.5F, 1F), 8 * tVoltageMultiplier);
+ GT_Values.RA.addWiremillRecipe(werkstoff.get(ingot), werkstoff.get(wireFine,8), (int) Math.max(werkstoff.getStats().getMass(), 1), 8 * tVoltageMultiplier);
+ GT_Values.RA.addWiremillRecipe(werkstoff.get(stick), werkstoff.get(wireFine,4), (int) Math.max(werkstoff.getStats().getMass() * 0.5F, 1F), 8 * tVoltageMultiplier);
+
//smallGear
if (WerkstoffLoader.smallGearShape != null)
GT_Values.RA.addExtruderRecipe(werkstoff.get(ingot), WerkstoffLoader.smallGearShape.get(0L), werkstoff.get(gearGtSmall), (int) werkstoff.getStats().mass, 8 * tVoltageMultiplier);
@@ -1819,39 +1880,6 @@ public class WerkstoffLoader implements Runnable {
GT_ModHandler.addPulverisationRecipe(werkstoff.get(ingot),werkstoff.get(dust));
GT_ModHandler.addPulverisationRecipe(werkstoff.get(nugget),werkstoff.get(dustTiny));
}
-
- if (werkstoff.getType().equals(Werkstoff.Types.ELEMENT)) {
- Materials werkstoffBridgeMaterial = null;
- boolean ElementSet = false;
- for (Element e : Element.values()){
- if (e.toString().equals(werkstoff.getToolTip())){
- if (e.mLinkedMaterials.size() > 0)
- break;
- werkstoffBridgeMaterial = new Materials(-1,werkstoff.getTexSet(),0,0,0,false,werkstoff.getDefaultName().replaceAll(" ",""),werkstoff.getDefaultName());
- werkstoffBridgeMaterial.mElement = e;
- e.mLinkedMaterials.add(werkstoffBridgeMaterial);
- ElementSet = true;
- break;
- }
- }
- if (!ElementSet)
- return;
-
- GT_OreDictUnificator.addAssociation(dust,werkstoffBridgeMaterial, werkstoff.get(dust),false);
- try {
- Field f = Materials.class.getDeclaredField("MATERIALS_MAP");
- f.setAccessible(true);
- Map<String, Materials> MATERIALS_MAP = (Map<String, Materials>) f.get(null);
- MATERIALS_MAP.remove(werkstoffBridgeMaterial.mName);
- } catch (NoSuchFieldException | IllegalAccessException | ClassCastException e) {
- e.printStackTrace();
- }
- ItemStack scannerOutput = ItemList.Tool_DataOrb.get(1L);
- Behaviour_DataOrb.setDataTitle(scannerOutput,"Elemental-Scan");
- Behaviour_DataOrb.setDataName(scannerOutput,werkstoff.getToolTip());
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(false,new BWRecipes.DynamicGTRecipe(false, new ItemStack[]{werkstoff.get(dust)}, new ItemStack[]{scannerOutput}, ItemList.Tool_DataOrb.get(1L), null, null, null, (int) (werkstoffBridgeMaterial.getMass()* 8192L),30,0));
- GT_Recipe.GT_Recipe_Map.sReplicatorFakeRecipes.addFakeRecipe(false,new BWRecipes.DynamicGTRecipe(false, null,new ItemStack[]{werkstoff.get(dust)}, scannerOutput, null, new FluidStack[]{Materials.UUMatter.getFluid(werkstoffBridgeMaterial.getMass())}, null, (int) (werkstoffBridgeMaterial.getMass() * 512L),30,0));
- }
}
}
@@ -2042,7 +2070,7 @@ public class WerkstoffLoader implements Runnable {
}
if (!ElementSet)
return;
-
+
GT_OreDictUnificator.addAssociation(cell,werkstoffBridgeMaterial, werkstoff.get(cell),false);
try {
Field f = Materials.class.getDeclaredField("MATERIALS_MAP");
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
index 56ad180e95..b865c9e39f 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
@@ -126,127 +126,9 @@ public class AdditionalRecipes implements Runnable {
Materials.SolderingAlloy.getMolten((i + 1) * 144)
}, null, (i + 1) * 1500, BW_Util.getMachineVoltageFromTier(i + 1), CLEANROOM));
}
- GregTech_API.sAfterGTPostload.add(new AdditionalRecipes.LuVHullReplacer());
+ GregTech_API.sAfterGTPostload.add(new LuVTierEnhancer());
AdditionalRecipes.oldGThelperMethod();
}
-
- public static class LuVHullReplacer implements Runnable {
-
- public void run() {
- List<IRecipe> bufferedRecipeList = null;
- try {
- bufferedRecipeList = (List<IRecipe>) FieldUtils.getDeclaredField(GT_ModHandler.class, "sBufferRecipeList", true).get(null);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- assert bufferedRecipeList != null;
-
- HashSet<ItemStack> LuVMachines = new HashSet<>();
- OrePrefixes[] LuVMaterialsGenerated = {dust, ingot, plate, stick, stickLong, rotor, plateDouble, plateDense};
- for (ItemList item : ItemList.values()) {
- if (item.toString().contains("LuV") && item.hasBeenSet())
- LuVMachines.add(item.get(1));
- }
- if (Loader.isModLoaded("dreamcraft")) {
- try {
- Class customItemListClass = Class.forName("com.dreammaster.gthandler.CustomItemList");
- Method hasnotBeenSet = MethodUtils.getAccessibleMethod(customItemListClass, "hasBeenSet");
- Method get = MethodUtils.getAccessibleMethod(customItemListClass, "get", long.class, Object[].class);
- for (Enum customItemList : (Enum[]) FieldUtils.getField(customItemListClass, "$VALUES", true).get(null)) {
- if (customItemList.toString().contains("LuV") && (boolean) hasnotBeenSet.invoke(customItemList))
- LuVMachines.add((ItemStack) get.invoke(customItemList, 1, new Object[0]));
- }
- } catch (IllegalAccessException | ClassNotFoundException | InvocationTargetException e) {
- e.printStackTrace();
- }
- }
- GT_ModHandler.addCraftingRecipe(ItemList.Casing_LuV.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[]{"PPP", "PwP", "PPP", 'P', WerkstoffLoader.LuVTierMaterial.get(plate)});
- for (ItemStack stack : LuVMachines) {
- for (GT_Recipe.GT_Recipe_Map map : GT_Recipe.GT_Recipe_Map.sMappings) {
- for (GT_Recipe recipe : map.mRecipeList) {
- for (OrePrefixes prefixes : LuVMaterialsGenerated) {
- if (AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mInputs, stack, false)) {
- AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mInputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
- AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mOutputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
- }
- if (AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mOutputs, stack, false)) {
- AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mInputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
- AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mOutputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
- }
- }
- if (AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mInputs, stack, false)) {
- AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mFluidInputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
- AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mFluidOutputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
- }
- if (AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mOutputs, stack, false)) {
- AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mFluidInputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
- AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(recipe.mFluidOutputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
- }
- }
- }
- for (OrePrefixes prefixes : LuVMaterialsGenerated) {
- for (Object obj : CraftingManager.getInstance().getRecipeList()) {
- if (!(obj instanceof GT_Shaped_Recipe))
- continue;
- if (GT_Utility.areStacksEqual(((GT_Shaped_Recipe) obj).getRecipeOutput(), stack, true)) {
- AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(((GT_Shaped_Recipe) obj).getInput(), GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
- }
- }
- for (Object obj : bufferedRecipeList) {
- if (!(obj instanceof GT_Shaped_Recipe))
- continue;
- if (GT_Utility.areStacksEqual(((GT_Shaped_Recipe) obj).getRecipeOutput(), stack, true)) {
- AdditionalRecipes.LuVHullReplacer.doStacksCointainAndReplace(((GT_Shaped_Recipe) obj).getInput(), GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
- }
- }
- }
- }
- }
-
- private static boolean doStacksCointainAndReplace(FluidStack[] stacks, FluidStack stack, boolean replace, Fluid... replacement) {
- boolean replaced = false;
- for (int i = 0; i < stacks.length; i++) {
- if (GT_Utility.areFluidsEqual(stack, stacks[i]))
- if (!replace)
- return true;
- else {
- int amount = stacks[i].amount;
- stacks[i] = new FluidStack(replacement[0], amount);
- replaced = true;
- }
- }
- return replaced;
- }
-
- private static boolean doStacksCointainAndReplace(Object[] stacks, ItemStack stack, boolean replace, ItemStack... replacement) {
- boolean replaced = false;
- for (int i = 0; i < stacks.length; i++) {
- if (!GT_Utility.isStackValid(stacks[i])) {
- if (stacks[i] instanceof ArrayList && ((ArrayList)stacks[i]).size() > 0) {
- if (GT_Utility.areStacksEqual(stack, (ItemStack) ((ArrayList)stacks[i]).get(0), true))
- if (!replace)
- return true;
- else {
- int amount = ((ItemStack) ((ArrayList)stacks[i]).get(0)).stackSize;
- stacks[i] = new ArrayList<>();
- ((ArrayList)stacks[i]).add(replacement[0].splitStack(amount));
- replaced = true;
- }
-
- } else
- continue;
- } else if (GT_Utility.areStacksEqual(stack, (ItemStack) stacks[i], true))
- if (!replace)
- return true;
- else {
- int amount = ((ItemStack) stacks[i]).stackSize;
- stacks[i] = replacement[0].splitStack(amount);
- replaced = true;
- }
- }
- return replaced;
- }
- }
private static void oldGThelperMethod(){
//manual override for older GT
Werkstoff werkstoff = WerkstoffLoader.Oganesson;
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/LuVTierEnhancer.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/LuVTierEnhancer.java
new file mode 100644
index 0000000000..7542253844
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/LuVTierEnhancer.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright (c) 2019 bartimaeusnek
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package com.github.bartimaeusnek.bartworks.system.material.processingLoaders;
+
+import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+import com.github.bartimaeusnek.bartworks.util.BW_Util;
+import cpw.mods.fml.common.Loader;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.objects.ItemData;
+import gregtech.api.util.*;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.CraftingManager;
+import net.minecraft.item.crafting.IRecipe;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+import org.apache.commons.lang3.reflect.FieldUtils;
+import org.apache.commons.lang3.reflect.MethodUtils;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+
+import static gregtech.api.enums.OrePrefixes.*;
+
+public class LuVTierEnhancer implements Runnable {
+
+ public void run() {
+ LuVTierEnhancer.replaceAsslineRecipes();
+ List<IRecipe> bufferedRecipeList = null;
+ try {
+ bufferedRecipeList = (List<IRecipe>) FieldUtils.getDeclaredField(GT_ModHandler.class, "sBufferRecipeList", true).get(null);
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ assert bufferedRecipeList != null;
+
+ HashSet<ItemStack> LuVMachines = new HashSet<>();
+ OrePrefixes[] LuVMaterialsGenerated = {dust, ingot, plate, stick, stickLong, rotor, plateDouble, plateDense};
+ for (ItemList item : ItemList.values()) {
+ if (item.toString().contains("LuV") && item.hasBeenSet())
+ LuVMachines.add(item.get(1));
+ }
+ if (Loader.isModLoaded("dreamcraft")) {
+ try {
+ Class customItemListClass = Class.forName("com.dreammaster.gthandler.CustomItemList");
+ Method hasnotBeenSet = MethodUtils.getAccessibleMethod(customItemListClass, "hasBeenSet");
+ Method get = MethodUtils.getAccessibleMethod(customItemListClass, "get", long.class, Object[].class);
+ for (Enum customItemList : (Enum[]) FieldUtils.getField(customItemListClass, "$VALUES", true).get(null)) {
+ if (customItemList.toString().contains("LuV") && (boolean) hasnotBeenSet.invoke(customItemList))
+ LuVMachines.add((ItemStack) get.invoke(customItemList, 1, new Object[0]));
+ }
+ } catch (IllegalAccessException | ClassNotFoundException | InvocationTargetException e) {
+ e.printStackTrace();
+ }
+ }
+ GT_ModHandler.addCraftingRecipe(ItemList.Casing_LuV.get(1), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.DELETE_ALL_OTHER_RECIPES, new Object[]{"PPP", "PwP", "PPP", 'P', WerkstoffLoader.LuVTierMaterial.get(plate)});
+ for (ItemStack stack : LuVMachines) {
+ for (GT_Recipe.GT_Recipe_Map map : GT_Recipe.GT_Recipe_Map.sMappings) {
+ for (GT_Recipe recipe : map.mRecipeList) {
+ for (OrePrefixes prefixes : LuVMaterialsGenerated) {
+ if (LuVTierEnhancer.doStacksCointainAndReplace(recipe.mInputs, stack, false)) {
+ LuVTierEnhancer.doStacksCointainAndReplace(recipe.mInputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ LuVTierEnhancer.doStacksCointainAndReplace(recipe.mOutputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ }
+ if (LuVTierEnhancer.doStacksCointainAndReplace(recipe.mOutputs, stack, false)) {
+ LuVTierEnhancer.doStacksCointainAndReplace(recipe.mInputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ LuVTierEnhancer.doStacksCointainAndReplace(recipe.mOutputs, GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ }
+ }
+ if (LuVTierEnhancer.doStacksCointainAndReplace(recipe.mInputs, stack, false)) {
+ LuVTierEnhancer.doStacksCointainAndReplace(recipe.mFluidInputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ LuVTierEnhancer.doStacksCointainAndReplace(recipe.mFluidOutputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ }
+ if (LuVTierEnhancer.doStacksCointainAndReplace(recipe.mOutputs, stack, false)) {
+ LuVTierEnhancer.doStacksCointainAndReplace(recipe.mFluidInputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ LuVTierEnhancer.doStacksCointainAndReplace(recipe.mFluidOutputs, Materials.Chrome.getMolten(1), true, WerkstoffLoader.LuVTierMaterial.getMolten(1).getFluid());
+ }
+ }
+ }
+ for (OrePrefixes prefixes : LuVMaterialsGenerated) {
+ for (Object obj : CraftingManager.getInstance().getRecipeList()) {
+ if (!(obj instanceof GT_Shaped_Recipe))
+ continue;
+ if (GT_Utility.areStacksEqual(((GT_Shaped_Recipe) obj).getRecipeOutput(), stack, true)) {
+ LuVTierEnhancer.doStacksCointainAndReplace(((GT_Shaped_Recipe) obj).getInput(), GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ }
+ }
+ for (Object obj : bufferedRecipeList) {
+ if (!(obj instanceof GT_Shaped_Recipe))
+ continue;
+ if (GT_Utility.areStacksEqual(((GT_Shaped_Recipe) obj).getRecipeOutput(), stack, true)) {
+ LuVTierEnhancer.doStacksCointainAndReplace(((GT_Shaped_Recipe) obj).getInput(), GT_OreDictUnificator.get(prefixes, Materials.Chrome, 1), true, WerkstoffLoader.LuVTierMaterial.get(prefixes));
+ }
+ }
+ }
+ }
+ }
+
+ private static void replaceAsslineRecipes(){
+ for (GT_Recipe.GT_Recipe_AssemblyLine recipe_assemblyLine : GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes){
+ if (recipe_assemblyLine.mEUt > 6000)
+ continue;
+ for (int i = 0; i < recipe_assemblyLine.mInputs.length; i++) {
+ ItemStack stack = recipe_assemblyLine.mInputs[i];
+ if (!BW_Util.checkStackAndPrefix(stack))
+ continue;
+ ItemData ass = GT_OreDictUnificator.getAssociation(stack);
+ if (ass.mMaterial.mMaterial.equals(Materials.Osmiridium))
+ recipe_assemblyLine.mInputs[i] = WerkstoffLoader.LuVFineWireMaterial.get(ass.mPrefix,stack.stackSize);
+ }
+ }
+ for (GT_Recipe recipe_assemblyLine : GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.mRecipeList){
+ if (recipe_assemblyLine.mEUt > BW_Util.getTierVoltage(6))
+ continue;
+ if (BW_Util.checkStackAndPrefix(recipe_assemblyLine.mOutputs[0]))
+ continue;
+ for (int i = 0; i < recipe_assemblyLine.mInputs.length; i++) {
+ ItemStack stack = recipe_assemblyLine.mInputs[i];
+ if (!BW_Util.checkStackAndPrefix(stack))
+ continue;
+ ItemData ass = GT_OreDictUnificator.getAssociation(stack);
+ if (ass.mMaterial.mMaterial.equals(Materials.Osmiridium))
+ recipe_assemblyLine.mInputs[i] = WerkstoffLoader.LuVFineWireMaterial.get(ass.mPrefix,stack.stackSize);
+ }
+ }
+ for (GT_Recipe recipe_assemblyLine : GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.mRecipeList){
+ if (recipe_assemblyLine.mEUt > 6000)
+ continue;
+ for (int i = 0; i < recipe_assemblyLine.mInputs.length; i++) {
+ ItemStack stack = recipe_assemblyLine.mInputs[i];
+ if (!BW_Util.checkStackAndPrefix(stack))
+ continue;
+ ItemData ass = GT_OreDictUnificator.getAssociation(stack);
+ if (ass.mMaterial.mMaterial.equals(Materials.Osmiridium))
+ recipe_assemblyLine.mInputs[i] = WerkstoffLoader.LuVFineWireMaterial.get(ass.mPrefix,stack.stackSize);
+ }
+ }
+ }
+
+ private static boolean doStacksCointainAndReplace(FluidStack[] stacks, FluidStack stack, boolean replace, Fluid... replacement) {
+ boolean replaced = false;
+ for (int i = 0; i < stacks.length; i++) {
+ if (GT_Utility.areFluidsEqual(stack, stacks[i]))
+ if (!replace)
+ return true;
+ else {
+ int amount = stacks[i].amount;
+ stacks[i] = new FluidStack(replacement[0], amount);
+ replaced = true;
+ }
+ }
+ return replaced;
+ }
+
+ private static boolean doStacksCointainAndReplace(Object[] stacks, ItemStack stack, boolean replace, ItemStack... replacement) {
+ boolean replaced = false;
+ for (int i = 0; i < stacks.length; i++) {
+ if (!GT_Utility.isStackValid(stacks[i])) {
+ if (stacks[i] instanceof ArrayList && ((ArrayList)stacks[i]).size() > 0) {
+ if (GT_Utility.areStacksEqual(stack, (ItemStack) ((ArrayList)stacks[i]).get(0), true))
+ if (!replace)
+ return true;
+ else {
+ int amount = ((ItemStack) ((ArrayList)stacks[i]).get(0)).stackSize;
+ stacks[i] = new ArrayList<>();
+ ((ArrayList)stacks[i]).add(replacement[0].splitStack(amount));
+ replaced = true;
+ }
+
+ } else
+ continue;
+ } else if (GT_Utility.areStacksEqual(stack, (ItemStack) stacks[i], true))
+ if (!replace)
+ return true;
+ else {
+ int amount = ((ItemStack) stacks[i]).stackSize;
+ stacks[i] = replacement[0].splitStack(amount);
+ replaced = true;
+ }
+ }
+ return replaced;
+ }
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java
index 5ef10a1343..c3e8397117 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/PlatinumSludgeOverHaul.java
@@ -30,22 +30,32 @@ import com.github.bartimaeusnek.crossmod.BartWorksCrossmod;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.ISubTagContainer;
+import gregtech.api.items.GT_Generic_Block;
+import gregtech.api.items.GT_Generic_Item;
+import gregtech.api.objects.ItemData;
import gregtech.api.objects.MaterialStack;
-import gregtech.api.util.*;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.common.blocks.GT_Block_Ores_Abstract;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
-import net.minecraft.item.crafting.CraftingManager;
-import net.minecraft.item.crafting.FurnaceRecipes;
-import net.minecraft.item.crafting.IRecipe;
+import net.minecraft.item.crafting.*;
import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.oredict.ShapedOreRecipe;
+import net.minecraftforge.oredict.ShapelessOreRecipe;
import org.apache.commons.lang3.reflect.FieldUtils;
+import java.lang.reflect.Array;
import java.lang.reflect.Field;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.*;
import static gregtech.api.enums.OrePrefixes.*;
@@ -59,11 +69,14 @@ public class PlatinumSludgeOverHaul {
Materials.get("Tetranaquadahdiindiumhexaplatiumosminid"),
Materials.get("Longasssuperconductornameforuvwire"),
};
+ private static final OrePrefixes[] OPBLACKLIST = {
+ crushedCentrifuged,crushed,crushedPurified,dustPure,dustImpure,dustRefined,dust,dustTiny,dustSmall
+ };
private PlatinumSludgeOverHaul() {
}
- public static void runHelperrecipes() {
+ private static void runHelperrecipes() {
//DilutedSulfuricAcid
GT_Values.RA.addMixerRecipe(Materials.SulfuricAcid.getCells(3), Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1), null, null, null, Materials.DilutedSulfuricAcid.getCells(4), 30, 30);
GT_Values.RA.addMixerRecipe(Materials.Water.getCells(1), GT_Utility.getIntegratedCircuit(1), null, null, Materials.SulfuricAcid.getFluid(3000), Materials.DilutedSulfuricAcid.getFluid(4000), Materials.Empty.getCells(1), 30, 30);
@@ -83,22 +96,22 @@ public class PlatinumSludgeOverHaul {
GT_Values.RA.addChemicalRecipe(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1), Materials.Ammonia.getGas(1000), AmmoniumChloride.getFluidOrGas(1000), Materials.Empty.getCells(1), null, 15);
//base sollution
- for (Werkstoff w : Werkstoff.werkstoffHashMap.values())
+ for (Werkstoff w : Werkstoff.werkstoffHashSet)
if (w.containsStuff(Materials.Sulfur) && (w.containsStuff(Materials.Copper) || w.containsStuff(Materials.Nickel))) {
GT_Values.RA.addChemicalRecipe(w.get(crushedPurified), GT_Utility.getIntegratedCircuit(1), AquaRegia.getFluidOrGas(150), PTConcentrate.getFluidOrGas(150), null, 250);
- GT_Values.RA.addChemicalRecipe(w.get(crushedPurified), PTMetallicPowder.get(dust), AquaRegia.getFluidOrGas(1150), PTConcentrate.getFluidOrGas(1150), PTResidue.get(dustTiny, 2), 250);
+ GT_Values.RA.addChemicalRecipe(w.get(crushedPurified), PTMetallicPowder.get(dust), AquaRegia.getFluidOrGas(1150), PTConcentrate.getFluidOrGas(1150), PTResidue.get(dustTiny), 250);
}
for (Materials m : Materials.values())
if (PlatinumSludgeOverHaul.materialsContains(m, Materials.Sulfur) && (PlatinumSludgeOverHaul.materialsContains(m, Materials.Copper) || PlatinumSludgeOverHaul.materialsContains(m, Materials.Nickel))) {
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(crushedPurified, m, 1), GT_Utility.getIntegratedCircuit(1), AquaRegia.getFluidOrGas(150), PTConcentrate.getFluidOrGas(150), null, 250);
- GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(crushedPurified, m, 1), PTMetallicPowder.get(dust), AquaRegia.getFluidOrGas(1150), PTConcentrate.getFluidOrGas(1150), PTResidue.get(dustTiny, 2), 250);
+ GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(crushedPurified, m, 1), PTMetallicPowder.get(dust), AquaRegia.getFluidOrGas(1150), PTConcentrate.getFluidOrGas(1150), PTResidue.get(dustTiny), 250);
}
//Pt
GT_Values.RA.addBlastRecipe(PTMetallicPowder.get(dust, 3), GT_Utility.getIntegratedCircuit(1), null, null, Materials.Platinum.getNuggets(2), null, 600, 120, Materials.Platinum.mMeltingPoint);
- GT_Values.RA.addChemicalRecipe(PTMetallicPowder.get(dust), GT_Utility.getIntegratedCircuit(1), AquaRegia.getFluidOrGas(2000), PTConcentrate.getFluidOrGas(2000), PTResidue.get(dustTiny, 2), 250);
- GT_Values.RA.addCentrifugeRecipe(PTConcentrate.get(cell), null, AmmoniumChloride.getFluidOrGas(100), PDAmmonia.getFluidOrGas(100), PTSaltCrude.get(dustTiny, 8), PTRawPowder.get(dustTiny), Materials.Empty.getCells(1), null, null, null, null, 600, 30);
- GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{}, new FluidStack[]{PTConcentrate.getFluidOrGas(1000), AmmoniumChloride.getFluidOrGas(100)}, new FluidStack[]{PDAmmonia.getFluidOrGas(100)}, new ItemStack[]{PTSaltCrude.get(dustTiny, 8), PTRawPowder.get(dustTiny)}, 600, 30);
+ GT_Values.RA.addChemicalRecipe(PTMetallicPowder.get(dust), GT_Utility.getIntegratedCircuit(1), AquaRegia.getFluidOrGas(1000), PTConcentrate.getFluidOrGas(1000), PTResidue.get(dustTiny), 250);
+ GT_Values.RA.addCentrifugeRecipe(PTConcentrate.get(cell,2),null, AmmoniumChloride.getFluidOrGas(200), PDAmmonia.getFluidOrGas(200), PTSaltCrude.get(dustTiny, 18), PTRawPowder.get(dustTiny,2), Materials.NitrogenDioxide.getCells(1), Materials.DilutedSulfuricAcid.getCells(1), null, null, null, 1200, 30);
+ GT_Values.RA.addMultiblockChemicalRecipe(new ItemStack[]{}, new FluidStack[]{PTConcentrate.getFluidOrGas(2000), AmmoniumChloride.getFluidOrGas(200)}, new FluidStack[]{PDAmmonia.getFluidOrGas(200), Materials.NitrogenDioxide.getGas(1000),Materials.DilutedSulfuricAcid.getFluid(1000)}, new ItemStack[]{PTSaltCrude.get(dustTiny, 16), PTRawPowder.get(dustTiny,2)}, 1200, 30);
GT_Values.RA.addSifterRecipe(PTSaltCrude.get(dust), new ItemStack[]{
PTSaltRefined.get(dust),
PTSaltRefined.get(dust),
@@ -162,7 +175,7 @@ public class PlatinumSludgeOverHaul {
GT_Values.RA.addChemicalRecipe(IridiumChloride.get(dust), Materials.Calcium.getDust(3), null, CalciumChloride.getFluidOrGas(3000), PGSDResidue2.get(dust), Materials.Iridium.getDust(1), 300, 1920);
//Rh
- GT_Values.RA.addChemicalRecipe(RHSulfate.get(cell, 11), GT_Utility.getIntegratedCircuit(1), Materials.Water.getFluid(10000), Materials.Potassium.getMolten(288), RHSulfateSolution.get(cell, 11), LeachResidue.get(dustTiny, 10), 300, 30);
+ GT_Values.RA.addChemicalRecipe(RHSulfate.get(cell, 11), GT_Utility.getIntegratedCircuit(1), Materials.Water.getFluid(10000), Materials.Potassium.getMolten(1999), RHSulfateSolution.get(cell, 11), LeachResidue.get(dustTiny, 10), 300, 30);
GT_Values.RA.addChemicalRecipe(Materials.Zinc.getDust(1), null, RHSulfateSolution.getFluidOrGas(1000), null, ZincSulfate.get(dust), CrudeRhMetall.get(dust), 300);
GT_Values.RA.addBlastRecipe(CrudeRhMetall.get(dust), Materials.Salt.getDust(1), Materials.Chlorine.getGas(1000), null, RHSalt.get(dust, 3), null, 300, 120, 600);
@@ -196,33 +209,35 @@ public class PlatinumSludgeOverHaul {
}
public static void replacePureElements() {
+ //furnace
for (Object entry : FurnaceRecipes.smelting().getSmeltingList().entrySet()) {
Map.Entry realEntry = (Map.Entry) entry;
if (GT_Utility.isStackValid(realEntry.getKey()) && BW_Util.checkStackAndPrefix((ItemStack) realEntry.getKey()))
if ((!GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getKey()).mPrefix.equals(dust) && !GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getKey()).mPrefix.equals(dustTiny)) || !GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getKey()).mMaterial.mMaterial.equals(Materials.Platinum))
- if (GT_Utility.isStackValid(realEntry.getValue()) && BW_Util.checkStackAndPrefix((ItemStack) realEntry.getValue()))
- if (GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getValue()).mMaterial.mMaterial.equals(Materials.Platinum))
- realEntry.setValue(PTMetallicPowder.get(dust, ((ItemStack) realEntry.getValue()).stackSize * 2));
- else if (GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getValue()).mMaterial.mMaterial.equals(Materials.Palladium))
- realEntry.setValue(PDMetallicPowder.get(dust, ((ItemStack) realEntry.getValue()).stackSize * 2));
- }
-
- for (Object obj : CraftingManager.getInstance().getRecipeList()) {
- PlatinumSludgeOverHaul.setnewMaterialInRecipe(obj);
+ if (GT_Utility.isStackValid(realEntry.getValue()) && BW_Util.checkStackAndPrefix((ItemStack) realEntry.getValue())){
+ ItemData ass = GT_OreDictUnificator.getAssociation((ItemStack) realEntry.getValue());
+ if (ass.mMaterial.mMaterial.equals(Materials.Platinum))
+ if (!PlatinumSludgeOverHaul.isInBlackList((ItemStack) realEntry.getKey()))
+ realEntry.setValue(PTMetallicPowder.get(ass.mPrefix == nugget ? dustTiny : dust, ((ItemStack) realEntry.getValue()).stackSize * 2));
+ else if (ass.mMaterial.mMaterial.equals(Materials.Palladium))
+ if (!PlatinumSludgeOverHaul.isInBlackList((ItemStack) realEntry.getKey()))
+ realEntry.setValue(PDMetallicPowder.get(ass.mPrefix == nugget ? dustTiny : dust, ((ItemStack) realEntry.getValue()).stackSize * 2));
+ }
}
+ //vanilla crafting
+ CraftingManager.getInstance().getRecipeList().forEach(PlatinumSludgeOverHaul::setnewMaterialInRecipe);
+ //gt crafting
try {
- for (Object obj : (List<IRecipe>) FieldUtils.getDeclaredField(GT_ModHandler.class, "sBufferRecipeList", true).get(null)) {
- PlatinumSludgeOverHaul.setnewMaterialInRecipe(obj);
- }
+ ((List<IRecipe>) FieldUtils.getDeclaredField(GT_ModHandler.class, "sBufferRecipeList", true).get(null)).forEach(PlatinumSludgeOverHaul::setnewMaterialInRecipe);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
-
+ //gt machines
maploop:
for (GT_Recipe.GT_Recipe_Map map : GT_Recipe.GT_Recipe_Map.sMappings) {
if (map == GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes || map == GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes)
continue;
- HashSet toDel = new HashSet();
+ HashSet<GT_Recipe> toDel = new HashSet<GT_Recipe>();
recipeloop:
for (GT_Recipe recipe : map.mRecipeList) {
if (recipe.mFakeRecipe)
@@ -303,13 +318,13 @@ public class PlatinumSludgeOverHaul {
}
if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dust) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustImpure) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustPure)) {
int amount = recipe.mOutputs[i].stackSize;
- recipe.mOutputs[i] = PTMetallicPowder.get(dust).splitStack(amount * 8);
+ recipe.mOutputs[i] = IrOsLeachResidue.get(dust).splitStack(amount);
} else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustSmall)) {
int amount = recipe.mOutputs[i].stackSize;
- recipe.mOutputs[i] = PTMetallicPowder.get(dustSmall).splitStack(amount * 8);
+ recipe.mOutputs[i] = IrOsLeachResidue.get(dustSmall).splitStack(amount);
} else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustTiny)) {
int amount = recipe.mOutputs[i].stackSize;
- recipe.mOutputs[i] = PTMetallicPowder.get(dustTiny).splitStack(amount * 8);
+ recipe.mOutputs[i] = IrOsLeachResidue.get(dustTiny).splitStack(amount);
}
} else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mMaterial.mMaterial.equals(Materials.Iridium)) {
for (int j = 0; j < recipe.mInputs.length; j++) {
@@ -318,64 +333,189 @@ public class PlatinumSludgeOverHaul {
}
if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dust) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustImpure) || GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustPure)) {
int amount = recipe.mOutputs[i].stackSize;
- recipe.mOutputs[i] = PTMetallicPowder.get(dust).splitStack(amount * 4);
+ recipe.mOutputs[i] = IrLeachResidue.get(dust).splitStack(amount);
} else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustSmall)) {
int amount = recipe.mOutputs[i].stackSize;
- recipe.mOutputs[i] = PTMetallicPowder.get(dustSmall).splitStack(amount * 4);
+ recipe.mOutputs[i] = IrLeachResidue.get(dustSmall).splitStack(amount);
} else if (GT_OreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix.equals(dustTiny)) {
int amount = recipe.mOutputs[i].stackSize;
- recipe.mOutputs[i] = PTMetallicPowder.get(dustTiny).splitStack(amount * 4);
+ recipe.mOutputs[i] = IrLeachResidue.get(dustTiny).splitStack(amount);
}
}
}
}
map.mRecipeList.removeAll(toDel);
}
+ //TODO: remove EnderIO recipes
+
+ //fix HV tier
+ PlatinumSludgeOverHaul.replaceHVCircuitMaterials();
+ //add new recipes
PlatinumSludgeOverHaul.runHelperrecipes();
}
+ private static void replaceHVCircuitMaterials(){
+ GT_Values.RA.addMixerRecipe(Materials.Redstone.getDust(1),Materials.Electrum.getDust(1),GT_Utility.getIntegratedCircuit(1),null,null,null,Materials.Nikolite.getDust(8),1800,120);
+ for (GT_Recipe recipe : GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes.mRecipeList){
+ if (recipe.mEUt > 512)
+ continue;
+ if (BW_Util.checkStackAndPrefix(recipe.mOutputs[0])) {
+ for (int i = 0; i < recipe.mInputs.length; i++) {
+ ItemStack stack = recipe.mInputs[i];
+ ItemData ass = GT_OreDictUnificator.getAssociation(stack);
+ if (BW_Util.checkStackAndPrefix(stack) && ass.mMaterial.mMaterial.equals(Materials.Platinum)) {
+ recipe.mInputs[i] = GT_OreDictUnificator.get(ass.mPrefix,Materials.BlueAlloy,stack.stackSize);
+ }
+ }
+ }
+ }
+ }
+
private static void setnewMaterialInRecipe(Object obj) {
- if (!(obj instanceof GT_Shaped_Recipe))
- return;
- GT_Shaped_Recipe recipe = (GT_Shaped_Recipe) obj;
+ String inputName = "output";
+ String inputItemName = "input";
+ if (!(obj instanceof ShapedOreRecipe || obj instanceof ShapelessOreRecipe)){
+ if (obj instanceof ShapedRecipes || (obj instanceof ShapelessRecipes)) {
+ inputName = "recipeOutput";
+ inputItemName = "recipeItems";
+ }
+ else if (Loader.isModLoaded("miscutils")) {
+ try {
+ if (Class.forName("gtPlusPlus.api.objects.minecraft.ShapedRecipe").isAssignableFrom(obj.getClass()))
+ obj = FieldUtils.getField(obj.getClass(),"mRecipe",true).get(obj);
+ } catch (ClassNotFoundException | IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ IRecipe recipe = (IRecipe) obj;
ItemStack otpt = recipe.getRecipeOutput();
- if (!BW_Util.checkStackAndPrefix(otpt))
+
+ Field out = FieldUtils.getDeclaredField(recipe.getClass(), inputName, true);
+ if (out == null)
+ out = FieldUtils.getField(recipe.getClass(), inputName, true);
+
+
+ Field in = FieldUtils.getDeclaredField(recipe.getClass(), inputItemName, true);
+ if (in == null)
+ in = FieldUtils.getField(recipe.getClass(), inputItemName, true);
+ if (in == null)
return;
- Field out = FieldUtils.getDeclaredField(recipe.getClass(), "output", true);
+ FieldUtils.removeFinalModifier(in,true);
+ Object input = null;
+ try {
+ input = in.get(obj);
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ return;
+ }
+ assert input != null;
+
if (out != null && GT_Utility.areStacksEqual(otpt, Materials.Platinum.getDust(1), true)) {
+ if (PlatinumSludgeOverHaul.checkRecipe(input,Materials.Platinum))
+ return;
try {
out.set(recipe, PTMetallicPowder.get(dust, otpt.stackSize * 2));
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} else if (out != null && GT_Utility.areStacksEqual(otpt, Materials.Palladium.getDust(1), true)) {
+ if (PlatinumSludgeOverHaul.checkRecipe(input,Materials.Palladium))
+ return;
try {
out.set(recipe, PDMetallicPowder.get(dust, otpt.stackSize * 2));
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} else if (out != null && GT_Utility.areStacksEqual(otpt, Materials.Iridium.getDust(1), true)) {
+ if (PlatinumSludgeOverHaul.checkRecipe(input,Materials.Iridium))
+ return;
try {
- out.set(recipe, PTMetallicPowder.get(dust, otpt.stackSize * 4));
+ out.set(recipe, IrLeachResidue.get(dust, otpt.stackSize));
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} else if (out != null && GT_Utility.areStacksEqual(otpt, Materials.Osmium.getDust(1), true)) {
+ if (PlatinumSludgeOverHaul.checkRecipe(input,Materials.Osmium))
+ return;
try {
- out.set(recipe, PTMetallicPowder.get(dust, otpt.stackSize * 8));
+ out.set(recipe, IrOsLeachResidue.get(dust, otpt.stackSize));
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
+ private static boolean checkRecipe(Object input,Materials mat){
+ if (input instanceof List || input instanceof Object[]) {
+ Set lists = new HashSet(), stacks= new HashSet();
+ List ip = input instanceof List ? (List)input : new ArrayList();
+ Object[] ip2 = input instanceof Object[] ? (Object[])input : new Object[0];
+
+ for (Object o : ip){
+ if (o instanceof List)
+ lists.add(o);
+ else if (o instanceof ItemStack)
+ stacks.add(o);
+ }
+ for (Object o : ip2){
+ if (o instanceof List)
+ lists.add(o);
+ else if (o instanceof ItemStack)
+ stacks.add(o);
+ }
+
+ for (Object o : lists) {
+ if (!((List) o).isEmpty())
+ stacks.add(((List) o).get(0));
+ }
+
+ for (Object stack : stacks) {
+ if (stack instanceof ItemStack) {
+ if (GT_Utility.areStacksEqual(GT_OreDictUnificator.get(crateGtDust, mat, 1), (ItemStack) stack))
+ return true;
+ }
+ }
+
+ boolean allSame = false;
+ for (Object stack : stacks) {
+ if (stack instanceof ItemStack) {
+ allSame = BW_Util.checkStackAndPrefix((ItemStack) stack) && GT_OreDictUnificator.getAssociation((ItemStack) stack).mMaterial.mMaterial.equals(mat);
+ } else {
+ allSame = false;
+ break;
+ }
+ if (!allSame)
+ break;
+ }
+ return allSame;
+ }
+ return false;
+ }
+
private static boolean isInBlackList(ItemStack stack) {
if (stack.getItem() instanceof BW_MetaGenerated_Items)
return true;
+
if (GameRegistry.findUniqueIdentifierFor(stack.getItem()).modId.equals(MainMod.MOD_ID))
return true;
+
if (GameRegistry.findUniqueIdentifierFor(stack.getItem()).modId.equals(BartWorksCrossmod.MOD_ID))
return true;
+
+ if (Block.getBlockFromItem(stack.getItem()) instanceof GT_Generic_Block && !(Block.getBlockFromItem(stack.getItem()) instanceof GT_Block_Ores_Abstract))
+ return true;
+
+ if (stack.getItem() instanceof GT_Generic_Item) {
+ if (!BW_Util.checkStackAndPrefix(stack))
+ return false;
+ return (!Arrays.asList(PlatinumSludgeOverHaul.OPBLACKLIST).contains(GT_OreDictUnificator.getAssociation(stack).mPrefix)) || Arrays.asList(PlatinumSludgeOverHaul.BLACKLIST).contains(GT_OreDictUnificator.getAssociation(stack).mMaterial.mMaterial);
+ }
+
+ if (GT_Utility.areStacksEqual(ItemList.Depleted_Naquadah_1.get(1),stack,true) || GT_Utility.areStacksEqual(ItemList.Depleted_Naquadah_2.get(1),stack,true) || GT_Utility.areStacksEqual(ItemList.Depleted_Naquadah_4.get(1),stack,true))
+ return true;
+
if (Loader.isModLoaded("miscutils")) {
try {
if (Class.forName("gtPlusPlus.core.item.base.BaseItemComponent").isAssignableFrom(stack.getItem().getClass()) && !(stack.getUnlocalizedName().contains("dust") || stack.getUnlocalizedName().contains("Dust")))
@@ -386,12 +526,10 @@ public class PlatinumSludgeOverHaul {
e.printStackTrace();
}
}
+
if (!BW_Util.checkStackAndPrefix(stack))
return false;
- for (Materials m : PlatinumSludgeOverHaul.BLACKLIST) {
- if (GT_OreDictUnificator.getAssociation(stack).mMaterial.mMaterial.equals(m))
- return true;
- }
- return false;
+
+ return Arrays.asList(PlatinumSludgeOverHaul.BLACKLIST).contains(GT_OreDictUnificator.getAssociation(stack).mMaterial.mMaterial);
}
} \ No newline at end of file
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/oregen/BW_WorldGenRoss128b.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/oregen/BW_WorldGenRoss128b.java
index 1dc9e080c4..08e26b4075 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/oregen/BW_WorldGenRoss128b.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/oregen/BW_WorldGenRoss128b.java
@@ -54,7 +54,7 @@ public class BW_WorldGenRoss128b extends BW_OreLayer {
new BW_WorldGenRoss128b("ore.mix.ross128.CopperSulfits", true, 40, 70, 80, 3, 24, Djurleit, Bornite, Wittichenit, Tetrahedrite);
new BW_WorldGenRoss128b("ore.mix.ross128.Forsterit", true, 20, 90, 50, 2, 32, Forsterit, Fayalit, DescloiziteCUVO4, DescloiziteZNVO4);
new BW_WorldGenRoss128b("ore.mix.ross128.Hedenbergit", true, 20, 90, 50, 2, 32, Hedenbergit, Fayalit, DescloiziteCUVO4, DescloiziteZNVO4);
- new BW_WorldGenRoss128b("ore.mix.ross128.RedZircon", true, 10, 80, 40, 3, 24, Fayalit,FuchsitAL , RedZircon,FuchsitCR);
+ new BW_WorldGenRoss128b("ore.mix.ross128.RedZircon", true, 10, 80, 40, 3, 24, Fayalit, FuchsitAL, RedZircon, FuchsitCR);
}
public static void init_undergroundFluidsRoss128() {
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/oregen/BW_WorldGenRoss128ba.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/oregen/BW_WorldGenRoss128ba.java
index 87158bf01e..ebe2f69dce 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/oregen/BW_WorldGenRoss128ba.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/oregen/BW_WorldGenRoss128ba.java
@@ -28,7 +28,9 @@ import gregtech.api.util.GT_ModHandler;
import net.minecraft.block.Block;
import net.minecraft.util.StatCollector;
+import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.*;
import static com.github.bartimaeusnek.crossmod.galacticraft.GalacticraftProxy.uo_dimensionList;
+import static gregtech.api.enums.Materials.*;
public class BW_WorldGenRoss128ba extends BW_OreLayer {
@@ -42,7 +44,9 @@ public class BW_WorldGenRoss128ba extends BW_OreLayer {
}
public static void init_OresRoss128ba() {
- //none
+ new BW_WorldGenRoss128b("ore.mix.ross128ba.tib", true, 30, 60, 6, 1, 16, Tiberium, Naquadah, NaquadahEnriched, NaquadahEnriched);
+ new BW_WorldGenRoss128b("ore.mix.ross128.Tungstate", true, 5, 40, 10, 4, 14, Ferberite, Huebnerit, Loellingit, Scheelite);
+
}
public static void init_undergroundFluidsRoss128ba() {