diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-08 14:23:14 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-02-08 14:23:14 +1000 |
commit | 99f6845bd32373cc84350496cda9cefbcff5298f (patch) | |
tree | 86bae64bc9878d97a4e0f7b356d797a406b1c71b | |
parent | f4ac62247a54c38466fb7544aae63e6d97fb2740 (diff) | |
download | GT5-Unofficial-99f6845bd32373cc84350496cda9cefbcff5298f.tar.gz GT5-Unofficial-99f6845bd32373cc84350496cda9cefbcff5298f.tar.bz2 GT5-Unofficial-99f6845bd32373cc84350496cda9cefbcff5298f.zip |
+ Added Plugin system.
$ Fixed issue with Fishing Pond.
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(); |