aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-02-08 14:23:14 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-02-08 14:23:14 +1000
commit99f6845bd32373cc84350496cda9cefbcff5298f (patch)
tree86bae64bc9878d97a4e0f7b356d797a406b1c71b /src/Java
parentf4ac62247a54c38466fb7544aae63e6d97fb2740 (diff)
downloadGT5-Unofficial-99f6845bd32373cc84350496cda9cefbcff5298f.tar.gz
GT5-Unofficial-99f6845bd32373cc84350496cda9cefbcff5298f.tar.bz2
GT5-Unofficial-99f6845bd32373cc84350496cda9cefbcff5298f.zip
+ Added Plugin system.
$ Fixed issue with Fishing Pond.
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java4
-rw-r--r--src/Java/gtPlusPlus/api/interfaces/IPlugin.java17
-rw-r--r--src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java30
-rw-r--r--src/Java/gtPlusPlus/plugin/fishing/block/BlockFishEggs.java12
-rw-r--r--src/Java/gtPlusPlus/plugin/fishing/item/BaseFish.java5
-rw-r--r--src/Java/gtPlusPlus/plugin/manager/Core_Manager.java62
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialFishingPond.java10
7 files changed, 133 insertions, 7 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index c59d37de69..69c491edc9 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -36,6 +36,7 @@ import gtPlusPlus.core.util.geo.GeoUtils;
import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.networking.NetworkUtils;
import gtPlusPlus.core.util.player.PlayerUtils;
+import gtPlusPlus.plugin.manager.Core_Manager;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtTools;
@@ -108,6 +109,7 @@ public class GTplusplus implements ActionListener {
proxy.preInit(event);
+ Core_Manager.preInit();
}
// Init
@@ -121,6 +123,7 @@ public class GTplusplus implements ActionListener {
BlockEventHandler.oreLimestone = OreDictionary.getOres("oreLimestone");
BlockEventHandler.blockLimestone = OreDictionary.getOres("limestone");
BlockEventHandler.fluoriteOre = FLUORIDES.FLUORITE.getOre(1);
+ Core_Manager.init();
}
@@ -129,6 +132,7 @@ public class GTplusplus implements ActionListener {
public void postInit(final FMLPostInitializationEvent event) {
proxy.postInit(event);
BookHandler.runLater();
+ Core_Manager.postInit();
Logger.INFO("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Logger.INFO("| Recipes succesfully Loaded: " + RegistrationHandler.recipesSuccess + " | Failed: "
+ RegistrationHandler.recipesFailed + " |");
diff --git a/src/Java/gtPlusPlus/api/interfaces/IPlugin.java b/src/Java/gtPlusPlus/api/interfaces/IPlugin.java
new file mode 100644
index 0000000000..3ac960eaf2
--- /dev/null
+++ b/src/Java/gtPlusPlus/api/interfaces/IPlugin.java
@@ -0,0 +1,17 @@
+package gtPlusPlus.api.interfaces;
+
+import gtPlusPlus.plugin.manager.Core_Manager;
+
+public interface IPlugin {
+
+ public default void register() {
+ Core_Manager.registerPlugin(this);
+ }
+
+ public String getPluginName();
+
+ public boolean preInit();
+ public boolean init();
+ public boolean postInit();
+
+}
diff --git a/src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java b/src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java
new file mode 100644
index 0000000000..909c9c3c50
--- /dev/null
+++ b/src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java
@@ -0,0 +1,30 @@
+package gtPlusPlus.plugin.fishing;
+
+import gtPlusPlus.api.interfaces.IPlugin;
+
+public class Core_Fishing implements IPlugin {
+
+ @Override
+ public boolean preInit() {
+ // TODO Auto-generated method stub
+ return true;
+ }
+
+ @Override
+ public boolean init() {
+ // TODO Auto-generated method stub
+ return true;
+ }
+
+ @Override
+ public boolean postInit() {
+ // TODO Auto-generated method stub
+ return true;
+ }
+
+ @Override
+ public String getPluginName() {
+ return "GT++ Fishing Module";
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/plugin/fishing/block/BlockFishEggs.java b/src/Java/gtPlusPlus/plugin/fishing/block/BlockFishEggs.java
new file mode 100644
index 0000000000..c11d4fa333
--- /dev/null
+++ b/src/Java/gtPlusPlus/plugin/fishing/block/BlockFishEggs.java
@@ -0,0 +1,12 @@
+package gtPlusPlus.plugin.fishing.block;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+
+public class BlockFishEggs extends Block{
+
+ protected BlockFishEggs() {
+ super(Material.water);
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/plugin/fishing/item/BaseFish.java b/src/Java/gtPlusPlus/plugin/fishing/item/BaseFish.java
new file mode 100644
index 0000000000..b395240663
--- /dev/null
+++ b/src/Java/gtPlusPlus/plugin/fishing/item/BaseFish.java
@@ -0,0 +1,5 @@
+package gtPlusPlus.plugin.fishing.item;
+
+public class BaseFish {
+
+}
diff --git a/src/Java/gtPlusPlus/plugin/manager/Core_Manager.java b/src/Java/gtPlusPlus/plugin/manager/Core_Manager.java
new file mode 100644
index 0000000000..2fc6102779
--- /dev/null
+++ b/src/Java/gtPlusPlus/plugin/manager/Core_Manager.java
@@ -0,0 +1,62 @@
+package gtPlusPlus.plugin.manager;
+
+import gtPlusPlus.api.interfaces.IPlugin;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.util.array.AutoMap;
+
+public class Core_Manager {
+
+ public static AutoMap<IPlugin> mPlugins = new AutoMap<IPlugin>();
+ public static void registerPlugin(IPlugin plug) {
+ mPlugins.put(plug);
+ }
+ public static boolean preInit() {
+ try {
+ for (IPlugin h : mPlugins) {
+ if (h.preInit()) {
+ Logger.INFO("[Plugin] Completed Pre-Init Phase for "+h.getPluginName()+".");
+ }
+ else {
+ Logger.INFO("[Plugin] Failed during Pre-Init Phase for "+h.getPluginName()+".");
+ }
+ }
+ return true;
+ }
+ catch (Throwable t) {}
+ return false;
+ }
+
+ public static boolean init() {
+ try {
+ for (IPlugin h : mPlugins) {
+ if (h.init()) {
+ Logger.INFO("[Plugin] Completed Init Phase for "+h.getPluginName()+".");
+ }
+ else {
+ Logger.INFO("[Plugin] Failed during Init Phase for "+h.getPluginName()+".");
+ }
+ }
+ return true;
+ }
+ catch (Throwable t) {}
+ return false;
+ }
+
+ public static boolean postInit() {
+ try {
+ for (IPlugin h : mPlugins) {
+ if (h.postInit()) {
+ Logger.INFO("[Plugin] Completed Post-Init Phase for "+h.getPluginName()+".");
+ }
+ else {
+ Logger.INFO("[Plugin] Failed during Post-Init Phase for "+h.getPluginName()+".");
+ }
+ }
+ return true;
+ }
+ catch (Throwable t) {}
+ return false;
+ }
+
+
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialFishingPond.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialFishingPond.java
index 2e1b0aaa34..b9e4fc2880 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialFishingPond.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialFishingPond.java
@@ -579,13 +579,9 @@ extends GregtechMeta_MultiBlockBase {
rslot++;
}
- // Commit outputs
- for (ItemStack n : tOutputItems) {
- this.addOutput(n);
- }
-
- //this.mOutputItems = tOutputItems;
- //updateSlots();
+ // Commit outputs
+ this.mOutputItems = tOutputItems;
+ updateSlots();
// Play sounds (GT++ addition - GT multiblocks play no sounds)
startProcess();