Skip to content
This repository was archived by the owner on Oct 12, 2024. It is now read-only.

Commit b802053

Browse files
committed
Ensure placeholder replacers process in sequence
1 parent fe86fdc commit b802053

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

common/src/main/java/net/william278/huskchat/HuskChat.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,11 @@ default void loadConfig() {
8484
List<PlaceholderReplacer> getPlaceholderReplacers();
8585

8686
default CompletableFuture<String> replacePlaceholders(@NotNull Player player, @NotNull String message) {
87-
return getPlaceholderReplacers().stream()
88-
.map(replacer -> replacer.formatPlaceholders(message, player))
89-
.reduce(
90-
CompletableFuture.completedFuture(message),
91-
(a, b) -> a.thenCombine(b, (x, y) -> y)
92-
);
87+
CompletableFuture<String> future = CompletableFuture.completedFuture(message);
88+
for (PlaceholderReplacer replacer : getPlaceholderReplacers()) {
89+
future = future.thenComposeAsync(toFormat -> replacer.formatPlaceholders(toFormat, player));
90+
}
91+
return future;
9392
}
9493

9594
@NotNull

common/src/main/java/net/william278/huskchat/placeholders/DefaultReplacer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.text.SimpleDateFormat;
2727
import java.util.Date;
2828
import java.util.HashSet;
29+
import java.util.Locale;
2930
import java.util.Set;
3031
import java.util.concurrent.CompletableFuture;
3132
import java.util.function.BiFunction;
@@ -131,7 +132,7 @@ public enum Placeholder {
131132

132133
Placeholder(@NotNull BiFunction<HuskChat, Player, String> replacer, @NotNull String... aliases) {
133134
this.replacer = replacer;
134-
this.aliases.add(this.name());
135+
this.aliases.add(this.name().toLowerCase(Locale.ENGLISH));
135136
this.aliases.addAll(Set.of(aliases));
136137
}
137138

0 commit comments

Comments
 (0)