diff --git a/pom.xml b/pom.xml index 6a1fd09d5..6274bb7e6 100644 --- a/pom.xml +++ b/pom.xml @@ -34,6 +34,10 @@ CodeMC https://repo.codemc.org/repository/maven-public + + placeholderapi-repo + http://repo.extendedclip.com/content/repositories/placeholderapi/ + @@ -109,12 +113,6 @@ 1.14.2-R0.1-SNAPSHOT provided - - com.sk89q.worldedit - worldedit-bukkit - 7.0.1 - provided - com.github.TheBusyBiscuit CS-CoreLib @@ -133,6 +131,18 @@ 1.5 compile + + com.sk89q.worldedit + worldedit-bukkit + 7.0.1 + provided + + + me.clip + placeholderapi + 2.10.3 + provided + me.minebuilders clearlag-core diff --git a/src/me/mrCookieSlime/Slimefun/SlimefunStartup.java b/src/me/mrCookieSlime/Slimefun/SlimefunStartup.java index 4c1670864..077426739 100644 --- a/src/me/mrCookieSlime/Slimefun/SlimefunStartup.java +++ b/src/me/mrCookieSlime/Slimefun/SlimefunStartup.java @@ -57,6 +57,7 @@ import me.mrCookieSlime.Slimefun.api.item_transport.CargoNet; import me.mrCookieSlime.Slimefun.api.item_transport.ChestManipulator; import me.mrCookieSlime.Slimefun.autosave.BlockAutoSaver; import me.mrCookieSlime.Slimefun.autosave.PlayerAutoSaver; +import me.mrCookieSlime.Slimefun.hooks.PlaceholderAPIHook; import me.mrCookieSlime.Slimefun.hooks.WorldEditHook; import me.mrCookieSlime.Slimefun.listeners.AncientAltarListener; import me.mrCookieSlime.Slimefun.listeners.AndroidKillingListener; @@ -191,6 +192,7 @@ public class SlimefunStartup extends JavaPlugin { System.out.println("[Slimefun] Loading Items..."); MiscSetup.setupItemSettings(); + try { SlimefunSetup.setupItems(); } catch (Exception e1) { @@ -269,6 +271,10 @@ public class SlimefunStartup extends JavaPlugin { System.err.println("[Slimefun] Maybe consider updating WorldEdit or Slimefun?"); } } + + if (getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) { + new PlaceholderAPIHook().register(); + } getCommand("slimefun").setExecutor(new SlimefunCommand(this)); getCommand("slimefun").setTabCompleter(new SlimefunTabCompleter()); diff --git a/src/me/mrCookieSlime/Slimefun/hooks/PlaceholderAPIHook.java b/src/me/mrCookieSlime/Slimefun/hooks/PlaceholderAPIHook.java new file mode 100644 index 000000000..08f14e1a2 --- /dev/null +++ b/src/me/mrCookieSlime/Slimefun/hooks/PlaceholderAPIHook.java @@ -0,0 +1,52 @@ +package me.mrCookieSlime.Slimefun.hooks; + +import java.util.HashMap; +import java.util.Map; + +import org.bukkit.OfflinePlayer; + +import me.clip.placeholderapi.expansion.Configurable; +import me.clip.placeholderapi.expansion.PlaceholderExpansion; +import me.mrCookieSlime.Slimefun.SlimefunStartup; + +public class PlaceholderAPIHook extends PlaceholderExpansion implements Configurable { + + @Override + public String getAuthor() { + return SlimefunStartup.instance.getDescription().getAuthors().toString(); + } + + @Override + public String getIdentifier() { + return "slimefun"; + } + + @Override + public String getVersion() { + return SlimefunStartup.instance.getDescription().getVersion(); + } + + @Override + public boolean persist() { + return true; + } + + @Override + public boolean canRegister() { + return true; + } + + @Override + public Map getDefaults() { + Map defaults = new HashMap<>(); + + return defaults; + } + + @Override + public String onRequest(OfflinePlayer p, String params) { + // TODO: Add Placeholders + return null; + } + +} diff --git a/src/plugin.yml b/src/plugin.yml index 23797f09b..4ed59644c 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -5,7 +5,7 @@ description: Slimefun basically turns your entire Server into a FTB modpack with website: http://TheBusyBiscuit.github.io/ main: me.mrCookieSlime.Slimefun.SlimefunStartup -softdepend: [CS-CoreLib, ClearLag, WorldEdit] +softdepend: [CS-CoreLib, ClearLag, WorldEdit, PlaceholderAPI] api-version: 1.14