aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/reliquary/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/reliquary/util')
-rw-r--r--src/main/java/gtPlusPlus/xmod/reliquary/util/AlkahestRecipeWrapper.java47
-rw-r--r--src/main/java/gtPlusPlus/xmod/reliquary/util/ReliquaryRecipeHandler.java56
2 files changed, 103 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/reliquary/util/AlkahestRecipeWrapper.java b/src/main/java/gtPlusPlus/xmod/reliquary/util/AlkahestRecipeWrapper.java
new file mode 100644
index 0000000000..6086b74ec4
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/reliquary/util/AlkahestRecipeWrapper.java
@@ -0,0 +1,47 @@
+package gtPlusPlus.xmod.reliquary.util;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import net.minecraft.item.ItemStack;
+
+public class AlkahestRecipeWrapper {
+ public ItemStack item = null;
+ public int yield = 0;
+ public int cost = 0;
+ public String dictionaryName = null;
+
+ public AlkahestRecipeWrapper(ItemStack par1, int par2, int par3) {
+ this.item = par1;
+ this.yield = par2;
+ this.cost = par3;
+ }
+
+ public AlkahestRecipeWrapper(String par1, int par2, int par3) {
+ this.dictionaryName = par1;
+ this.yield = par2;
+ this.cost = par3;
+ }
+
+ public Object getOriginalRecipe() {
+ try {
+ Constructor<?> o;
+ if (dictionaryName == null) {
+ o = ReflectionUtils.getClass("xreliquary.util.alkahestry.AlkahestRecipe").getConstructor(ItemStack.class, int.class, int.class);
+ }
+ else {
+ o = ReflectionUtils.getClass("xreliquary.util.alkahestry.AlkahestRecipe").getConstructor(String.class, int.class, int.class);
+ }
+
+ Object r = o.newInstance(dictionaryName == null ? item : dictionaryName, yield, cost);
+ if (r != null) {
+ return r;
+ }
+
+ } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+ // oops
+ }
+ return null;
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gtPlusPlus/xmod/reliquary/util/ReliquaryRecipeHandler.java b/src/main/java/gtPlusPlus/xmod/reliquary/util/ReliquaryRecipeHandler.java
new file mode 100644
index 0000000000..1133e67fe6
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/reliquary/util/ReliquaryRecipeHandler.java
@@ -0,0 +1,56 @@
+package gtPlusPlus.xmod.reliquary.util;
+
+import static gtPlusPlus.core.lib.CORE.GTNH;
+
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_ModHandler;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.recipe.common.CI;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.reliquary.item.ReliquaryItems;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+public class ReliquaryRecipeHandler {
+
+ public static boolean removeAlkahestRecipe(ItemStack aOutput) {
+ return false;
+ }
+
+ public static boolean addAlkahestRecipe(ItemStack[] aInputs, ItemStack aOutput) {
+ if (aInputs == null || aInputs.length <= 0 || aInputs.length > 9) {
+ return false;
+ }
+ return false;
+ }
+
+ public static void gregifyDefaultRecipes() {
+ Logger.INFO("Gregifying Reliquary recipes.");
+ if (GT_ModHandler.removeRecipeByOutput(ReliquaryItems.glowingWater())) {
+ Logger.INFO("Removing recipe for Glowing Water.");
+ }
+ if (GT_ModHandler.removeRecipeByOutput(ReliquaryItems.emptyVoidTear())) {
+ Logger.INFO("Removing recipe for Empty Void Tears.");
+ }
+ if (GT_ModHandler.removeRecipeByOutput(ReliquaryItems.emperorChalice())) {
+ Logger.INFO("Removing recipe for the Emperor Chalice.");
+ }
+ if (GT_ModHandler.removeRecipeByOutput(ReliquaryItems.infernalChalice())) {
+ Logger.INFO("Removing recipe for the Infernal Chalice.");
+ }
+ Logger.INFO("Finished removing original recipes.");
+
+ // Add new recipes
+ if (CORE.RA.addChemicalRecipe(ALLOY.ENERGYCRYSTAL.getDust(4), ReliquaryItems.emptyVial(), FluidUtils.getHotWater(2000), null, ReliquaryItems.glowingWater(), 20 * 30, 500)) {
+ Logger.INFO("Added new recipe for Glowing Water.");
+ }
+ if (CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {ItemUtils.simpleMetaStack(Items.ender_eye, 0, 32), CI.getFieldGenerator(5, GTNH ? 8 : 4), CI.getTieredComponent(OrePrefixes.plate, 5, GTNH ? 16 : 8), CI.getEmitter(3, 20)}, FluidUtils.getUUM(50), ReliquaryItems.emptyVoidTear(), 20 * 2000, 2000)){
+ Logger.INFO("Added new recipe for Empty Void Tears.");
+ }
+ Logger.INFO("Finished adding new recipes.");
+
+ }
+}