From 6b469b6da1e009fd323904ee415e449096bc16c6 Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Tue, 19 Jan 2021 16:16:37 +0100 Subject: [PATCH] Add ChatListener MultiLang --- .../bungeecore/listeners/ChatListener.java | 40 +++++++++---------- .../steamwar/messages/BungeeCore.properties | 18 ++++++++- 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/src/de/steamwar/bungeecore/listeners/ChatListener.java b/src/de/steamwar/bungeecore/listeners/ChatListener.java index 878ea45e..3470ea62 100644 --- a/src/de/steamwar/bungeecore/listeners/ChatListener.java +++ b/src/de/steamwar/bungeecore/listeners/ChatListener.java @@ -20,6 +20,7 @@ package de.steamwar.bungeecore.listeners; import de.steamwar.bungeecore.BungeeCore; +import de.steamwar.bungeecore.Message; import de.steamwar.bungeecore.Servertype; import de.steamwar.bungeecore.Subserver; import de.steamwar.bungeecore.commands.BauCommand; @@ -28,10 +29,7 @@ import de.steamwar.bungeecore.comms.packets.PingPacket; import de.steamwar.bungeecore.sql.SteamwarUser; import de.steamwar.bungeecore.sql.Team; import de.steamwar.bungeecore.sql.UserGroup; -import net.md_5.bungee.api.ChatColor; -import net.md_5.bungee.api.ChatMessageType; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.Title; +import net.md_5.bungee.api.*; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.event.ChatEvent; @@ -73,7 +71,7 @@ public class ChatListener extends BasicListener { String [] command = e.getMessage().split(" "); if(command[0].contains(":")){ if(e.getSender() instanceof ProxiedPlayer) - BungeeCore.send((ProxiedPlayer) e.getSender(), BungeeCore.CHAT_PREFIX + "§cUnbekannter Befehl."); + Message.send("UNKNOWN_COMMAND", (CommandSender) e.getSender()); e.setCancelled(true); return; } @@ -99,25 +97,23 @@ public class ChatListener extends BasicListener { private void lixfelAlert(ProxiedPlayer sender) { LIXFEL.send(sender); - final String l = "§eLixfel§8»§e" + sender.getName() + " §c"; - BungeeCore.send(sender, ChatMessageType.ACTION_BAR, "§4§lTechnische Probleme?"); + Message.send("CHAT_LIXFEL_ACTION_BAR", sender, ChatMessageType.ACTION_BAR); TaskScheduler scheduler = ProxyServer.getInstance().getScheduler(); - scheduler.schedule(BungeeCore.get(), () -> BungeeCore.send(sender, l + "Du hast mich gerufen!"), 3, TimeUnit.SECONDS); - scheduler.schedule(BungeeCore.get(), () -> BungeeCore.send(sender, l + "Leider bin ich nur ein Mensch und höre nicht alles."), 6, TimeUnit.SECONDS); - scheduler.schedule(BungeeCore.get(), () -> BungeeCore.send(sender, l + "Daher bitte ich dich, das Problem bzw. den Fehler im Forum in der Kategorie §eFehler melden §cmit einer ausreichenden Beschreibung zu hinterlegen."), 11, TimeUnit.SECONDS); - scheduler.schedule(BungeeCore.get(), () -> BungeeCore.send(sender, l + "Vielen Dank."), 12, TimeUnit.SECONDS); - scheduler.schedule(BungeeCore.get(), () -> BungeeCore.send(sender, l + "Ich wünsche dir noch weiterhin ein reibungsloses Spielerlebnis."), 15, TimeUnit.SECONDS); + scheduler.schedule(BungeeCore.get(), () -> Message.sendPrefixless("MSG_FORMAT", sender, "Lixfel", sender.getDisplayName(), Message.parse("CHAT_LIXFEL_1", sender)), 3, TimeUnit.SECONDS); + scheduler.schedule(BungeeCore.get(), () -> Message.sendPrefixless("MSG_FORMAT", sender, "Lixfel", sender.getDisplayName(), Message.parse("CHAT_LIXFEL_2", sender)), 6, TimeUnit.SECONDS); + scheduler.schedule(BungeeCore.get(), () -> Message.sendPrefixless("MSG_FORMAT", sender, "Lixfel", sender.getDisplayName(), Message.parse("CHAT_LIXFEL_3", sender)), 11, TimeUnit.SECONDS); + scheduler.schedule(BungeeCore.get(), () -> Message.sendPrefixless("MSG_FORMAT", sender, "Lixfel", sender.getDisplayName(), Message.parse("CHAT_LIXFEL_4", sender)), 12, TimeUnit.SECONDS); + scheduler.schedule(BungeeCore.get(), () -> Message.sendPrefixless("MSG_FORMAT", sender, "Lixfel", sender.getDisplayName(), Message.parse("CHAT_LIXFEL_5", sender)), 15, TimeUnit.SECONDS); } private void yoyonowAlert(ProxiedPlayer sender) { YOYONOW.send(sender); - final String l = "§eYoyoNow§8»§e" + sender.getName() + " §c"; - BungeeCore.send(sender, ChatMessageType.ACTION_BAR, "§4§lTechnische Probleme?"); + Message.send("CHAT_LIXFEL_ACTION_BAR", sender, ChatMessageType.ACTION_BAR); TaskScheduler scheduler = ProxyServer.getInstance().getScheduler(); - scheduler.schedule(BungeeCore.get(), () -> BungeeCore.send(sender, l + "Du hast mich gerufen!"), 3, TimeUnit.SECONDS); - scheduler.schedule(BungeeCore.get(), () -> BungeeCore.send(sender, l + "Ich würde dir gerne den Befehl \"/bug \" ans Herz legen."), 10, TimeUnit.SECONDS); - scheduler.schedule(BungeeCore.get(), () -> BungeeCore.send(sender, l + "Vielen Dank."), 12, TimeUnit.SECONDS); - scheduler.schedule(BungeeCore.get(), () -> BungeeCore.send(sender, l + "Ich wünsche dir noch weiterhin ein reibungsloses Spielerlebnis."), 15, TimeUnit.SECONDS); + scheduler.schedule(BungeeCore.get(), () -> Message.sendPrefixless("MSG_FORMAT", sender, "YoyoNow", sender.getDisplayName(), Message.parse("CHAT_YOYONOW_1", sender)), 3, TimeUnit.SECONDS); + scheduler.schedule(BungeeCore.get(), () -> Message.sendPrefixless("MSG_FORMAT", sender, "YoyoNow", sender.getDisplayName(), Message.parse("CHAT_YOYONOW_2", sender)), 6, TimeUnit.SECONDS); + scheduler.schedule(BungeeCore.get(), () -> Message.sendPrefixless("MSG_FORMAT", sender, "YoyoNow", sender.getDisplayName(), Message.parse("CHAT_YOYONOW_3", sender)), 11, TimeUnit.SECONDS); + scheduler.schedule(BungeeCore.get(), () -> Message.sendPrefixless("MSG_FORMAT", sender, "YoyoNow", sender.getDisplayName(), Message.parse("CHAT_YOYONOW_4", sender)), 12, TimeUnit.SECONDS); } private void onChat(ChatEvent e){ @@ -130,7 +126,7 @@ public class ChatListener extends BasicListener { yoyonowAlert(sender); if(sender.getChatMode() != ProxiedPlayer.ChatMode.SHOWN){ - BungeeCore.send(sender, BungeeCore.CHAT_PREFIX + "§cUm Chatnachrichten versenden zu können, musst du auch welche empfangen!"); + Message.send("CHAT_RECEIVE", sender); e.setCancelled(true); return; } @@ -143,7 +139,7 @@ public class ChatListener extends BasicListener { } if(!sender.hasPermission(ConnectionListener.TEAM_GROUP) && (e.getMessage().contains("http") || e.getMessage().contains("www"))){ - BungeeCore.send(sender, BungeeCore.CHAT_PREFIX + "§cDu darfst keine Links versenden."); + Message.send("CHAT_NO_LINKS", sender); e.setCancelled(true); return; } @@ -194,7 +190,7 @@ public class ChatListener extends BasicListener { ProxiedPlayer sender = (ProxiedPlayer) e.getSender(); BungeeCore.log(sender, e.getMessage()); if(command.length == 1){ - BungeeCore.send(sender, BungeeCore.CHAT_PREFIX + "§8/§e" + command[0].substring(1) + " §8[§7Nachricht§8]"); + Message.send("CHAT_BC_SYNTAX", sender, command[0].substring(1)); e.setCancelled(true); return; } @@ -207,7 +203,7 @@ public class ChatListener extends BasicListener { } if(command[1].startsWith("/")){ - BungeeCore.send(sender, "§cKeine Befehle mit /local möglich."); + Message.send("CHAT_BC_NO_COMMANDS", sender); e.setCancelled(true); return; } diff --git a/src/de/steamwar/messages/BungeeCore.properties b/src/de/steamwar/messages/BungeeCore.properties index d202657d..6e934d6f 100644 --- a/src/de/steamwar/messages/BungeeCore.properties +++ b/src/de/steamwar/messages/BungeeCore.properties @@ -415,4 +415,20 @@ WEB_ALREADY_EMAIL=§cDie E-Mail hast du bereits für einen anderen Account verwe WEB_NOT_EMAIL=§c[E-Mail], nicht [Freitext]! WEB_EMAIL_REFRESH=§aDeine E-Mail-Adresse wurde aktualisiert. WEB_INTERNAL_ERROR=§cEin interner Fehler ist aufgetreten, bitte wende dich an einen Developer. -WEB_EMAIL_SEND=§aEine E-Mail zum Setzen des Passworts wurde gesendet. \ No newline at end of file +WEB_EMAIL_SEND=§aEine E-Mail zum Setzen des Passworts wurde gesendet. + +#ChatListener +CHAT_LIXFEL_ACTION_BAR=§4§lTechnische Probleme? +CHAT_LIXFEL_1=Du hast mich gerufen! +CHAT_LIXFEL_2=Leider bin ich nur ein Mensch und höre nicht alles. +CHAT_LIXFEL_3=Daher bitte ich dich, das Problem bzw. den Fehler im Forum in der Kategorie §eFehler melden §cmit einer ausreichenden Beschreibung zu hinterlegen. +CHAT_LIXFEL_4=Vielen Dank. +CHAT_LIXFEL_5=Ich wünsche dir noch weiterhin ein reibungsloses Spielerlebnis. +CHAT_YOYONOW_1=Du hast mich gerufen! +CHAT_YOYONOW_2=Ich würde dir gerne den Befehl "/bug " ans Herz legen. +CHAT_YOYONOW_3=Vielen Dank. +CHAT_YOYONOW_4=Ich wünsche dir noch weiterhin ein reibungsloses Spielerlebnis. +CHAT_RECEIVE=§cUm Chatnachrichten versenden zu können, musst du auch welche empfangen! +CHAT_NO_LINKS=§cDu darfst keine Links versenden. +CHAT_BC_SYNTAX=§8/§e{0} §8[§7Nachricht§8] +CHAT_BC_NO_COMMANDS=§cKeine Befehle mit /local möglich. \ No newline at end of file