diff --git a/pom.xml b/pom.xml index 250c29c..0bf16eb 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ world.bentobox level - 1.1-SNAPSHOT + 1.2-SNAPSHOT Level Level is an add-on for BentoBox, an expandable Minecraft Bukkit plugin for island-type games like SkyBlock or AcidIsland. diff --git a/src/main/java/world/bentobox/level/Level.java b/src/main/java/world/bentobox/level/Level.java index ecb7ca5..fb0e5b5 100644 --- a/src/main/java/world/bentobox/level/Level.java +++ b/src/main/java/world/bentobox/level/Level.java @@ -18,6 +18,7 @@ import world.bentobox.level.config.Settings; import world.bentobox.level.listeners.JoinLeaveListener; import world.bentobox.level.listeners.NewIslandListener; import world.bentobox.level.objects.LevelsData; +import world.bentobox.level.placeholders.LevelPlaceholder; import world.bentobox.level.requests.LevelRequestHandler; /** @@ -125,6 +126,11 @@ public class Level extends Addon { new IslandLevelCommand(this, playerCmd); new IslandTopCommand(this, playerCmd); }); + // Register placeholders + getPlugin().logDebug(getPlugin().getPlaceholdersManager()); + if (getPlugin().getPlaceholdersManager() != null) { + getPlugin().getPlaceholdersManager().registerPlaceholder(this, "island-level", new LevelPlaceholder(this, gm)); + } }); // Register new island listener @@ -134,6 +140,8 @@ public class Level extends Addon { // Register request handlers registerRequestHandler(new LevelRequestHandler(this)); + + // Done } diff --git a/src/main/java/world/bentobox/level/placeholders/LevelPlaceholder.java b/src/main/java/world/bentobox/level/placeholders/LevelPlaceholder.java new file mode 100644 index 0000000..b7b3486 --- /dev/null +++ b/src/main/java/world/bentobox/level/placeholders/LevelPlaceholder.java @@ -0,0 +1,37 @@ +/** + * + */ +package world.bentobox.level.placeholders; + +import world.bentobox.bentobox.api.addons.GameModeAddon; +import world.bentobox.bentobox.api.placeholders.PlaceholderReplacer; +import world.bentobox.bentobox.api.user.User; +import world.bentobox.level.Level; + +/** + * @author tastybento + * + */ +public class LevelPlaceholder implements PlaceholderReplacer { + + private Level addon; + private GameModeAddon gm; + + /** + * Provides placeholder support + * @param gm + */ + public LevelPlaceholder(Level addon, GameModeAddon gm) { + this.addon = addon; + this.gm = gm; + } + + /* (non-Javadoc) + * @see world.bentobox.bentobox.api.placeholders.PlaceholderReplacer#onReplace(world.bentobox.bentobox.api.user.User) + */ + @Override + public String onReplace(User user) { + return String.valueOf(addon.getIslandLevel(gm.getOverWorld(), user.getUniqueId())); + } + +}