diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-06-27 04:18:10 +1000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-06-27 04:18:10 +1000 |
commit | bd54cd71e823ce1bc308a24437ce2895fc0d2d50 (patch) | |
tree | 50fb5f0d909a54370e58aa3ad0fb114970082b2c /src/Java/gtPlusPlus/plugin | |
parent | beb649b9cf86e4feffb1f72a420d263b6bb4d77e (diff) | |
download | GT5-Unofficial-bd54cd71e823ce1bc308a24437ce2895fc0d2d50.tar.gz GT5-Unofficial-bd54cd71e823ce1bc308a24437ce2895fc0d2d50.tar.bz2 GT5-Unofficial-bd54cd71e823ce1bc308a24437ce2895fc0d2d50.zip |
+ Added a config option for the GT6 Sulfuric Acid recipe changes.
% Reworked some of the Plugin System.
Diffstat (limited to 'src/Java/gtPlusPlus/plugin')
3 files changed, 142 insertions, 49 deletions
diff --git a/src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java b/src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java index fed07135fb..60c599d191 100644 --- a/src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java +++ b/src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java @@ -29,4 +29,9 @@ public class Core_Fishing implements IPlugin { return "GT++ Fishing Module"; } + @Override + public String getPluginAbbreviation() { + return "FISH"; + } + } diff --git a/src/Java/gtPlusPlus/plugin/manager/Core_Manager.java b/src/Java/gtPlusPlus/plugin/manager/Core_Manager.java index 4fd18b4959..4526a43a5b 100644 --- a/src/Java/gtPlusPlus/plugin/manager/Core_Manager.java +++ b/src/Java/gtPlusPlus/plugin/manager/Core_Manager.java @@ -3,15 +3,29 @@ package gtPlusPlus.plugin.manager; import gtPlusPlus.api.interfaces.IPlugin; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.core.util.reflect.ReflectionUtils; public class Core_Manager { public static AutoMap<IPlugin> mPlugins = new AutoMap<IPlugin>(); - public static void registerPlugin(IPlugin plug) { - Logger.INFO("[Plugin] " + "Registered "+plug.getPluginName()+"."); - mPlugins.put(plug); + /** + * @param plugin - Dynamically registers the plugin for loading. + */ + public static void registerPlugin(IPlugin plugin) { + Logger.INFO("[Plugin] " + "Registered "+plugin.getPluginName()+"."); + mPlugins.put(plugin); } + + /** + * Dynamically loads all class objects within the "gtPlusPlus.plugin" package. + */ + public static void veryEarlyInit() { + if (ReflectionUtils.dynamicallyLoadClassesInPackage("gtPlusPlus.plugin")) { + Logger.INFO("[Plugin] Plugin System loaded."); + } + } + public static boolean preInit() { try { for (IPlugin h : mPlugins) { diff --git a/src/Java/gtPlusPlus/plugin/sulfurchem/Core_SulfuricChemistry.java b/src/Java/gtPlusPlus/plugin/sulfurchem/Core_SulfuricChemistry.java index 0ee41f54fb..71227fffb6 100644 --- a/src/Java/gtPlusPlus/plugin/sulfurchem/Core_SulfuricChemistry.java +++ b/src/Java/gtPlusPlus/plugin/sulfurchem/Core_SulfuricChemistry.java @@ -5,6 +5,7 @@ import gregtech.api.enums.Materials; import gregtech.api.util.GT_Recipe; import gtPlusPlus.api.interfaces.IPlugin; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -15,7 +16,8 @@ import net.minecraftforge.fluids.FluidStack; public class Core_SulfuricChemistry implements IPlugin { final static Core_SulfuricChemistry mInstance; - + private static boolean shouldLoad = false; + static { mInstance = new Core_SulfuricChemistry(); Core_Manager.registerPlugin(mInstance); @@ -24,33 +26,45 @@ public class Core_SulfuricChemistry implements IPlugin { @Override public boolean preInit() { - return true; + if (CORE.ConfigSwitches.enableSulfuricAcidFix) { + shouldLoad = true; + } + if (shouldLoad) + return true; + return false; } @Override public boolean init() { - return true; + if (shouldLoad) + return true; + return false; } @Override public boolean postInit() { - int disabled = disableRecipes(); - Logger.INFO("[RSCM] Disabled "+disabled+" Sulfuric Chemistry recipes."); - int addedNew = addRevisedGT6Recipes(); - Logger.INFO("[RSCM] Added "+addedNew+" new Sulfuric Chemistry recipes."); - return disabled > 0 && addedNew > 0; + if (shouldLoad) { + int disabled = disableSulfurTrioxide(); + Logger.INFO("[RSCM] Disabled "+disabled+" Sulfur Trioxide Chemistry recipes."); + disabled = disableSulfuricAcid(); + Logger.INFO("[RSCM] Disabled "+disabled+" Sulfuric Acid Chemistry recipes."); + int addedNew = addRevisedGT6Recipes(); + Logger.INFO("[RSCM] Added "+addedNew+" new Sulfuric Chemistry recipes."); + return disabled > 0 && addedNew > 0; + } + return false; } @Override public String getPluginName() { return "GT++ Revised Sulfuric Chemistry Module"; } - + public int addRevisedGT6Recipes() { - + String catalyst = "dustPlatinum"; int mCountAdded = 0; - + /** * Sulfur Trioxide Recipes */ @@ -75,8 +89,8 @@ public class Core_SulfuricChemistry implements IPlugin { null, 16, 16)) { - mCountAdded++; - } + mCountAdded++; + } //Oxygen if (GT_Values.RA.addChemicalRecipe( ItemUtils.getItemStackOfAmountFromOreDict(catalyst, 0), @@ -87,8 +101,8 @@ public class Core_SulfuricChemistry implements IPlugin { null, 16, 16)) { - mCountAdded++; - } + mCountAdded++; + } if (GT_Values.RA.addChemicalRecipe( ItemUtils.getItemStackOfAmountFromOreDict(catalyst, 0), ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurDioxide", 3), @@ -98,13 +112,13 @@ public class Core_SulfuricChemistry implements IPlugin { null, 16, 16)) { - mCountAdded++; - } - + mCountAdded++; + } + /** * Sulfuric Acid Recipes */ - + if (GT_Values.RA.addChemicalRecipe( CI.getNumberedCircuit(22), ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurTrioxide", 1), @@ -114,8 +128,8 @@ public class Core_SulfuricChemistry implements IPlugin { null, 20, 20)) { - mCountAdded++; - } + mCountAdded++; + } if (GT_Values.RA.addChemicalRecipe( CI.getNumberedCircuit(22), ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 3), @@ -125,14 +139,65 @@ public class Core_SulfuricChemistry implements IPlugin { null, 20, 20)) { - mCountAdded++; - } - + mCountAdded++; + } + return mCountAdded; } - - - public int disableRecipes() { + + + public int disableSulfurTrioxide() { + int mDisabled = 0; + //Single Block Recipes + recipe : for (GT_Recipe r : GT_Recipe.GT_Recipe_Map.sChemicalRecipes.mRecipeList) { + for (ItemStack i : r.mOutputs) { + i.stackSize = 1; + if (ItemStack.areItemStacksEqual(i, ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurTrioxide", 1))) { + r.mEnabled = false; + r.mHidden = true; + mDisabled++; + continue recipe; + } + continue; + } + for (FluidStack f : r.mFluidOutputs) { + if (FluidStack.areFluidStackTagsEqual(f, Materials.SulfurTrioxide.getFluid(1))) { + r.mEnabled = false; + r.mHidden = true; + mDisabled++; + continue recipe; + } + continue; + } + } + + //Multi Block Recipes + recipe : for (GT_Recipe r : GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes.mRecipeList) { + for (ItemStack i : r.mOutputs) { + i.stackSize = 1; + if (ItemStack.areItemStacksEqual(i, ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurTrioxide", 1))) { + r.mEnabled = false; + r.mHidden = true; + mDisabled++; + continue recipe; + } + continue; + } + for (FluidStack f : r.mFluidOutputs) { + if (FluidStack.areFluidStackTagsEqual(f, Materials.SulfurTrioxide.getFluid(1))) { + r.mEnabled = false; + r.mHidden = true; + mDisabled++; + continue recipe; + } + continue; + } + } + + return mDisabled; + } + + public int disableSulfuricAcid() { int mDisabled = 0; //Single Block Recipes recipe : for (GT_Recipe r : GT_Recipe.GT_Recipe_Map.sChemicalRecipes.mRecipeList) { @@ -140,6 +205,7 @@ public class Core_SulfuricChemistry implements IPlugin { i.stackSize = 1; if (ItemStack.areItemStacksEqual(i, ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricAcid", 1))) { r.mEnabled = false; + r.mHidden = true; mDisabled++; continue recipe; } @@ -148,35 +214,43 @@ public class Core_SulfuricChemistry implements IPlugin { for (FluidStack f : r.mFluidOutputs) { if (FluidStack.areFluidStackTagsEqual(f, Materials.SulfuricAcid.getFluid(1))) { r.mEnabled = false; + r.mHidden = true; mDisabled++; continue recipe; } continue; } } - - //Multi Block Recipes - recipe : for (GT_Recipe r : GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes.mRecipeList) { - for (ItemStack i : r.mOutputs) { - i.stackSize = 1; - if (ItemStack.areItemStacksEqual(i, ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricAcid", 1))) { - r.mEnabled = false; - mDisabled++; - continue recipe; + + //Multi Block Recipes + recipe : for (GT_Recipe r : GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes.mRecipeList) { + for (ItemStack i : r.mOutputs) { + i.stackSize = 1; + if (ItemStack.areItemStacksEqual(i, ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricAcid", 1))) { + r.mEnabled = false; + r.mHidden = true; + mDisabled++; + continue recipe; + } + continue; } - continue; - } - for (FluidStack f : r.mFluidOutputs) { - if (FluidStack.areFluidStackTagsEqual(f, Materials.SulfuricAcid.getFluid(1))) { - r.mEnabled = false; - mDisabled++; - continue recipe; + for (FluidStack f : r.mFluidOutputs) { + if (FluidStack.areFluidStackTagsEqual(f, Materials.SulfuricAcid.getFluid(1))) { + r.mEnabled = false; + r.mHidden = true; + mDisabled++; + continue recipe; + } + continue; } - continue; } - } - + return mDisabled; } + @Override + public String getPluginAbbreviation() { + return "RSCM"; + } + } |