placeholder bugfix

This commit is contained in:
okx-code
2019-08-31 22:36:30 +01:00
parent bd08ad27c7
commit bd0ca4fc9e
2 changed files with 17 additions and 4 deletions
+2 -2
View File
@@ -5,7 +5,7 @@ plugins {
} }
group 'sh.okx' group 'sh.okx'
version '3.5.7' version '3.5.7-beta.1'
repositories { repositories {
mavenCentral() mavenCentral()
@@ -29,7 +29,7 @@ repositories {
dependencies { dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12' testCompile group: 'junit', name: 'junit', version: '4.12'
compile 'org.spigotmc:spigot-api:1.14.4-R0.1-SNAPSHOT' compile 'org.spigotmc:spigot-api:1.8.8-R0.1-SNAPSHOT'
compile('net.milkbowl.vault:VaultAPI:1.7') { compile('net.milkbowl.vault:VaultAPI:1.7') {
exclude group: 'org.bukkit' exclude group: 'org.bukkit'
@@ -12,9 +12,13 @@ import sh.okx.rankup.requirements.Requirement;
import java.util.Objects; import java.util.Objects;
import java.util.function.Function; import java.util.function.Function;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@RequiredArgsConstructor @RequiredArgsConstructor
public class RankupExpansion extends PlaceholderExpansion { public class RankupExpansion extends PlaceholderExpansion {
private static final Pattern PATTERN = Pattern.compile("(.*)#(.*)");
private final Rankup plugin; private final Rankup plugin;
private final Placeholders placeholders; private final Placeholders placeholders;
@@ -37,11 +41,11 @@ public class RankupExpansion extends PlaceholderExpansion {
if (params.startsWith("requirement_")) { if (params.startsWith("requirement_")) {
String[] parts = params.split("_", 3); String[] parts = params.split("_", 3);
return getPlaceholderRequirement(player, rank, return getPlaceholderRequirement(player, rank,
parts[1].replace("-", "_"), parts.length > 2 ? parts[2] : ""); replacePattern(parts[1]), parts.length > 2 ? parts[2] : "");
} else if (params.startsWith("rank_requirement_")) { } else if (params.startsWith("rank_requirement_")) {
String[] parts = params.split("_", 5); String[] parts = params.split("_", 5);
return getPlaceholderRequirement(player, rankups.getByName(parts[2]), return getPlaceholderRequirement(player, rankups.getByName(parts[2]),
parts[3], parts.length > 4 ? parts[4] : ""); replacePattern(parts[3]), parts.length > 4 ? parts[4] : "");
// return placeholders.getSimpleFormat().format(orElse(rankups.getByName(parts[2]).getRequirement(parts[3]), Requirement::getValueDouble, 0)); // return placeholders.getSimpleFormat().format(orElse(rankups.getByName(parts[2]).getRequirement(parts[3]), Requirement::getValueDouble, 0));
} else if (params.startsWith("rank_money_")) { } else if (params.startsWith("rank_money_")) {
String[] parts = params.split("_", 4); String[] parts = params.split("_", 4);
@@ -175,6 +179,15 @@ public class RankupExpansion extends PlaceholderExpansion {
} }
} }
private String replacePattern(String string) {
Matcher matcher = PATTERN.matcher(string);
if (matcher.matches()) {
return matcher.group(1) + "#" + matcher.group(2).replace("-", "_");
} else {
return string;
}
}
private String getPlaceholder(String name) { private String getPlaceholder(String name) {
return plugin.getConfig().getString("placeholders." + name); return plugin.getConfig().getString("placeholders." + name);
} }