From 99f6845bd32373cc84350496cda9cefbcff5298f Mon Sep 17 00:00:00 2001 From: Jordan Byrne Date: Thu, 8 Feb 2018 14:23:14 +1000 Subject: + Added Plugin system. $ Fixed issue with Fishing Pond. --- .../gtPlusPlus/plugin/fishing/Core_Fishing.java | 30 +++++++++++ .../plugin/fishing/block/BlockFishEggs.java | 12 +++++ .../gtPlusPlus/plugin/fishing/item/BaseFish.java | 5 ++ .../gtPlusPlus/plugin/manager/Core_Manager.java | 62 ++++++++++++++++++++++ 4 files changed, 109 insertions(+) create mode 100644 src/Java/gtPlusPlus/plugin/fishing/Core_Fishing.java create mode 100644 src/Java/gtPlusPlus/plugin/fishing/block/BlockFishEggs.java create mode 100644 src/Java/gtPlusPlus/plugin/fishing/item/BaseFish.java create mode 100644 src/Java/gtPlusPlus/plugin/manager/Core_Manager.java (limited to 'src/Java/gtPlusPlus/plugin') 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 mPlugins = new AutoMap(); + 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; + } + + +} -- cgit