diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2019-08-12 20:48:13 +0100 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2019-08-12 20:48:13 +0100 |
commit | 800119d6a1e75ffd0201a9dfc44c53a7604a9f37 (patch) | |
tree | cf24750911b3325dba459dc76f19684c15fb535d /src/Java/gtPlusPlus/xmod/reliquary/util | |
parent | 36cae46b02a783e2ef4887b614934b4df72bcf5a (diff) | |
download | GT5-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.java | 47 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/xmod/reliquary/util/ReliquaryRecipeHandler.java | 57 |
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."); + + } +} |