forked from Upstream/Velocitab
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
fb66fb44ff
@ -7,9 +7,6 @@ import com.velocitypowered.api.plugin.Plugin;
|
||||
import com.velocitypowered.api.plugin.annotation.DataDirectory;
|
||||
import com.velocitypowered.api.proxy.Player;
|
||||
import com.velocitypowered.api.proxy.ProxyServer;
|
||||
import de.themoep.minedown.adventure.MineDown;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.william278.annotaml.Annotaml;
|
||||
import net.william278.velocitab.config.Settings;
|
||||
import net.william278.velocitab.hook.Hook;
|
||||
@ -104,16 +101,6 @@ public class Velocitab {
|
||||
Hook.AVAILABLE.forEach(availableHook -> availableHook.apply(this).ifPresent(hooks::add));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Component formatText(@NotNull String text, @NotNull TabPlayer player) {
|
||||
return switch (getSettings().getFormatter()) {
|
||||
case MINEDOWN -> new MineDown(text).toComponent();
|
||||
case MINIMESSAGE -> getMiniPlaceholdersHook()
|
||||
.map(hook -> hook.format(text, player.getPlayer()))
|
||||
.orElse(MiniMessage.miniMessage().deserialize(text));
|
||||
};
|
||||
}
|
||||
|
||||
private void prepareScoreboardManager() {
|
||||
this.scoreboardManager = new ScoreboardManager(this);
|
||||
scoreboardManager.registerPacket();
|
||||
|
@ -1,11 +1,16 @@
|
||||
package net.william278.velocitab.config;
|
||||
|
||||
|
||||
import de.themoep.minedown.adventure.MineDown;
|
||||
import lombok.Getter;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.william278.annotaml.YamlComment;
|
||||
import net.william278.annotaml.YamlFile;
|
||||
import net.william278.annotaml.YamlKey;
|
||||
import net.william278.velocitab.Velocitab;
|
||||
import net.william278.velocitab.player.TabPlayer;
|
||||
import org.apache.commons.lang3.function.TriFunction;
|
||||
import org.apache.commons.text.StringEscapeUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@ -115,8 +120,22 @@ public class Settings {
|
||||
/**
|
||||
* Different formatting markup options for the TAB list
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public enum Formatter {
|
||||
MINEDOWN,
|
||||
MINIMESSAGE
|
||||
MINEDOWN((text, player, plugin) -> new MineDown(text).toComponent()),
|
||||
MINIMESSAGE((text, player, plugin) -> plugin.getMiniPlaceholdersHook()
|
||||
.map(hook -> hook.format(text, player.getPlayer()))
|
||||
.orElse(MiniMessage.miniMessage().deserialize(text)));
|
||||
|
||||
private final TriFunction<String, TabPlayer, Velocitab, Component> formatter;
|
||||
|
||||
Formatter(@NotNull TriFunction<String, TabPlayer, Velocitab, Component> formatter) {
|
||||
this.formatter = formatter;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Component format(@NotNull String text, @NotNull TabPlayer player, @NotNull Velocitab plugin) {
|
||||
return formatter.apply(text, player, plugin);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ public final class TabPlayer implements Comparable<TabPlayer> {
|
||||
public CompletableFuture<Component> getDisplayName(@NotNull Velocitab plugin) {
|
||||
final String serverGroup = plugin.getSettings().getServerGroup(getServerName());
|
||||
return Placeholder.format(plugin.getSettings().getFormat(serverGroup), plugin, this)
|
||||
.thenApply(formatted -> plugin.formatText(formatted, this));
|
||||
.thenApply(formatted -> plugin.getSettings().getFormatter().format(formatted, this, plugin));
|
||||
|
||||
}
|
||||
|
||||
|
@ -154,14 +154,14 @@ public class PlayerTabList {
|
||||
public CompletableFuture<Component> getHeader(@NotNull TabPlayer player) {
|
||||
return Placeholder.format(plugin.getSettings().getHeader(
|
||||
plugin.getSettings().getServerGroup(player.getServerName())), plugin, player)
|
||||
.thenApply(header -> plugin.formatText(header, player));
|
||||
.thenApply(header -> plugin.getSettings().getFormatter().format(header, player, plugin));
|
||||
|
||||
}
|
||||
|
||||
public CompletableFuture<Component> getFooter(@NotNull TabPlayer player) {
|
||||
return Placeholder.format(plugin.getSettings().getFooter(
|
||||
plugin.getSettings().getServerGroup(player.getServerName())), plugin, player)
|
||||
.thenApply(footer -> plugin.formatText(footer, player));
|
||||
.thenApply(footer -> plugin.getSettings().getFormatter().format(footer, player, plugin));
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user