aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util/minecraft
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-12-12 19:09:46 +0100
committerGitHub <noreply@github.com>2021-12-12 19:09:46 +0100
commit896143b96132f5ac54aa8d8f7386f27487e5e530 (patch)
treed61c1bced93b36545873414562b1dfd80718f496 /src/Java/gtPlusPlus/core/util/minecraft
parent9cbfc7a1bacdbe908632e0fff9ec5ad7f119e563 (diff)
parent35585d4556d85a1a9cda33cdd39b5b257e3e5215 (diff)
downloadGT5-Unofficial-896143b96132f5ac54aa8d8f7386f27487e5e530.tar.gz
GT5-Unofficial-896143b96132f5ac54aa8d8f7386f27487e5e530.tar.bz2
GT5-Unofficial-896143b96132f5ac54aa8d8f7386f27487e5e530.zip
Merge pull request #50 from GTNewHorizons/gtnh-milling
Milling/Nuclear Sciences revamp + Lots of minor fixes
Diffstat (limited to 'src/Java/gtPlusPlus/core/util/minecraft')
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java38
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java49
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java7
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java40
4 files changed, 102 insertions, 32 deletions
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java
index 758ec8bab0..a6bd50ff17 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java
@@ -175,7 +175,7 @@ public class FluidUtils {
}
public static Fluid addGTFluid(final String aName, final String aLocalized, final short[] aRGBa, final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, final int aFluidAmount, final boolean aGenerateCell) {
- return addGTFluid("molten."+aName, "molten.autogenerated", aLocalized, aRGBa, aState, aTemperatureK, aFullContainer, aEmptyContainer, aFluidAmount, aGenerateCell);
+ return addGTFluid("molten."+aName, "fluid.autogenerated", aLocalized, aRGBa, aState, aTemperatureK, aFullContainer, aEmptyContainer, aFluidAmount, aGenerateCell);
}
public static Fluid addGTFluidNonMolten(final String aName, final String aLocalized, final short[] aRGBa, final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, final int aFluidAmount, final boolean aGenerateCell) {
@@ -232,6 +232,7 @@ public class FluidUtils {
public static Fluid addGTFluid(String aName, final String aTexture, final String aLocalized, final short[] aRGBa, final int aState, final long aTemperatureK, ItemStack aFullContainer, final ItemStack aEmptyContainer, final int aFluidAmount, final boolean aGenerateFilledCell) {
String aNameOriginal = aName;
+ Logger.INFO("Generating Fluid for "+aName);
aName = Utils.sanitizeString(aName.toLowerCase());
@@ -286,10 +287,28 @@ public class FluidUtils {
}
+ String aNameNonMolten = aLocalName.contains("Molten") ? aLocalName.replace("Molten", "") : aLocalName;
if (aFullContainer == null) {
- ItemStack oreStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+aName, 1);
- aFullContainer = oreStack;
+ ItemStack oreStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+aLocalName, 1);
+ aFullContainer = oreStack;
+ if (aFullContainer == null) {
+ oreStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+aNameOriginal, 1);
+ aFullContainer = oreStack;
+ if (aFullContainer == null) {
+ oreStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+aNameNonMolten, 1);
+ aFullContainer = oreStack;
+ if (aFullContainer != null) {
+ Logger.INFO("Found cell for "+aNameNonMolten);
+ }
+ }
+ else {
+ Logger.INFO("Found cell for "+aNameOriginal);
+ }
+ }
+ else {
+ Logger.INFO("Found cell for "+aLocalName);
+ }
}
Item tempCell = null;
@@ -304,7 +323,8 @@ public class FluidUtils {
aMatName = aMatName.replace("fluid.", "");
aMatName = aMatName.substring(0, 1).toUpperCase() + aMatName.substring(1);
}
- tempCell = new BaseItemComponent(aMatName, aLocalized, aRGBa);
+ Logger.INFO("Generating cell for "+aMatName+", "+aLocalName);
+ tempCell = new BaseItemComponent(aMatName, aLocalName, aRGBa);
aFullContainer = ItemUtils.getSimpleStack(tempCell);
}
@@ -563,11 +583,11 @@ public class FluidUtils {
return aFStack1 != null || aFStack2 != null || aFStack3 != null || aFStack4 != null || aFStack5 != null || aFStack6 != null;
}
- public static FluidStack getWildcardFluidStack(String aFluidName, int amount) {
- FluidStack aFStack1 = (FluidUtils.getFluidStack("molten"+"."+aFluidName.toLowerCase(), amount));
- FluidStack aFStack2 = (FluidUtils.getFluidStack("fluid"+"."+aFluidName.toLowerCase(), amount));
- FluidStack aFStack3 = (FluidUtils.getFluidStack(aFluidName.toLowerCase(), amount));
- FluidStack aFStack4 = (FluidUtils.getFluidStack(aFluidName, amount));
+ public static FluidStack getWildcardFluidStack(String aFluidName, int amount) {
+ FluidStack aFStack1 = (FluidUtils.getFluidStack(aFluidName, amount));
+ FluidStack aFStack2 = (FluidUtils.getFluidStack(aFluidName.toLowerCase(), amount));
+ FluidStack aFStack3 = (FluidUtils.getFluidStack("molten"+"."+aFluidName.toLowerCase(), amount));
+ FluidStack aFStack4 = (FluidUtils.getFluidStack("fluid"+"."+aFluidName.toLowerCase(), amount));
FluidStack aFStack5 = (FluidUtils.getFluidStack("liquid_"+aFluidName.toLowerCase(), amount));
FluidStack aFStack6 = (FluidUtils.getFluidStack("liquid"+"."+aFluidName.toLowerCase(), amount));
if (aFStack1 != null) {
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
index 1e282fb849..e96bd3391b 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
@@ -703,6 +703,44 @@ public class ItemUtils {
}
return sRadiation;
}
+
+ public static String getArrayStackNames(ArrayList<?> aStack) {
+ Object aType = aStack.get(0);
+ if (aType instanceof FluidStack) {
+ FluidStack[] aItems = new FluidStack[aStack.size()];
+ for (int i=0;i<aItems.length;i++) {
+ aItems[i] = (FluidStack) aStack.get(i);
+ }
+ return getArrayStackNames(aItems);
+ }
+ if (aType instanceof ItemStack) {
+ ItemStack[] aItems = new ItemStack[aStack.size()];
+ for (int i=0;i<aItems.length;i++) {
+ aItems[i] = (ItemStack) aStack.get(i);
+ }
+ return getArrayStackNames(aItems);
+ }
+ return "";
+ }
+
+ public static String getArrayStackNames(final AutoMap<?> aStack) {
+ Object aType = aStack.get(0);
+ if (aType instanceof FluidStack) {
+ FluidStack[] aItems = new FluidStack[aStack.size()];
+ for (int i=0;i<aItems.length;i++) {
+ aItems[i] = (FluidStack) aStack.get(i);
+ }
+ return getArrayStackNames(aItems);
+ }
+ if (aType instanceof ItemStack) {
+ ItemStack[] aItems = new ItemStack[aStack.size()];
+ for (int i=0;i<aItems.length;i++) {
+ aItems[i] = (ItemStack) aStack.get(i);
+ }
+ return getArrayStackNames(aItems);
+ }
+ return "";
+ }
public static String getArrayStackNames(final FluidStack[] aStack) {
String itemNames = "Fluid Array: ";
@@ -717,7 +755,7 @@ public class ItemUtils {
}
return itemNames;
}
-
+
public static String getArrayStackNames(final ItemStack[] aStack) {
String itemNames = "";
int aPos = 0;
@@ -913,10 +951,11 @@ public class ItemUtils {
}
public static ItemStack getErrorStack(int mAmount, String aName) {
- ItemStack g = getSimpleStack(ModItems.AAA_Broken, 1);
- NBTUtils.setString(g, "Lore", EnumChatFormatting.RED+aName);
+ ItemStack g = getSimpleStack(ModItems.AAA_Broken, 1);
if (aName != null) {
- NBTUtils.setBookTitle(g, EnumChatFormatting.YELLOW+"Maybe Alkalus should know about this");
+ //NBTUtils.setString(g, "Lore", EnumChatFormatting.RED+aName);
+ NBTUtils.setBookTitle(g, EnumChatFormatting.RED+aName);
+ //NBTUtils.setBookTitle(g, EnumChatFormatting.YELLOW+"Maybe Alkalus should know about this");
}
return g;
}
@@ -1375,6 +1414,6 @@ public class ItemUtils {
public static boolean areItemsEqual(ItemStack aStack1, ItemStack aStack2, boolean aIgnoreNBT) {
return GT_Utility.areStacksEqual(aStack1, aStack2, aIgnoreNBT);
- }
+ }
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
index 7e9e34ae47..0323bf0161 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
@@ -512,5 +512,12 @@ public class MaterialUtils {
return false;
}
+ public static boolean isNullGregtechMaterial(Materials aGregtechMaterial) {
+ if (aGregtechMaterial == Materials._NULL || aGregtechMaterial.equals(Materials._NULL) || aGregtechMaterial.name().equals(Materials._NULL.name())) {
+ return true;
+ }
+ return false;
+ }
+
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
index df64017ac0..da5bc071bc 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java
@@ -1,15 +1,18 @@
package gtPlusPlus.core.util.minecraft;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.common.FMLCommonHandler;
import gregtech.api.enums.Materials;
import gregtech.api.objects.ItemData;
-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_Recipe.GT_Recipe_Map;
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.GTplusplus;
import gtPlusPlus.api.interfaces.RunnableWithInfo;
import gtPlusPlus.api.objects.Logger;
@@ -21,7 +24,6 @@ import gtPlusPlus.core.handler.Recipes.RegistrationHandler;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.data.ArrayUtils;
-import gtPlusPlus.core.util.reflect.ReflectionUtils;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -348,16 +350,7 @@ public static int mInvalidID = 1;
if (gtPlusPlus.GTplusplus.CURRENT_LOAD_PHASE != GTplusplus.INIT_PHASE.POST_INIT) {
- Logger.RECIPE(ReflectionUtils.getMethodName(1));
- Logger.RECIPE(ReflectionUtils.getMethodName(2));
- Logger.RECIPE(ReflectionUtils.getMethodName(3));
- Logger.RECIPE(ReflectionUtils.getMethodName(4));
- Logger.RECIPE(ReflectionUtils.getMethodName(5));
- Logger.RECIPE(ReflectionUtils.getMethodName(6));
- Logger.RECIPE(ReflectionUtils.getMethodName(7));
- Logger.RECIPE(ReflectionUtils.getMethodName(8));
- Logger.RECIPE(ReflectionUtils.getMethodName(9));
- FMLCommonHandler.instance().exitJava(1, true);
+ CORE.crash("Load Phase "+gtPlusPlus.GTplusplus.CURRENT_LOAD_PHASE+" should be "+GTplusplus.INIT_PHASE.POST_INIT+". Unable to register recipe.");
}
@@ -418,6 +411,20 @@ public static int mInvalidID = 1;
}
return false;
}
+
+ public static boolean addShapelessGregtechRecipe(
+ final Object InputItem1, final Object InputItem2, final Object InputItem3,
+ final Object InputItem4, final Object InputItem5, final Object InputItem6,
+ final Object InputItem7, final Object InputItem8, final Object InputItem9,
+ final ItemStack OutputItem){
+
+ Object[] inputItems = {
+ InputItem1, InputItem2, InputItem3,
+ InputItem4, InputItem5, InputItem6,
+ InputItem7, InputItem8, InputItem9
+ };
+ return addShapelessGregtechRecipe(inputItems, OutputItem);
+ }
public static boolean addShapelessGregtechRecipe(final Object[] inputItems, final ItemStack OutputItem){
//Catch Invalid Recipes
@@ -492,10 +499,7 @@ public static int mInvalidID = 1;
result.put("Is Enabled? "+m.mEnabled);
result.put("Special Value: "+m.mSpecialValue);
result.put("=====================================");
- String s[] = new String[result.size()];
- for (int i=0;i<result.size();i++) {
- s[i] = result.get(i);
- }
+ String s[] = result.toArray();
return s;
}
@@ -729,7 +733,7 @@ public static int mInvalidID = 1;
Logger.INFO("Data Size: "+aDataObject.length);
aDataObject = ArrayUtils.removeNulls(aDataObject);
Logger.INFO("Clean Size: "+aDataObject.length);
- Logger.INFO("ArrayData: "+aDataObject.toString());
+ Logger.INFO("ArrayData: "+Arrays.toString(aDataObject));
ShapedOreRecipe aRecipe = new ShapedOreRecipe(aOutputStack, aDataObject);