12
2

added arg requirement for bug command #448

Geschlossen
Hytralium möchte 1 Commits von localtoggle+bugargs nach master mergen
5 geänderte Dateien mit 49 neuen und 3 gelöschten Zeilen

Datei anzeigen

@ -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) {
Review

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.

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.
ChatSender.of(player).system("BUG_NOARGS");
return;
}
SWException.log(server, String.join(" ", message), player.getName() + " " + user.getId());
ChatSender.of(player).system("BUG_MESSAGE");
}

Datei anzeigen

@ -0,0 +1,31 @@
package de.steamwar.bungeecore.commands;
Review

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;
Review

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
}

Datei anzeigen

@ -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)) {
Review

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);

Datei anzeigen

@ -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.
Review

Falsches Encoding (nicht UTF-8)

Falsches Encoding (nicht UTF-8)
#IgnoreCommand
IGNORE_YOURSELF=§cHow are you going to ignore yourself?
@ -659,4 +660,8 @@ ADVENT_CALENDAR_TITLE=§eAdvent Calendar
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!
ADVENT_CALENDAR_OPEN=§7You got §e{0} §7from the advent calendar!
Review

Auch hier falches Encoding

Auch hier falches Encoding
# Toggle Local Chat
LOCALTOGGLE_ON=§7You toggled §alocal §7chat.
LOCALTOGGLE_OFF=§7You toggled §aglobal §7chat.

Datei anzeigen

@ -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.
Review

Auch hier in der Datei

Auch hier in der Datei
#IgnoreCommand
IGNORE_YOURSELF=§cWie willst du dich selber ignorieren?
@ -635,4 +636,8 @@ ADVENT_CALENDAR_TITLE=§eAdventskalender
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!
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.