forked from Upstream/Velocitab
Allow setting display name for servers (#30)
This commit is contained in:
parent
f14a92b432
commit
ef7e07c59d
@ -23,7 +23,7 @@ public enum Placeholder {
|
||||
CURRENT_DATE((plugin, player) -> DateTimeFormatter.ofPattern("dd MMM yyyy").format(LocalDateTime.now())),
|
||||
CURRENT_TIME((plugin, player) -> DateTimeFormatter.ofPattern("HH:mm:ss").format(LocalDateTime.now())),
|
||||
USERNAME((plugin, player) -> plugin.getFormatter().escape(player.getPlayer().getUsername())),
|
||||
SERVER((plugin, player) -> player.getServerName()),
|
||||
SERVER((plugin, player) -> player.getServerDisplayName(plugin)),
|
||||
PING((plugin, player) -> Long.toString(player.getPlayer().getPing())),
|
||||
PREFIX((plugin, player) -> player.getRole().getPrefix().orElse("")),
|
||||
SUFFIX((plugin, player) -> player.getRole().getSuffix().orElse("")),
|
||||
|
@ -56,6 +56,12 @@ public class Settings {
|
||||
@YamlComment("Only show other players on a server that is part of the same server group as the player.")
|
||||
private boolean onlyListPlayersInSameGroup = true;
|
||||
|
||||
@Getter
|
||||
@YamlKey("server_display_names")
|
||||
@YamlComment("Define custom names to be shown in the TAB list for specific server names.\n" +
|
||||
"If no custom display name is provided for a server, its original name will be used.")
|
||||
private Map<String, String> serverDisplayNames = Map.of("very-long-server-name", "VLSN");
|
||||
|
||||
@YamlKey("enable_papi_hook")
|
||||
private boolean enablePapiHook = true;
|
||||
|
||||
@ -110,6 +116,17 @@ public class Settings {
|
||||
formats.getOrDefault(serverGroup, "%username%"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get display name for the server
|
||||
*
|
||||
* @param serverName The server name
|
||||
* @return The display name, or the server name if no display name is defined
|
||||
*/
|
||||
@NotNull
|
||||
public String getServerDisplayName(@NotNull String serverName) {
|
||||
return serverDisplayNames.getOrDefault(serverName, serverName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the server group that a server is in
|
||||
*
|
||||
|
@ -34,6 +34,12 @@ public final class TabPlayer implements Comparable<TabPlayer> {
|
||||
return role;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the server name the player is currently on.
|
||||
* Isn't affected by server aliases defined in the config.
|
||||
*
|
||||
* @return The server name
|
||||
*/
|
||||
@NotNull
|
||||
public String getServerName() {
|
||||
return player.getCurrentServer()
|
||||
@ -41,6 +47,18 @@ public final class TabPlayer implements Comparable<TabPlayer> {
|
||||
.orElse("unknown");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the display name of the server the player is currently on.
|
||||
* Affected by server aliases defined in the config.
|
||||
*
|
||||
* @param plugin The plugin instance
|
||||
* @return The display name of the server
|
||||
*/
|
||||
@NotNull
|
||||
public String getServerDisplayName(@NotNull Velocitab plugin) {
|
||||
return plugin.getSettings().getServerDisplayName(getServerName());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public CompletableFuture<Component> getDisplayName(@NotNull Velocitab plugin) {
|
||||
final String serverGroup = plugin.getSettings().getServerGroup(getServerName());
|
||||
|
Loading…
Reference in New Issue
Block a user