Skip to content

Commit 1ba0fec

Browse files
committed
release: Version 2.1.0
1 parent 62770d3 commit 1ba0fec

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
group = io.github.miniplaceholders
2-
version = 2.1.0-SNAPSHOT
2+
version = 2.1.0
33
description = PlaceholderAdapter-Expansion

velocity/src/main/java/io/github/miniplaceholders/expansion/placeholderadapter/velocity/VelocityPlatform.java

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package io.github.miniplaceholders.expansion.placeholderadapter.velocity;
22

3-
import com.google.common.collect.Maps;
43
import com.velocitypowered.api.proxy.Player;
54
import io.github.miniplaceholders.api.Expansion;
65
import io.github.miniplaceholders.api.utils.LegacyStrings;
@@ -10,6 +9,7 @@
109

1110
import java.util.OptionalInt;
1211
import java.util.UUID;
12+
import java.util.concurrent.ConcurrentHashMap;
1313
import java.util.concurrent.ConcurrentMap;
1414
import java.util.concurrent.TimeUnit;
1515

@@ -20,17 +20,17 @@
2020
public final class VelocityPlatform {
2121
private static final UUID NULL_UUID = UUID.randomUUID();
2222
private static final PlaceholderAPI instance = PlaceholderAPI.createInstance();
23-
private static final ConcurrentMap<Long, PlaceholderAPI> cachedInstances = Maps.newConcurrentMap();
23+
private static final ConcurrentMap<Long, PlaceholderAPI> cachedInstances = new ConcurrentHashMap<>();
2424

2525
private static PlaceholderAPI getAPI(ArgumentQueue queue) {
2626
if (!queue.hasNext()) return instance;
27-
OptionalInt optExpiry = queue.pop().asInt();
27+
final OptionalInt optExpiry = queue.pop().asInt();
2828

2929
if (optExpiry.isEmpty()) return instance;
30-
Long expiry = (long) optExpiry.getAsInt();
30+
final long expiry = optExpiry.getAsInt();
3131

3232
return cachedInstances.computeIfAbsent(expiry, (key) -> {
33-
PlaceholderAPI api = PlaceholderAPI.createInstance();
33+
final PlaceholderAPI api = PlaceholderAPI.createInstance();
3434
api.setCacheExpiry(key);
3535
return api;
3636
});
@@ -40,13 +40,14 @@ public static Expansion.Builder provideBuilder() {
4040
return Expansion.builder("placeholder-adapter")
4141
.globalPlaceholder("global", (queue, ctx) -> {
4242
final String argument = queue.popOr("You need to provide a placeholder").value();
43-
boolean isString = parseString(queue);
44-
PlaceholderAPI api = getAPI(queue);
43+
final boolean isString = parseString(queue);
44+
final PlaceholderAPI api = getAPI(queue);
4545
final String papiParsed = api
4646
.formatPlaceholders(argument, NULL_UUID)
4747
.completeOnTimeout(argument, 100, TimeUnit.MILLISECONDS)
48-
.join()
49-
.replace(SECTION_CHAR, AMPERSAND_CHAR);
48+
.thenApply(st -> st.replace(SECTION_CHAR, AMPERSAND_CHAR))
49+
.handle((result, ex) -> ex == null ? "" : result)
50+
.join();
5051

5152
if (isString) {
5253
return Tag.preProcessParsed(miniMessage().serialize(LegacyStrings.parsePossibleLegacy(papiParsed)));
@@ -57,12 +58,13 @@ public static Expansion.Builder provideBuilder() {
5758
.audiencePlaceholder(Player.class, "player", (player, queue, ctx) -> {
5859
final String argument = queue.popOr("You need to provide a placeholder").value();
5960
boolean isString = parseString(queue);
60-
PlaceholderAPI api = getAPI(queue);
61+
final PlaceholderAPI api = getAPI(queue);
6162
final String papiParsed = api
6263
.formatPlaceholders(argument, player.getUniqueId())
6364
.completeOnTimeout(argument, 100, TimeUnit.MILLISECONDS)
64-
.join()
65-
.replace(SECTION_CHAR, AMPERSAND_CHAR);
65+
.thenApply(st -> st.replace(SECTION_CHAR, AMPERSAND_CHAR))
66+
.handle((result, ex) -> ex == null ? "" : result)
67+
.join();
6668

6769
if (isString) {
6870
return Tag.preProcessParsed(miniMessage().serialize(LegacyStrings.parsePossibleLegacy(papiParsed)));
@@ -72,13 +74,14 @@ public static Expansion.Builder provideBuilder() {
7274
})
7375
.relationalPlaceholder(Player.class, "relational", (player, playerToShow, queue, ctx) -> {
7476
final String argument = queue.popOr("You need to provide a placeholder").value();
75-
boolean isString = parseString(queue);
76-
PlaceholderAPI api = getAPI(queue);
77+
final boolean isString = parseString(queue);
78+
final PlaceholderAPI api = getAPI(queue);
7779
final String papiParsed = api
7880
.formatPlaceholders(argument, player.getUniqueId(), playerToShow.getUniqueId())
7981
.completeOnTimeout(argument, 100, TimeUnit.MILLISECONDS)
80-
.join()
81-
.replace(SECTION_CHAR, AMPERSAND_CHAR);
82+
.thenApply(st -> st.replace(SECTION_CHAR, AMPERSAND_CHAR))
83+
.handle((result, ex) -> ex == null ? "" : result)
84+
.join();
8285

8386
if (isString) {
8487
return Tag.preProcessParsed(miniMessage().serialize(LegacyStrings.parsePossibleLegacy(papiParsed)));
@@ -90,7 +93,7 @@ public static Expansion.Builder provideBuilder() {
9093

9194
private static boolean parseString(ArgumentQueue queue) {
9295
//noinspection DataFlowIssue
93-
boolean isString = queue.hasNext() && queue.peek().lowerValue().equals("string");
96+
final boolean isString = queue.hasNext() && queue.peek().lowerValue().equals("string");
9497
if (isString) queue.pop();
9598
return isString;
9699
}

0 commit comments

Comments
 (0)