aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/reliquary/util
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-08-12 20:48:13 +0100
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-08-12 20:48:13 +0100
commit800119d6a1e75ffd0201a9dfc44c53a7604a9f37 (patch)
treecf24750911b3325dba459dc76f19684c15fb535d /src/Java/gtPlusPlus/xmod/reliquary/util
parent36cae46b02a783e2ef4887b614934b4df72bcf5a (diff)
downloadGT5-Unofficial-800119d6a1e75ffd0201a9dfc44c53a7604a9f37.tar.gz
GT5-Unofficial-800119d6a1e75ffd0201a9dfc44c53a7604a9f37.tar.bz2
GT5-Unofficial-800119d6a1e75ffd0201a9dfc44c53a7604a9f37.zip
+ Added Reliquary support.
$ Fixed #527. $ Fixed Sugar Coke Recipe.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/reliquary/util')
-rw-r--r--src/Java/gtPlusPlus/xmod/reliquary/util/AlkahestRecipeWrapper.java47
-rw-r--r--src/Java/gtPlusPlus/xmod/reliquary/util/ReliquaryRecipeHandler.java57
2 files changed, 104 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/xmod/reliquary/util/AlkahestRecipeWrapper.java b/src/Java/gtPlusPlus/xmod/reliquary/util/AlkahestRecipeWrapper.java
new file mode 100644
index 0000000000..6086b74ec4
--- /dev/null
+++ b/src/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/Java/gtPlusPlus/xmod/reliquary/util/ReliquaryRecipeHandler.java b/src/Java/gtPlusPlus/xmod/reliquary/util/ReliquaryRecipeHandler.java
new file mode 100644
index 0000000000..b79a4f45a5
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/reliquary/util/ReliquaryRecipeHandler.java
@@ -0,0 +1,57 @@
+package gtPlusPlus.xmod.reliquary.util;
+
+import static gtPlusPlus.core.lib.CORE.GTNH;
+
+import gregtech.api.enums.GT_Values;
+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 (GT_Values.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.");
+
+ }
+}