From 5822ee3c392e728f497599d8dee8b4d7ea86baab Mon Sep 17 00:00:00 2001 From: Sam Date: Mon, 10 Aug 2020 13:01:56 +0100 Subject: [PATCH] Add placeholderrequirement --- api/build.gradle | 6 +++ .../requirements/PlaceholderRequirement.java | 47 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 api/src/main/java/net/islandearth/rpgregions/requirements/PlaceholderRequirement.java diff --git a/api/build.gradle b/api/build.gradle index 57bd8e8..795fc0e 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -27,11 +27,17 @@ repositories { maven { url = "https://repo.aikar.co/content/groups/aikar/" } maven { url = "https://jitpack.io" } + + // PAPI + maven { + url = 'http://repo.extendedclip.com/content/repositories/placeholderapi/' + } } dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' compileOnly 'org.spigotmc:spigot-api:1.12.2-R0.1-SNAPSHOT' // spigot compileOnly 'com.github.MilkBowl:VaultAPI:1.7' // vault + compileOnly 'me.clip:placeholderapi:2.10.4' // PAPI implementation 'io.papermc:paperlib:1.0.4' // paperlib - async teleport on Paper } diff --git a/api/src/main/java/net/islandearth/rpgregions/requirements/PlaceholderRequirement.java b/api/src/main/java/net/islandearth/rpgregions/requirements/PlaceholderRequirement.java new file mode 100644 index 0000000..c7e3f8a --- /dev/null +++ b/api/src/main/java/net/islandearth/rpgregions/requirements/PlaceholderRequirement.java @@ -0,0 +1,47 @@ +package net.islandearth.rpgregions.requirements; + +import me.clip.placeholderapi.PlaceholderAPI; +import org.bukkit.entity.Player; + +public class PlaceholderRequirement extends RegionRequirement { + + private String placeholder; + private String equal; + + public PlaceholderRequirement(String placeholder, String equal) { + this.placeholder = placeholder; + this.equal = equal; + } + + @Override + public boolean meetsRequirements(Player player) { + try { + int number = Integer.parseInt(equal); + int parsedNumber = Integer.parseInt(PlaceholderAPI.setPlaceholders(player, placeholder)); + if (number >= parsedNumber) { + return true; + } + } catch (NumberFormatException e) { + return PlaceholderAPI.setPlaceholders(player, placeholder).equals(equal); + } + return false; + } + + @Override + public String getName() { + return "Placeholder"; + } + + @Override + public String getText(Player player) { + return "placeholder " + placeholder; + } + + public String getPlaceholder() { + return placeholder; + } + + public String getEqual() { + return equal; + } +}