diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-09-15 04:13:53 +1000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-09-15 04:13:53 +1000 |
commit | 574e4b81f86a2929f04e685404d9b2fb9d82759b (patch) | |
tree | a7ab7fb8914e8432ff7650d58d5c7bccd080131c /src/Java | |
parent | 4fc2ffe7fb21a67f5827e0250ce1dd4f50155579 (diff) | |
download | GT5-Unofficial-574e4b81f86a2929f04e685404d9b2fb9d82759b.tar.gz GT5-Unofficial-574e4b81f86a2929f04e685404d9b2fb9d82759b.tar.bz2 GT5-Unofficial-574e4b81f86a2929f04e685404d9b2fb9d82759b.zip |
+ Added IC2/Forestry Ferts to OB Sprinkler.
% Fixed Sprinkler handler to be more robust.
$ Fixed issue with ASM Handler.
Diffstat (limited to 'src/Java')
3 files changed, 54 insertions, 17 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java index e1b1a37c7c..9b8cbceea6 100644 --- a/src/Java/gtPlusPlus/GTplusplus.java +++ b/src/Java/gtPlusPlus/GTplusplus.java @@ -45,6 +45,7 @@ import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools; import gtPlusPlus.xmod.gregtech.loaders.GT_Material_Loader; import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_BlastSmelterGT_GTNH; import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechMiniRaFusion; +import gtPlusPlus.xmod.ob.SprinklerHandler; import gtPlusPlus.xmod.thaumcraft.commands.CommandDumpAspects; import net.minecraft.launchwrapper.Launch; import net.minecraft.util.IIcon; @@ -156,6 +157,7 @@ public class GTplusplus implements ActionListener { proxy.postInit(event); BookHandler.runLater(); Core_Manager.postInit(); + SprinklerHandler.registerModFerts(); Logger.INFO("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Logger.INFO("| Recipes succesfully Loaded: " + RegistrationHandler.recipesSuccess + " | Failed: " diff --git a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java index 1d2674f8c1..485599cef6 100644 --- a/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java +++ b/src/Java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java @@ -11,6 +11,7 @@ import cpw.mods.fml.relauncher.FMLRelaunchLog; import cpw.mods.fml.relauncher.ReflectionHelper; import net.minecraft.launchwrapper.IClassTransformer; import net.minecraft.launchwrapper.Launch; +import gtPlusPlus.core.util.reflect.ReflectionUtils; import gtPlusPlus.preloader.asm.transformers.Preloader_ClassTransformer.OreDictionaryVisitor; import gtPlusPlus.preloader.asm.transformers.Preloader_ClassTransformer2.GT_MetaTile_Visitor; @@ -50,26 +51,30 @@ public class Preloader_Transformer_Handler implements IClassTransformer { } // Fix Tinkers Fluids - if (transformedName.equals("tconstruct.smeltery.blocks.TConstructFluid")) { - FMLRelaunchLog.log("[GT++ ASM] Bright Fluids", Level.INFO, "Transforming %s", transformedName); - return new ClassTransformer_TiConFluids("getLightValue", obfuscated, basicClass).getWriter().toByteArray(); - } + if (doesPackageExist("tconstruct.smeltery")) + if (transformedName.equals("tconstruct.smeltery.blocks.TConstructFluid")) { + FMLRelaunchLog.log("[GT++ ASM] Bright Fluids", Level.INFO, "Transforming %s", transformedName); + return new ClassTransformer_TiConFluids("getLightValue", obfuscated, basicClass).getWriter().toByteArray(); + } //Fix GC stuff - if (transformedName.equals("micdoodle8.mods.galacticraft.core.util.FluidUtil")) { - FMLRelaunchLog.log("[GT++ ASM] Galacticraft FluidUtils Patch", Level.INFO, "Transforming %s", transformedName); - return new ClassTransformer_GC_FluidUtil(basicClass).getWriter().toByteArray(); - } - if (transformedName.equals("micdoodle8.mods.galacticraft.core.tile.TileEntityFuelLoader")) { - FMLRelaunchLog.log("[GT++ ASM] Galacticraft Fuel_Loader Patch", Level.INFO, "Transforming %s", transformedName); - return new ClassTransformer_GC_FuelLoader(basicClass).getWriter().toByteArray(); + if (doesPackageExist("micdoodle8.mods.galacticraft")) { + if (transformedName.equals("micdoodle8.mods.galacticraft.core.util.FluidUtil")) { + FMLRelaunchLog.log("[GT++ ASM] Galacticraft FluidUtils Patch", Level.INFO, "Transforming %s", transformedName); + return new ClassTransformer_GC_FluidUtil(basicClass).getWriter().toByteArray(); + } + if (transformedName.equals("micdoodle8.mods.galacticraft.core.tile.TileEntityFuelLoader")) { + FMLRelaunchLog.log("[GT++ ASM] Galacticraft Fuel_Loader Patch", Level.INFO, "Transforming %s", transformedName); + return new ClassTransformer_GC_FuelLoader(basicClass).getWriter().toByteArray(); + } } //Improve OB Sprinklers - if (transformedName.equals("openblocks.common.tileentity.TileEntitySprinkler")) { - FMLRelaunchLog.log("[GT++ ASM] OpenBlocks Sprinkler Patch", Level.INFO, "Transforming %s", transformedName); - return new ClassTransformer_OB_Sprinkler(obfuscated, basicClass).getWriter().toByteArray(); - } + if (doesPackageExist("openblocks.common")) + if (transformedName.equals("openblocks.common.tileentity.TileEntitySprinkler")) { + FMLRelaunchLog.log("[GT++ ASM] OpenBlocks Sprinkler Patch", Level.INFO, "Transforming %s", transformedName); + return new ClassTransformer_OB_Sprinkler(obfuscated, basicClass).getWriter().toByteArray(); + } if (mEnabled) { if (transformedName.equals("gregtech.api.metatileentity.BaseMetaTileEntity")) { @@ -89,5 +94,14 @@ public class Preloader_Transformer_Handler implements IClassTransformer { } return basicClass; } + + public static boolean doesPackageExist(final String packageName) { + boolean exists = false; + Package f = Package.getPackage(packageName); + if (f != null) { + exists = true; + } + return exists; + } } diff --git a/src/Java/gtPlusPlus/xmod/ob/SprinklerHandler.java b/src/Java/gtPlusPlus/xmod/ob/SprinklerHandler.java index 8981a828e4..b6b9428005 100644 --- a/src/Java/gtPlusPlus/xmod/ob/SprinklerHandler.java +++ b/src/Java/gtPlusPlus/xmod/ob/SprinklerHandler.java @@ -4,9 +4,9 @@ import java.util.HashMap; import com.google.common.base.Objects; +import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.core.util.minecraft.ItemUtils; import net.minecraft.item.ItemStack; -import openmods.inventory.GenericInventory; -import openmods.inventory.TileEntityInventory; /** * Wrapper Class to assist in handling the OB Sprinkler. @@ -35,4 +35,25 @@ public class SprinklerHandler { } } + public static void registerModFerts() { + ItemStack f; + if (LoadedMods.Forestry) { + f = ItemUtils.getCorrectStacktype("Forestry:fertilizerBio", 1); + if (f != null) { + registerSprinklerFertilizer(f); + } + f = ItemUtils.getCorrectStacktype("Forestry:fertilizerCompound", 1); + if (f != null) { + registerSprinklerFertilizer(f); + } + } + if (LoadedMods.IndustrialCraft2) { + f = ItemUtils.getCorrectStacktype("IC2:itemFertilizer", 1); + if (f != null) { + registerSprinklerFertilizer(f); + } + + } + } + } |