ModCommand #445
@ -163,6 +163,8 @@ public class BungeeCore extends Plugin {
|
||||
new CalendarCommand();
|
||||
new CalendarListener();
|
||||
|
||||
new ModCommand();
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
|
||||
|
||||
// Punishment Commands:
|
||||
new PunishmentCommand("ban", Punishment.PunishmentType.Ban);
|
||||
new PunishmentCommand("mute", Punishment.PunishmentType.Mute);
|
||||
|
60
src/de/steamwar/bungeecore/commands/ModCommand.java
Normale Datei
@ -0,0 +1,60 @@
|
||||
package de.steamwar.bungeecore.commands;
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Fehlender License-Header Fehlender License-Header
|
||||
|
||||
import de.steamwar.bungeecore.Message;
|
||||
import de.steamwar.bungeecore.sql.Statement;
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Du kannst dein Template auch mal Updaten :D Du kannst dein Template auch mal Updaten :D
|
||||
import de.steamwar.bungeecore.sql.SteamwarUser;
|
||||
import de.steamwar.bungeecore.sql.UserGroup;
|
||||
import de.steamwar.command.SWCommand;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
|
||||
public class ModCommand extends SWCommand {
|
||||
|
||||
private static final Statement set = new Statement("UPDATE Mods Set ModType = ? WHERE ModName = ?");
|
||||
private static final Statement findFirst = new Statement("SELECT * FROM Mods WHERE modType = 0 LIMIT 1");
|
||||
|
||||
private static final Statement exists = new Statement("SELECT * FROM Mods WHERE ModName = ?");
|
||||
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Der Modname ist nicht eindeutig (Modloader spielt auch noch eine Rolle) Der Modname ist nicht eindeutig (Modloader spielt auch noch eine Rolle)
|
||||
public ModCommand() {
|
||||
super("mod", "bungeecore.teamchat", "mods");
|
||||
}
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Bitte wenn direkt korrekt mit allem drum und dran im SQL-Modul als Mod-Klasse machen. Allgemein gerade schwieriger Zeitpunkt, weil das auch irgendwann demnächst in den CommonCore kommt. Bitte wenn direkt korrekt mit allem drum und dran im SQL-Modul als Mod-Klasse machen. Allgemein gerade schwieriger Zeitpunkt, weil das auch irgendwann demnächst in den CommonCore kommt.
zOnlyKroks
hat
Wie meinst du das mi als Mod-Klasse? Würde ich interpretieren vom test her das ich die ganze klasse ins sql modul schiebe. Wie meinst du das mi als Mod-Klasse? Würde ich interpretieren vom test her das ich die ganze klasse ins sql modul schiebe.
|
||||
|
||||
@Register(value = {"set"},description = "MOD_COMMAND_SET_USAGE")
|
||||
public void set(ProxiedPlayer p,String modName,Integer newModType) {
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Bitte nur /classifymod, und die Berechtigung sollte eher an bungeecore.softreload gebunden werden. Wobei ich denke, dass das doch hier nicht korrekt ist mit dem CommandFramework, das arbeitet doch gar nicht mit diesen Berechtigungen? Bitte nur /classifymod, und die Berechtigung sollte eher an bungeecore.softreload gebunden werden. Wobei ich denke, dass das doch hier nicht korrekt ist mit dem CommandFramework, das arbeitet doch gar nicht mit diesen Berechtigungen?
zOnlyKroks
hat
werde ich bald testen werde ich bald testen
|
||||
SteamwarUser user = SteamwarUser.get(p.getUniqueId());
|
||||
UserGroup group = user.getUserGroup();
|
||||
|
||||
if(!group.isAdminGroup()) {
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
SQL-Statements gehören in das SQL-Package, da sollte es eine Mod-Klasse geben, da gehören die rein SQL-Statements gehören in das SQL-Package, da sollte es eine Mod-Klasse geben, da gehören die rein
|
||||
Message.send("MOD_COMMAND_SET_USAGE",p);
|
||||
return;
|
||||
}
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Lixfel
hat
Das das dann der Filter für alle Nutzer zeitgleich angepasst/gesetzt wird, halte ich für ziemlich problematisch. Das das dann der Filter für alle Nutzer zeitgleich angepasst/gesetzt wird, halte ich für ziemlich problematisch.
|
||||
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Auch hier. Auch hier.
|
||||
set.update(newModType,modName);
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Klammer hier unnötig. Klammer hier unnötig.
|
||||
|
||||
Message.send("MOD_CHANGED_TYPE",p,modName,newModType);
|
||||
}
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Das Inventar im aktuellen Status ist etwas Fraglich, es zeigt einem alle Mods an (ca. 1700, 38 Seiten). Es sollte nur die nicht-Klassifizierten anzeigen oder alle mit ein Paar Filter funktionen eg. Name, Klassifizierung Das Inventar im aktuellen Status ist etwas Fraglich, es zeigt einem alle Mods an (ca. 1700, 38 Seiten).
Es sollte nur die nicht-Klassifizierten anzeigen oder alle mit ein Paar Filter funktionen eg. Name, Klassifizierung
|
||||
|
||||
@Register(value = {"next"},description = "MOD_COMMAND_NEXT_USAGE")
|
||||
public void next(ProxiedPlayer p) {
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
DebugCode DebugCode
|
||||
SteamwarUser user = SteamwarUser.get(p.getUniqueId());
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Könnten wir diese Lambda-Funktion (mit nur dem Spieler und Mod als Argument) bitte der Lesbarkeit wegen in eine separate Methode auslagern? Könnten wir diese Lambda-Funktion (mit nur dem Spieler und Mod als Argument) bitte der Lesbarkeit wegen in eine separate Methode auslagern?
|
||||
UserGroup group = user.getUserGroup();
|
||||
|
||||
if(!group.isAdminGroup()) {
|
||||
Message.send("MOD_COMMAND_NEXT_USAGE",p);
|
||||
return;
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Nach dem Klassifizieren würde ich direkt wieder die Hauptgui öffnen (es ist unwahrscheinlich, dass man den gleichen Mod hintereinander mehrfach klassifizieren möchte) Nach dem Klassifizieren würde ich direkt wieder die Hauptgui öffnen (es ist unwahrscheinlich, dass man den gleichen Mod hintereinander mehrfach klassifizieren möchte)
|
||||
}
|
||||
|
||||
String foundMod = findFirst.select(rs -> {
|
||||
if(rs.next()) {
|
||||
return rs.getString("ModName");
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Nach dem Komma (überall) sollte auch eine Leerzeichen hin, aber wenn dann nicht noch mischen. Nach dem Komma (überall) sollte auch eine Leerzeichen hin, aber wenn dann nicht noch mischen.
|
||||
}
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Die Description braucht es nicht. Die Description braucht es nicht.
|
||||
return null;
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Funktionieren die Dinger auch pre-Flattinging (pre 1.13), vllt. Farbstoffe? Funktionieren die Dinger auch pre-Flattinging (pre 1.13), vllt. Farbstoffe?
|
||||
});
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Chaoscaot
hat
Namen an besten auch in die .properties Datei und keine Unterstriche als Leerzeichen Namen an besten auch in die .properties Datei und keine Unterstriche als Leerzeichen
|
||||
|
||||
if(foundMod == null) {
|
||||
Message.send("MOD_NO_MORE_UNCLASSIFIED_MODS",p);
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Ich glaube, dafür gibt es schon eine Restriktionsmöglichkeit im CommandSystem, bitte die direkt dafür nutzen. Ich glaube, dafür gibt es schon eine Restriktionsmöglichkeit im CommandSystem, bitte die direkt dafür nutzen.
Lixfel
hat
In dem Fall wird hier anders als in Zeile 50 die GUI nicht vorher geschlossen. Musst du testen/untersuchen, ob das gemacht werden sollte und beide Fälle nach Untersuchungsergebnis vereinheitlichen. In dem Fall wird hier anders als in Zeile 50 die GUI nicht vorher geschlossen. Musst du testen/untersuchen, ob das gemacht werden sollte und beide Fälle nach Untersuchungsergebnis vereinheitlichen.
zOnlyKroks
hat
Ich tue das in den anderen fällen weil es sich komisch verhalten hat. Hier tut es ohne probleme Ich tue das in den anderen fällen weil es sich komisch verhalten hat. Hier tut es ohne probleme
|
||||
return;
|
||||
}
|
||||
|
||||
Message.send("MOD_FOUND_NEXT_MOD",p,foundMod);
|
||||
}
|
||||
}
|
@ -28,11 +28,9 @@ import de.steamwar.command.SWCommand;
|
||||
import de.steamwar.command.SWCommandUtils;
|
||||
import de.steamwar.command.TypeMapper;
|
||||
import net.md_5.bungee.BungeeCord;
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.chat.ClickEvent;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
|
||||
import java.net.InetSocketAddress;
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Unrelated Changes bitte entfernen (das gibt dir sonst Mergeconflicts mit deinem Whois-Branch) Unrelated Changes bitte entfernen (das gibt dir sonst Mergeconflicts mit deinem Whois-Branch)
Lixfel
hat
Die Änderungen dieser Datei bitte aus diesem Branch entfernen. Die Änderungen dieser Datei bitte aus diesem Branch entfernen.
Lixfel
hat
Chrmm. Diesen Changediff bitte aufräumen. (Du hast die Datei anderweitig nicht verändert). Chrmm. Diesen Changediff bitte aufräumen. (Du hast die Datei anderweitig nicht verändert).
|
||||
import java.sql.Timestamp;
|
||||
import java.text.DecimalFormat;
|
||||
import java.time.Instant;
|
||||
|
@ -655,4 +655,12 @@ 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!
|
||||
|
||||
#Mod Command
|
||||
MOD_COMMAND_SET_USAGE=§7/mod [mod name] [ModType 1-4]
|
||||
MOD_COMMAND_NEXT_USAGE=§7/mod next
|
||||
MOD_CHANGED_TYPE=§7Successfully reclassified mod {0} to type {1}!
|
||||
MOD_NO_MORE_UNCLASSIFIED_MODS=§7No more unclassified mods found in databank!
|
||||
MOD_FOUND_NEXT_MOD=§7Next unclassified mod is {0}!
|
||||
MOD_COMMAND_NOT_FOUND_IN_DATABASE=§7The Mod {0} was§c not §7found in the database!
|
Wird das CommandFramework nicht anders initialisiert?
nein. und es funktioniert so