aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/plugin
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-06-27 04:18:10 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-06-27 04:18:10 +1000
commitbd54cd71e823ce1bc308a24437ce2895fc0d2d50 (patch)
tree50fb5f0d909a54370e58aa3ad0fb114970082b2c /src/Java/gtPlusPlus/plugin
parentbeb649b9cf86e4feffb1f72a420d263b6bb4d77e (diff)
downloadGT5-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')
-rw-r--r--src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java5
-rw-r--r--src/Java/gtPlusPlus/plugin/manager/Core_Manager.java20
-rw-r--r--src/Java/gtPlusPlus/plugin/sulfurchem/Core_SulfuricChemistry.java166
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";
+ }
+
}