added arg requirement for bug command #448
@ -34,6 +34,10 @@ public class BugCommand extends SWCommand {
|
||||
public void bugMessage(ProxiedPlayer player, String... message) {
|
||||
String server = player.getServer().getInfo().getName();
|
||||
SteamwarUser user = SteamwarUser.get(player.getUniqueId());
|
||||
if (message.length == 0) {
|
||||
|
||||
ChatSender.of(player).system("BUG_NOARGS");
|
||||
return;
|
||||
}
|
||||
SWException.log(server, String.join(" ", message), player.getName() + " " + user.getId());
|
||||
ChatSender.of(player).system("BUG_MESSAGE");
|
||||
}
|
||||
|
31
src/de/steamwar/bungeecore/commands/ToggleLocalChatCommand.java
Normale Datei
@ -0,0 +1,31 @@
|
||||
package de.steamwar.bungeecore.commands;
|
||||
Lixfel
hat
Vor jeder Datei bitte wenn den Lizenz-Header anfügen, da alle unsere Code-Contributions grundsätzlich AGPL 3.0 or later sind. Kannst dir für den Header mal eine andere Datei mit ansehen. Vor jeder Datei bitte wenn den Lizenz-Header anfügen, da alle unsere Code-Contributions grundsätzlich AGPL 3.0 or later sind. Kannst dir für den Header mal eine andere Datei mit ansehen.
|
||||
|
||||
import de.steamwar.command.SWCommand;
|
||||
import de.steamwar.messages.ChatSender;
|
||||
import lombok.Getter;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ToggleLocalChatCommand extends SWCommand {
|
||||
@Getter private static List<ProxiedPlayer> inLocalChat;
|
||||
Lixfel
hat
Das reicht so nicht, wenn wir das Plugin neu laden (das machen wir mehrfach, während es läuft, um es z.B. zu updaten, ohne alle vom Server zu werfen). Dafür gibt es im PersistentBungeeCore eine extra Storage-Klasse. (Der PersistentBungeeCore wird nicht zur Laufzeit ausgewechselt) Das reicht so nicht, wenn wir das Plugin neu laden (das machen wir mehrfach, während es läuft, um es z.B. zu updaten, ohne alle vom Server zu werfen). Dafür gibt es im PersistentBungeeCore eine extra Storage-Klasse. (Der PersistentBungeeCore wird nicht zur Laufzeit ausgewechselt)
|
||||
|
||||
protected ToggleLocalChatCommand() {
|
||||
super("localtoggle", null, "togglelocal", "lt");
|
||||
inLocalChat = new ArrayList<>();
|
||||
}
|
||||
|
||||
@Register
|
||||
public void toggleLocalChat(ProxiedPlayer player) {
|
||||
if (inLocalChat.contains(player)) {
|
||||
inLocalChat.remove(player);
|
||||
ChatSender.of(player).system("LOCALTOGGLE_OFF");
|
||||
} else {
|
||||
inLocalChat.add(player);
|
||||
ChatSender.of(player).system("LOCALTOGGLE_ON");
|
||||
}
|
||||
}
|
||||
|
||||
// Ich habe keine ahnung ob ich das richtig mache
|
||||
}
|
@ -21,6 +21,7 @@ package de.steamwar.bungeecore.listeners;
|
||||
|
||||
import de.steamwar.bungeecore.*;
|
||||
import de.steamwar.bungeecore.bot.SteamwarDiscordBot;
|
||||
import de.steamwar.bungeecore.commands.ToggleLocalChatCommand;
|
||||
import de.steamwar.bungeecore.network.NetworkSender;
|
||||
import de.steamwar.bungeecore.sql.*;
|
||||
import de.steamwar.bungeecore.util.Chat19;
|
||||
@ -69,7 +70,7 @@ public class ChatListener extends BasicListener {
|
||||
Subserver subserver = Subserver.getSubserver(player);
|
||||
if(subserver != null && subserver.getType() == Servertype.ARENA && subserver.getServer() == player.getServer().getInfo()) {
|
||||
localChat(player, message);
|
||||
} else if (message.startsWith("+")) {
|
||||
} else if (message.startsWith("+") || ToggleLocalChatCommand.getInLocalChat().contains(player)) {
|
||||
Lixfel
hat
Das Feature geht nicht weit genug. Jetzt möchte ich immer permanent ohne Befehl in Teamchat schreiben, standardmäßig in meine Privatnachrichten, standardmäßig in meine derzeitige MSG-Konversation schreiben... Das ist gar nicht so einfach und sollte wenn so generalisierbar gemacht werden. Dazu kann es sein, dass man aus einer Arena rein/rauswechselt (wechsel lokaler<->globaler Chat) und zukünftig ist noch eine sprachspezifische Aufteilung der globalen Chats geplant. Dafür braucht es eine andere Architektur als das hier, d.h. werden wir das so wohl erstmal nicht umsetzen. Das Feature geht nicht weit genug. Jetzt möchte ich immer permanent ohne Befehl in Teamchat schreiben, standardmäßig in meine Privatnachrichten, standardmäßig in meine derzeitige MSG-Konversation schreiben... Das ist gar nicht so einfach und sollte wenn so generalisierbar gemacht werden. Dazu kann es sein, dass man aus einer Arena rein/rauswechselt (wechsel lokaler<->globaler Chat) und zukünftig ist noch eine sprachspezifische Aufteilung der globalen Chats geplant.
Dafür braucht es eine andere Architektur als das hier, d.h. werden wir das so wohl erstmal nicht umsetzen.
|
||||
localChat(player, message.substring(1));
|
||||
} else {
|
||||
sendChat(ChatSender.of(player), ChatSender.globalReceivers(), "CHAT_GLOBAL", null, message);
|
||||
|
@ -183,6 +183,7 @@ NOTE_TEAM={0} §e{1} §7received a §e§lnote§7 from §e{2} {3}: §f{4}
|
||||
|
||||
#BugCommand
|
||||
BUG_MESSAGE=§7Your bugreport was saved.
|
||||
BUG_NOARGS=§7Please specify a bug.
|
||||
Lixfel
hat
Falsches Encoding (nicht UTF-8) Falsches Encoding (nicht UTF-8)
|
||||
|
||||
#IgnoreCommand
|
||||
IGNORE_YOURSELF=§cHow are you going to ignore yourself?
|
||||
@ -660,3 +661,7 @@ ADVENT_CALENDAR_DAY=§7Day§8: §e{0}
|
||||
ADVENT_CALENDAR_MESSAGE=§eDid you already open your advent calendar?
|
||||
ADVENT_CALENDAR_MESSAGE_HOVER=§eClick to open!
|
||||
ADVENT_CALENDAR_OPEN=§7You got §e{0} §7from the advent calendar!
|
||||
Lixfel
hat
Auch hier falches Encoding Auch hier falches Encoding
|
||||
|
||||
# Toggle Local Chat
|
||||
LOCALTOGGLE_ON=§7You toggled §alocal §7chat.
|
||||
LOCALTOGGLE_OFF=§7You toggled §aglobal §7chat.
|
||||
|
@ -168,6 +168,7 @@ NOTE_TEAM={0} §e{1} §7erhielt von §e{2} {3} §7die §e§lNotiz§7§8: §f{4}
|
||||
|
||||
#BugCommand
|
||||
BUG_MESSAGE=§7Dein Bugreport wurde gespeichert.
|
||||
BUG_NOARGS=§7Bitte nenne einen Bug.
|
||||
Lixfel
hat
Auch hier in der Datei Auch hier in der Datei
|
||||
|
||||
#IgnoreCommand
|
||||
IGNORE_YOURSELF=§cWie willst du dich selber ignorieren?
|
||||
@ -636,3 +637,7 @@ ADVENT_CALENDAR_DAY=§7Tag§8: §e{0}
|
||||
ADVENT_CALENDAR_MESSAGE=§eHast du heute schon dein Geschenk geholt?
|
||||
ADVENT_CALENDAR_MESSAGE_HOVER=§eKlicken zum öffnen!
|
||||
ADVENT_CALENDAR_OPEN=§7Du hast §e{0}§7 aus dem Adventskalender erhalten!
|
||||
|
||||
# Toggle Local Chat
|
||||
LOCALTOGGLE_ON=§7Du bist jetzt im §aLokalen §7Chat.
|
||||
LOCALTOGGLE_OFF=§7Du bist jetzt im §aGlobalen §7Chat.
|
Der ursprüngliche Gedanke (warum das nicht zur Bedingung gemacht wurde) war, dass wenn der Server schließt oder gerade am Abstürzen ist, man schnell noch auf dem Server den 1. Bugreport filen kann (damit wir wissen, welcher Server das genau war) und man dann hinterher in Ruhe schreiben kann, was genau vorgefallen ist. Daher weiß ich nicht, ob wir das so machen wollen.