Skip to content

Commit

Permalink
Allow console name to be translated (EssentialsX#3700)
Browse files Browse the repository at this point in the history
Co-authored-by: Josh Roy <10731363+JRoy@users.noreply.github.com>

Closes EssentialsX#2756. 

Notes:
- I've kept original name for internal purposes (storing bans, etc), just in case user wants to rename it to something unbearable;
- User can message console via both names (since he can try both, duh);
- Some refactoring. Just a little.
  • Loading branch information
Haarolean authored and DarkEyeDragon committed Dec 24, 2020
1 parent 19d1bbc commit d65498a
Show file tree
Hide file tree
Showing 16 changed files with 36 additions and 31 deletions.
Expand Up @@ -6,8 +6,11 @@
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import static com.earth2me.essentials.I18n.tl;

public final class Console implements IMessageRecipient {
public static final String NAME = "Console";
public static final String DISPLAY_NAME = tl("consoleName");
private static Console instance; // Set in essentials

private final IEssentials ess;
Expand Down Expand Up @@ -45,7 +48,7 @@ public String getName() {

@Override
public String getDisplayName() {
return Console.NAME;
return Console.DISPLAY_NAME;
}

@Override
Expand Down
Expand Up @@ -680,11 +680,7 @@ public void banFormatChange() {
}

private void updateBan(final String playerName, final String banReason, final Long banTimeout) {
if (banTimeout == 0) {
Bukkit.getBanList(BanList.Type.NAME).addBan(playerName, banReason, null, Console.NAME);
} else {
Bukkit.getBanList(BanList.Type.NAME).addBan(playerName, banReason, new Date(banTimeout), Console.NAME);
}
Bukkit.getBanList(BanList.Type.NAME).addBan(playerName, banReason, banTimeout == 0 ? null : new Date(banTimeout), Console.NAME);
}

private void repairUserMap() {
Expand Down
2 changes: 1 addition & 1 deletion Essentials/src/main/java/com/earth2me/essentials/User.java
Expand Up @@ -687,7 +687,7 @@ public void checkActivity() {

for (final User user : ess.getOnlineUsers()) {
if (user.isAuthorized("essentials.kick.notify")) {
user.sendMessage(tl("playerKicked", Console.NAME, getName(), kickReason));
user.sendMessage(tl("playerKicked", Console.DISPLAY_NAME, getName(), kickReason));
}
}
}
Expand Down
Expand Up @@ -41,6 +41,7 @@ public void run(final Server server, final CommandSource sender, final String co
}

final String senderName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.NAME;
final String senderDisplayName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.DISPLAY_NAME;
final String banReason;
if (args.length > 1) {
banReason = FormatUtil.replaceFormat(getFinalArg(args, 1).replace("\\n", "\n").replace("|", "\n"));
Expand All @@ -50,16 +51,16 @@ public void run(final Server server, final CommandSource sender, final String co

ess.getServer().getBanList(BanList.Type.NAME).addBan(user.getName(), banReason, null, senderName);

final String banDisplay = tl("banFormat", banReason, senderName);
final String banDisplay = tl("banFormat", banReason, senderDisplayName);

user.getBase().kickPlayer(banDisplay);
server.getLogger().log(Level.INFO, tl("playerBanned", senderName, user.getName(), banDisplay));
server.getLogger().log(Level.INFO, tl("playerBanned", senderDisplayName, user.getName(), banDisplay));

if (nomatch) {
sender.sendMessage(tl("userUnknown", user.getName()));
}

ess.broadcastMessage("essentials.ban.notify", tl("playerBanned", senderName, user.getName(), banReason));
ess.broadcastMessage("essentials.ban.notify", tl("playerBanned", senderDisplayName, user.getName(), banReason));
}

@Override
Expand Down
Expand Up @@ -26,6 +26,7 @@ public void run(final Server server, final CommandSource sender, final String co
}

final String senderName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.NAME;
final String senderDisplayName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.DISPLAY_NAME;

String ipAddress;
if (FormatUtil.validIP(args[0])) {
Expand All @@ -50,18 +51,18 @@ public void run(final Server server, final CommandSource sender, final String co
banReason = tl("defaultBanReason");
}

final String banDisplay = tl("banFormat", banReason, senderName);
final String banDisplay = tl("banFormat", banReason, senderDisplayName);

ess.getServer().getBanList(BanList.Type.IP).addBan(ipAddress, banReason, null, senderName);
server.getLogger().log(Level.INFO, tl("playerBanIpAddress", senderName, ipAddress, banReason));
server.getLogger().log(Level.INFO, tl("playerBanIpAddress", senderDisplayName, ipAddress, banReason));

for (final Player player : ess.getServer().getOnlinePlayers()) {
if (player.getAddress().getAddress().getHostAddress().equalsIgnoreCase(ipAddress)) {
player.kickPlayer(banDisplay);
}
}

ess.broadcastMessage("essentials.banip.notify", tl("playerBanIpAddress", senderName, ipAddress, banReason));
ess.broadcastMessage("essentials.banip.notify", tl("playerBanIpAddress", senderDisplayName, ipAddress, banReason));
}

@Override
Expand Down
Expand Up @@ -28,7 +28,7 @@ public void run(final Server server, final User user, final String commandLabel,

@Override
public void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception {
sendMessage(server, Console.NAME, args);
sendMessage(server, Console.DISPLAY_NAME, args);
}

private String sendMessage(final Server server, final String from, final String[] args) throws Exception {
Expand Down
Expand Up @@ -39,10 +39,10 @@ public void run(final Server server, final CommandSource sender, final String co
kickReason = FormatUtil.replaceFormat(kickReason.replace("\\n", "\n").replace("|", "\n"));

target.getBase().kickPlayer(kickReason);
final String senderName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.NAME;
final String senderDisplayName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.DISPLAY_NAME;

server.getLogger().log(Level.INFO, tl("playerKicked", senderName, target.getName(), kickReason));
ess.broadcastMessage("essentials.kick.notify", tl("playerKicked", senderName, target.getName(), kickReason));
server.getLogger().log(Level.INFO, tl("playerKicked", senderDisplayName, target.getName(), kickReason));
ess.broadcastMessage("essentials.kick.notify", tl("playerKicked", senderDisplayName, target.getName(), kickReason));
}

@Override
Expand Down
Expand Up @@ -40,7 +40,7 @@ public void run(final Server server, final CommandSource sender, final String co
}

// Sending messages to console
if (args[0].equalsIgnoreCase(Console.NAME)) {
if (args[0].equalsIgnoreCase(Console.NAME) || args[0].equalsIgnoreCase(Console.DISPLAY_NAME)) {
final IMessageRecipient messageSender = sender.isPlayer() ? ess.getUser(sender.getPlayer()) : Console.getInstance();
messageSender.sendMessage(Console.getInstance(), message);
return;
Expand Down
Expand Up @@ -47,12 +47,13 @@ public void run(final Server server, final CommandSource sender, final String co
}

final String senderName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.NAME;
final String senderDisplayName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.DISPLAY_NAME;
ess.getServer().getBanList(BanList.Type.NAME).addBan(user.getName(), banReason, new Date(banTimestamp), senderName);
final String expiry = DateUtil.formatDateDiff(banTimestamp);

user.getBase().kickPlayer(tl("tempBanned", expiry, senderName, banReason));
user.getBase().kickPlayer(tl("tempBanned", expiry, senderDisplayName, banReason));

final String message = tl("playerTempBanned", senderName, user.getName(), expiry, banReason);
final String message = tl("playerTempBanned", senderDisplayName, user.getName(), expiry, banReason);
server.getLogger().log(Level.INFO, message);
ess.broadcastMessage("essentials.ban.notify", message);
}
Expand Down
Expand Up @@ -28,6 +28,7 @@ public void run(final Server server, final CommandSource sender, final String co
}

final String senderName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.NAME;
final String senderDisplayName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.DISPLAY_NAME;

String ipAddress;
if (FormatUtil.validIP(args[0])) {
Expand Down Expand Up @@ -61,14 +62,15 @@ public void run(final Server server, final CommandSource sender, final String co

ess.getServer().getBanList(BanList.Type.IP).addBan(ipAddress, banReason, new Date(banTimestamp), senderName);

final String banDisplay = tl("banFormat", banReason, senderName);
final String banDisplay = tl("banFormat", banReason, senderDisplayName);
for (final Player player : ess.getServer().getOnlinePlayers()) {
if (player.getAddress().getAddress().getHostAddress().equalsIgnoreCase(ipAddress)) {
player.kickPlayer(banDisplay);
}
}

final String message = tl("playerTempBanIpAddress", senderName, ipAddress, DateUtil.formatDateDiff(banTimestamp), banReason);
final String message = tl("playerTempBanIpAddress", senderDisplayName, ipAddress,
DateUtil.formatDateDiff(banTimestamp), banReason);
server.getLogger().log(Level.INFO, message);
ess.broadcastMessage("essentials.banip.notify", message);
}
Expand Down
Expand Up @@ -119,7 +119,7 @@ public void run(final Server server, final CommandSource sender, final String co
final User target = getPlayer(server, args, 0, true, false);
if (args.length == 2) {
final User toPlayer = getPlayer(server, args, 1, true, false);
target.sendMessage(tl("teleportAtoB", Console.NAME, toPlayer.getDisplayName()));
target.sendMessage(tl("teleportAtoB", Console.DISPLAY_NAME, toPlayer.getDisplayName()));
target.getAsyncTeleport().now(toPlayer.getBase(), false, TeleportCause.COMMAND, getNewExceptionFuture(sender, commandLabel));
} else if (args.length > 3) {
final double x = args[1].startsWith("~") ? target.getLocation().getX() + (args[1].length() > 1 ? Double.parseDouble(args[1].substring(1)) : 0) : Double.parseDouble(args[1]);
Expand Down
Expand Up @@ -36,9 +36,9 @@ public void run(final Server server, final CommandSource sender, final String co
ess.getServer().getBanList(BanList.Type.NAME).pardon(name);
}

final String senderName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.NAME;
server.getLogger().log(Level.INFO, tl("playerUnbanned", senderName, name));
final String senderDisplayName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.DISPLAY_NAME;
server.getLogger().log(Level.INFO, tl("playerUnbanned", senderDisplayName, name));

ess.broadcastMessage("essentials.ban.notify", tl("playerUnbanned", senderName, name));
ess.broadcastMessage("essentials.ban.notify", tl("playerUnbanned", senderDisplayName, name));
}
}
Expand Up @@ -39,9 +39,9 @@ public void run(final Server server, final CommandSource sender, final String co
}

ess.getServer().getBanList(BanList.Type.IP).pardon(ipAddress);
final String senderName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.NAME;
server.getLogger().log(Level.INFO, tl("playerUnbanIpAddress", senderName, ipAddress));
final String senderDisplayName = sender.isPlayer() ? sender.getPlayer().getDisplayName() : Console.DISPLAY_NAME;
server.getLogger().log(Level.INFO, tl("playerUnbanIpAddress", senderDisplayName, ipAddress));

ess.broadcastMessage("essentials.banip.notify", tl("playerUnbanIpAddress", senderName, ipAddress));
ess.broadcastMessage("essentials.banip.notify", tl("playerUnbanIpAddress", senderDisplayName, ipAddress));
}
}
1 change: 1 addition & 0 deletions Essentials/src/main/resources/messages.properties
Expand Up @@ -120,6 +120,7 @@ confirmClear=\u00a77To \u00a7lCONFIRM\u00a77 inventory clear, please repeat comm
confirmPayment=\u00a77To \u00a7lCONFIRM\u00a77 payment of \u00a76{0}\u00a77, please repeat command: \u00a76{1}
connectedPlayers=\u00a76Connected players\u00a7r
connectionFailed=Failed to open connection.
consoleName=Console
cooldownWithMessage=\u00a74Cooldown\: {0}
coordsKeyword={0}, {1}, {2}
couldNotFindTemplate=\u00a74Could not find template {0}
Expand Down
Expand Up @@ -54,7 +54,7 @@ protected void run(final Server server, final CommandSource sender, final String
respawn(sender, null, user, null, commandLabel, future);
future.thenAccept(success -> {
if (success) {
user.sendMessage(tl("teleportAtoB", Console.NAME, "spawn"));
user.sendMessage(tl("teleportAtoB", Console.DISPLAY_NAME, "spawn"));
}
});
}
Expand Down
Expand Up @@ -25,7 +25,7 @@ protected void run(final Server server, final CommandSource sender, final String
}

final String message = getFinalArg(args, 1);
final String senderName = sender.isPlayer() ? ess.getUser(sender.getPlayer()).getDisplayName() : Console.NAME;
final String senderName = sender.isPlayer() ? ess.getUser(sender.getPlayer()).getDisplayName() : Console.DISPLAY_NAME;
sender.sendMessage("[" + senderName + ">" + address + "] " + message);
if (!EssentialsXMPP.getInstance().sendMessage(address, "[" + senderName + "] " + message)) {
sender.sendMessage(ChatColor.RED + "Error sending message.");
Expand Down

0 comments on commit d65498a

Please sign in to comment.