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: