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