Skip to content

Commit 8286c6c

Browse files
committed
common parse-with-exception method
1 parent 46517cc commit 8286c6c

3 files changed

Lines changed: 23 additions & 16 deletions

File tree

spigot/plugin/src/main/java/me/hsgamer/topper/spigot/plugin/hook/miniplaceholders/MiniPlaceholdersHook.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import me.hsgamer.topper.spigot.plugin.TopperPlugin;
77
import me.hsgamer.topper.spigot.plugin.builder.ValueProviderBuilder;
88
import me.hsgamer.topper.spigot.plugin.manager.QueryForwardManager;
9+
import me.hsgamer.topper.spigot.plugin.util.ParseUtil;
910
import me.hsgamer.topper.spigot.query.forward.miniplaceholders.MiniPlaceholdersQueryForwarder;
1011
import me.hsgamer.topper.spigot.value.miniplaceholders.MiniPlaceholderValueProvider;
1112
import me.hsgamer.topper.value.string.NumberStringDeformatter;
@@ -31,7 +32,7 @@ public void load() {
3132
String placeholder = Optional.ofNullable(map.get("placeholder")).map(Object::toString).orElse("");
3233
return new MiniPlaceholderValueProvider(placeholder)
3334
.thenApply(NumberStringDeformatter.deformatterOrIdentity(map))
34-
.thenApply(Double::parseDouble)
35+
.thenApply(ParseUtil::parsePlaceholderNumber)
3536
.keyMapper(Bukkit::getPlayer);
3637
}, "miniplaceholders", "miniplaceholder", "mini-placeholders", "mini-placeholder");
3738
plugin.get(QueryForwardManager.class).addForwarder(context -> queryForwarder.accept(new QueryForwardContext<Player>() {

spigot/plugin/src/main/java/me/hsgamer/topper/spigot/plugin/hook/placeholderapi/PlaceholderAPIHook.java

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import me.hsgamer.topper.spigot.plugin.TopperPlugin;
55
import me.hsgamer.topper.spigot.plugin.builder.ValueProviderBuilder;
66
import me.hsgamer.topper.spigot.plugin.manager.QueryForwardManager;
7+
import me.hsgamer.topper.spigot.plugin.util.ParseUtil;
78
import me.hsgamer.topper.spigot.query.forward.placeholderapi.PlaceholderQueryForwarder;
89
import me.hsgamer.topper.spigot.value.placeholderapi.PlaceholderValueProvider;
910
import me.hsgamer.topper.value.string.NumberStringDeformatter;
@@ -30,21 +31,7 @@ public void load() {
3031
.orElse(false);
3132
return new PlaceholderValueProvider(placeholder, isOnlineOnly)
3233
.thenApply(NumberStringDeformatter.deformatterOrIdentity(map))
33-
.thenApply(s -> {
34-
try {
35-
return Double.parseDouble(s);
36-
} catch (NumberFormatException e) {
37-
throw new IllegalArgumentException(
38-
String.join(" ",
39-
"There is a problem when parsing your placeholder.",
40-
"This is usually not a Topper's issue, but an issue with your placeholder.",
41-
"Take a look at the wiki and check against your placeholder settings.",
42-
"https://topper-mc.github.io/Wiki/spigot/provider/placeholder.html#frequently-asked-questions"
43-
),
44-
e
45-
);
46-
}
47-
})
34+
.thenApply(ParseUtil::parsePlaceholderNumber)
4835
.keyMapper(Bukkit::getOfflinePlayer);
4936
}, "placeholderapi", "placeholder", "papi");
5037
plugin.get(QueryForwardManager.class).addForwarder(queryForwarder);
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package me.hsgamer.topper.spigot.plugin.util;
2+
3+
public interface ParseUtil {
4+
static double parsePlaceholderNumber(String input) {
5+
try {
6+
return Double.parseDouble(input);
7+
} catch (NumberFormatException e) {
8+
throw new IllegalArgumentException(
9+
String.join(" ",
10+
"There is a problem when parsing your placeholder.",
11+
"This is usually not a Topper's issue, but an issue with your placeholder.",
12+
"Take a look at the wiki and check against your placeholder settings.",
13+
"https://topper-mc.github.io/Wiki/spigot/faq.html"
14+
),
15+
e
16+
);
17+
}
18+
}
19+
}

0 commit comments

Comments
 (0)