diff --git a/src/me/mrCookieSlime/Slimefun/Misc/PostSlimefunLoadingHandler.java b/src/me/mrCookieSlime/Slimefun/Misc/PostSlimefunLoadingHandler.java new file mode 100644 index 000000000..1e4f39672 --- /dev/null +++ b/src/me/mrCookieSlime/Slimefun/Misc/PostSlimefunLoadingHandler.java @@ -0,0 +1,11 @@ +package me.mrCookieSlime.Slimefun.Misc; + +import java.util.List; + +import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem; + +public interface PostSlimefunLoadingHandler { + + public void run(List preloaded, List loaded, List postloaded); + +} diff --git a/src/me/mrCookieSlime/Slimefun/Setup/MiscSetup.java b/src/me/mrCookieSlime/Slimefun/Setup/MiscSetup.java index 03921d754..05cabb71a 100644 --- a/src/me/mrCookieSlime/Slimefun/Setup/MiscSetup.java +++ b/src/me/mrCookieSlime/Slimefun/Setup/MiscSetup.java @@ -4,12 +4,20 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.World; +import org.bukkit.command.CommandSender; +import org.bukkit.inventory.ItemStack; + import me.mrCookieSlime.CSCoreLibPlugin.general.Chat.Colors; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItemSerializer; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItemSerializer.ItemFlag; import me.mrCookieSlime.Slimefun.SlimefunStartup; import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Lists.SlimefunItems; +import me.mrCookieSlime.Slimefun.Misc.PostSlimefunLoadingHandler; import me.mrCookieSlime.Slimefun.Objects.Research; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Alloy; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.ReplacingAlloy; @@ -19,15 +27,10 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.AutomatedCrafting import me.mrCookieSlime.Slimefun.api.Slimefun; import me.mrCookieSlime.Slimefun.api.SlimefunRecipes; -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Material; -import org.bukkit.World; -import org.bukkit.command.CommandSender; -import org.bukkit.inventory.ItemStack; - public class MiscSetup { + private static List post_handlers = new ArrayList(); + public static void setupMisc() { if (SlimefunItem.getByName("COMMON_TALISMAN") != null && (Boolean) Slimefun.getItemValue("COMMON_TALISMAN", "recipe-requires-nether-stars")) { SlimefunItem.getByName("COMMON_TALISMAN").setRecipe(new ItemStack[] {SlimefunItems.MAGIC_LUMP_2, SlimefunItems.GOLD_8K, SlimefunItems.MAGIC_LUMP_2, null, new ItemStack(Material.NETHER_STAR), null, SlimefunItems.MAGIC_LUMP_2, SlimefunItems.GOLD_8K, SlimefunItems.MAGIC_LUMP_2}); @@ -183,6 +186,11 @@ public class MiscSetup { CommandSender sender = Bukkit.getConsoleSender(); ChatColor color = Colors.getRandom(); + + for (PostSlimefunLoadingHandler handler: post_handlers) { + handler.run(pre, init, post); + } + sender.sendMessage(color + "###################### - Slimefun - ######################"); sender.sendMessage(color + "Successfully loaded " + SlimefunItem.list().size() + " Items (" + Research.list().size() + " Researches)"); sender.sendMessage(color + "( " + SlimefunItem.vanilla + " Items from Slimefun, " + (SlimefunItem.list().size() - SlimefunItem.vanilla) + " Items from Addons )"); diff --git a/src/me/mrCookieSlime/Slimefun/api/energy/EnergyNet.java b/src/me/mrCookieSlime/Slimefun/api/energy/EnergyNet.java index 31d2419b1..ef9ae8d5e 100644 --- a/src/me/mrCookieSlime/Slimefun/api/energy/EnergyNet.java +++ b/src/me/mrCookieSlime/Slimefun/api/energy/EnergyNet.java @@ -52,6 +52,13 @@ public class EnergyNet { return getComponent(b.getLocation()); } + public static NetworkComponent getComponent(String id) { + if (machines_input.contains(id)) return NetworkComponent.SOURCE; + if (machines_storage.contains(id)) return NetworkComponent.DISTRIBUTOR; + if (machines_output.contains(id)) return NetworkComponent.CONSUMER; + return NetworkComponent.NONE; + } + public static NetworkComponent getComponent(Location l) { if (!BlockStorage.hasBlockInfo(l)) return NetworkComponent.NONE; String id = BlockStorage.checkID(l);