diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 35cfabd..1ed1773 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -8,7 +8,7 @@ about: Report bugs of PlaceholderAPI with this template [Request change (PlaceholderAPI)]: https://github.com/PlaceholderAPI/PlaceholderAPI/issues/new?template=change_request_placeholderapi.md [Spigot]: https://www.spigotmc.org/resources/6245/ [Jenkins]: http://ci.extendedclip.com/job/PlaceholderAPI/ -[issue]: https://github.com/PlaceholderAPI/PlaceholderAPI/issues +[issues]: https://github.com/PlaceholderAPI/PlaceholderAPI/issues ## Please read This template is only for reporting bugs of PlaceholderAPI! diff --git a/pom.xml b/pom.xml index 89b4660..bb3fe40 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ me.clip placeholderapi - 2.10.3-DEV-${BUILD_NUMBER} + 2.10.5-DEV-${BUILD_NUMBER} PlaceholderAPI An awesome placeholder provider! http://extendedclip.com diff --git a/src/main/java/me/clip/placeholderapi/PlaceholderAPI.java b/src/main/java/me/clip/placeholderapi/PlaceholderAPI.java index 368f3f2..fd29b7f 100644 --- a/src/main/java/me/clip/placeholderapi/PlaceholderAPI.java +++ b/src/main/java/me/clip/placeholderapi/PlaceholderAPI.java @@ -345,12 +345,13 @@ public class PlaceholderAPI { } public static boolean registerExpansion(PlaceholderExpansion ex) { - if (registerPlaceholderHook(ex.getIdentifier(), ex)) { - Bukkit.getPluginManager().callEvent(new ExpansionRegisterEvent(ex)); - return true; + ExpansionRegisterEvent ev = new ExpansionRegisterEvent(ex); + Bukkit.getPluginManager().callEvent(ev); + if (ev.isCancelled()) { + return false; } - - return false; + + return registerPlaceholderHook(ex.getIdentifier(), ex); } public static boolean unregisterExpansion(PlaceholderExpansion ex) { diff --git a/src/main/java/me/clip/placeholderapi/events/ExpansionRegisterEvent.java b/src/main/java/me/clip/placeholderapi/events/ExpansionRegisterEvent.java index 1b828dc..f493bd6 100644 --- a/src/main/java/me/clip/placeholderapi/events/ExpansionRegisterEvent.java +++ b/src/main/java/me/clip/placeholderapi/events/ExpansionRegisterEvent.java @@ -21,13 +21,16 @@ package me.clip.placeholderapi.events; import me.clip.placeholderapi.expansion.PlaceholderExpansion; +import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -public class ExpansionRegisterEvent extends Event { +public class ExpansionRegisterEvent extends Event implements Cancellable { private static final HandlerList HANDLERS = new HandlerList(); private final PlaceholderExpansion expansion; + private boolean isCancelled; + public ExpansionRegisterEvent(PlaceholderExpansion expansion) { this.expansion = expansion; @@ -45,4 +48,14 @@ public class ExpansionRegisterEvent extends Event { public PlaceholderExpansion getExpansion() { return expansion; } + + @Override + public boolean isCancelled() { + return isCancelled; + } + + @Override + public void setCancelled(boolean b) { + this.isCancelled = b; + } } diff --git a/src/main/java/me/clip/placeholderapi/expansion/PlaceholderExpansion.java b/src/main/java/me/clip/placeholderapi/expansion/PlaceholderExpansion.java index 64b608d..9c6ad16 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/PlaceholderExpansion.java +++ b/src/main/java/me/clip/placeholderapi/expansion/PlaceholderExpansion.java @@ -98,7 +98,7 @@ public abstract class PlaceholderExpansion extends PlaceholderHook { */ public boolean isRegistered() { Validate.notNull(getIdentifier(), "Placeholder identifier can not be null!"); - return PlaceholderAPI.getRegisteredIdentifiers().contains(getIdentifier()); + return PlaceholderAPI.isRegistered(getIdentifier()); } /** diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 37f5330..3394896 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,7 @@ name: ${project.name} main: me.clip.placeholderapi.PlaceholderAPIPlugin version: ${project.version} +api-version: 1.13 authors: [extended_clip, Glare] description: ${project.description} permissions: