diff --git a/pom.xml b/pom.xml
index 4ac7981..b2c84ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
de.butzlabben.world
WorldSystem
- 2.4.4.1
+ 2.4.4.2
UTF-8
-
@@ -101,6 +101,10 @@
https://libraries.minecraft.net/
+
+ placeholderapi
+ http://repo.extendedclip.com/content/repositories/placeholderapi/
+
@@ -157,5 +161,12 @@
1.6
provided
+
+
+ me.clip
+ placeholderapi
+ LATEST
+ provided
+
\ No newline at end of file
diff --git a/src/main/java/de/butzlabben/world/WorldSystem.java b/src/main/java/de/butzlabben/world/WorldSystem.java
index a82c1bf..ac367c8 100644
--- a/src/main/java/de/butzlabben/world/WorldSystem.java
+++ b/src/main/java/de/butzlabben/world/WorldSystem.java
@@ -4,6 +4,7 @@ import de.butzlabben.autoupdater.AutoUpdater;
import de.butzlabben.world.command.*;
import de.butzlabben.world.config.*;
import de.butzlabben.world.listener.*;
+import de.butzlabben.world.util.PapiExtension;
import de.butzlabben.world.wrapper.AsyncCreatorAdapter;
import de.butzlabben.world.wrapper.CreatorAdapter;
import de.butzlabben.world.wrapper.SystemWorld;
@@ -113,6 +114,9 @@ public class WorldSystem extends JavaPlugin {
DependenceConfig.checkWorlds();
}
+ if(Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI"))
+ new PapiExtension().register();
+
Bukkit.getConsoleSender().sendMessage(PluginConfig.getPrefix() + "Succesfully enabled WorldSystem v" + version);
}
diff --git a/src/main/java/de/butzlabben/world/util/PapiExtension.java b/src/main/java/de/butzlabben/world/util/PapiExtension.java
new file mode 100644
index 0000000..e419380
--- /dev/null
+++ b/src/main/java/de/butzlabben/world/util/PapiExtension.java
@@ -0,0 +1,57 @@
+package de.butzlabben.world.util;
+
+import de.butzlabben.world.WorldSystem;
+import de.butzlabben.world.config.DependenceConfig;
+import de.butzlabben.world.wrapper.SystemWorld;
+import de.butzlabben.world.wrapper.WorldPlayer;
+import me.clip.placeholderapi.expansion.PlaceholderExpansion;
+import org.bukkit.Bukkit;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.World;
+
+import java.util.Objects;
+
+public class PapiExtension extends PlaceholderExpansion {
+
+ WorldSystem worldSystem = WorldSystem.getInstance();
+
+ @Override
+ public String getIdentifier() {
+ return "worldsystem";
+ }
+
+ @Override
+ public String getAuthor() {
+ return "Butzlabben";
+ }
+
+ @Override
+ public String getVersion() {
+ return worldSystem.getDescription().getVersion();
+ }
+
+ @Override
+ public String onRequest(OfflinePlayer p, String params) {
+ DependenceConfig config = new DependenceConfig(p);
+ switch (params) {
+ case "has_world":
+ return new DependenceConfig(p).hasWorld() + "";
+ case "is_creator":
+ WorldPlayer player = new WorldPlayer(Objects.requireNonNull(Bukkit.getPlayer(p.getUniqueId())));
+ if(!player.isOnSystemWorld())
+ return "false";
+ return player.isOwnerofWorld() + "";
+ case "world_name_of_player":
+ if(!config.hasWorld())
+ return "none";
+ else
+ return config.getWorldname();
+ case "world_of_player_loaded":
+ if(!config.hasWorld())
+ return "none";
+ return SystemWorld.getSystemWorld(config.getWorldname()).isLoaded() + "";
+
+ }
+ return super.onRequest(p, params);
+ }
+}