SteamWar/SpigotCore
Archiviert
13
0

CommandFramework #107

Geschlossen
YoyoNow möchte 27 Commits von CommandFramework nach master mergen
Besitzer

compileJava.options.compilerArgs << '-parameter'
Damit das help System ordentlich funktioniert mit den Parameter Namen muss das compiler Argument '-parameter' mit angefügt werden. Sonst werden die Nachrichten aus 'arg1, arg2...' bestehen.

Bei description kann man auch übersetzten lassen, wenn man ein field in der Klasse hat mit dem namen 'MESSAGE' und dieses auch ein Message objekt hält

`compileJava.options.compilerArgs << '-parameter'` Damit das help System ordentlich funktioniert mit den Parameter Namen muss das compiler Argument '-parameter' mit angefügt werden. Sonst werden die Nachrichten aus 'arg1, arg2...' bestehen. Bei description kann man auch übersetzten lassen, wenn man ein field in der Klasse hat mit dem namen 'MESSAGE' und dieses auch ein Message objekt hält
YoyoNow hat 18 Commits 2021-05-25 12:24:24 +02:00 hinzugefügt
Besitzer

Das wirkt mir eher, als sei das Multilingual-System nicht verstanden worden. Es gibt keinen Grund, im Messagesystem irgendwas mit Reflections zu machen. Geschweige denn irgendwelche Compilation-Parameter zu nutzen, das schreit förmlich nach "diese Lösung ist falsch".

Das wirkt mir eher, als sei das Multilingual-System nicht verstanden worden. Es gibt keinen Grund, im Messagesystem irgendwas mit Reflections zu machen. Geschweige denn irgendwelche Compilation-Parameter zu nutzen, das schreit förmlich nach "diese Lösung ist falsch".
YoyoNow hat 1 Commit 2021-05-25 12:49:42 +02:00 hinzugefügt
Lixfel hat 2021-05-25 12:54:20 +02:00 Änderungen angefragt
@ -88,0 +97,4 @@
errors.add("The method '" + method.toString() + "' is lacking the varArgs parameters of type '" + String.class.getTypeName() + "' as last Argument");
}
if (!errors.isEmpty()) {
errors.forEach(s -> Bukkit.getLogger().log(Level.WARNING, s));
Besitzer

Warum nicht direkt die WARNINGS printen bzw. sind das nicht Programmierfehler, also müssten nicht Exceptions fliegen?

Warum nicht direkt die WARNINGS printen bzw. sind das nicht Programmierfehler, also müssten nicht Exceptions fliegen?
Autor
Besitzer

Kann ich gerne als Exception fliegen lassen, aber ich will es gesamt halt sagen.

Kann ich gerne als Exception fliegen lassen, aber ich will es gesamt halt sagen.
Besitzer

Programmierfehler sollst du nicht mehr oder weniger silent verstecken, sondern korrekt werfen, was wiederum zum einen Logeinträge hinterlässt, Stacktraces und ggf. den Nutzer über die fehlgeschlagene Operation informiert. Exceptions sind sprichwörtlich dafür gemacht.

Programmierfehler sollst du nicht mehr oder weniger silent verstecken, sondern korrekt werfen, was wiederum zum einen Logeinträge hinterlässt, Stacktraces und ggf. den Nutzer über die fehlgeschlagene Operation informiert. Exceptions sind sprichwörtlich dafür gemacht.
YoyoNow markierte diese Unterhaltung als gelöst
@ -125,0 +148,4 @@
private void messageSystem() {
try {
Field field = getClass().getDeclaredField("MESSAGE");
Besitzer

Nope nope nope. Lass dir beim Erstellen des Commands ein Message-Objekt übergeben.

Nope nope nope. Lass dir beim Erstellen des Commands ein Message-Objekt übergeben.
Autor
Besitzer

Doch, Doch, Doch, weil ich will kein Sache übergeben bekommen! Ich will es auch optional halten usw usw!

Doch, Doch, Doch, weil ich will kein Sache übergeben bekommen! Ich will es auch optional halten usw usw!
Besitzer

Dann nutze einen Setter.

Dann nutze einen Setter.
Autor
Besitzer

Ist nicht einfach so da, ich will das ich nichts dafür aufrufen oder sonst machen muss! So wie das Register und Mapper und so.

Ist nicht einfach so da, ich will das ich nichts dafür aufrufen oder sonst machen muss! So wie das Register und Mapper und so.
Besitzer

Der Einsatz von Reflections zu diesem Grund ist einfach nur unangemessen. Ein Objekt MESSAGE zur Verfügung zu stellen, ist genauso. Warum nicht einfach message als protected Parameter im SWCommand haben, dann kann das auch einfach problemlos gesetzt werden....

Der Einsatz von Reflections zu diesem Grund ist einfach nur unangemessen. Ein Objekt MESSAGE zur Verfügung zu stellen, ist genauso. Warum nicht einfach message als protected Parameter im SWCommand haben, dann kann das auch einfach problemlos gesetzt werden....
Autor
Besitzer

Lixfel dieses System kann man so noch einfach aus dem SpigotCore kopieren und woanders verwenden, wenn ich das verdrahte nicht mehr!

Lixfel dieses System kann man so noch einfach aus dem SpigotCore kopieren und woanders verwenden, wenn ich das verdrahte nicht mehr!
Besitzer

Wohin hast du denn vor, dieses System eins zu eins zu kopieren?

Wohin hast du denn vor, dieses System eins zu eins zu kopieren?
Autor
Besitzer

Zeanon verwendet es in einem seiner Projekte.

Zeanon verwendet es in einem seiner Projekte.
Besitzer

Njoa, Also das Message-System ist exakt eine Klasse mehr. Ich glaube, es ist komplexer, Support für mit und ohne Message-System vorzuhalten, als einfach das Message-System mit dranzuhängen.

Njoa, Also das Message-System ist exakt eine Klasse mehr. Ich glaube, es ist komplexer, Support für mit und ohne Message-System vorzuhalten, als einfach das Message-System mit dranzuhängen.
YoyoNow markierte diese Unterhaltung als gelöst
@ -166,12 +218,64 @@ public abstract class SWCommand {
SWCommandUtils.commandMap.register("steamwar", this.command);
}
public void inject(Plugin plugin) {
Besitzer

Warum muss das jetzt wieder plötzlich injected werden?

Warum muss das jetzt wieder plötzlich injected werden?
Autor
Besitzer

Weil wichtig und so und API, welche uns bei zeiten helfen kann.

Weil wichtig und so und API, welche uns bei zeiten helfen kann.
YoyoNow markierte diese Unterhaltung als gelöst
@ -169,0 +234,4 @@
help = new ArrayList<>();
commandList.forEach(subCommand -> {
StringBuilder st = new StringBuilder();
st.append("§8/§7").append(command.getName()).append(" ");
Besitzer

Sämtliche Color-Codes sind auch Teil des Message-Systems. Farben haben in anderen Sprach- und Kulturkreisen andere Bedeutungen.

Sämtliche Color-Codes sind auch Teil des Message-Systems. Farben haben in anderen Sprach- und Kulturkreisen andere Bedeutungen.
Autor
Besitzer

Haben nicht die SteamwarFarben aus einem Grund?

Haben nicht die SteamwarFarben aus einem Grund?
Besitzer

? Deutsch? Wir haben die Farben aus dem Grund, dass wir Stil haben und nicht wie nahezu jeder andere Server einfach einen kunterbunten flashy Colorstyle haben.

? Deutsch? Wir haben die Farben aus dem Grund, dass wir Stil haben und nicht wie nahezu jeder andere Server einfach einen kunterbunten flashy Colorstyle haben.
Autor
Besitzer

*wir

\*wir
Autor
Besitzer

Können wir nicht dann trotzdem unser Style in jede Message setzten?

Können wir nicht dann trotzdem unser Style in jede Message setzten?
Besitzer

Ja genau, in die Message, und nicht in den Code.

Ja genau, in die Message, und nicht in den Code.
Autor
Besitzer

Ok und wie soll ich dies deiner Meinung dann machen?
Also wie soll ich die keys nennen, wo soll ich dies dokumentieren und was soll ich machen, wenn diese nicht existieren?

Ok und wie soll ich dies deiner Meinung dann machen? Also wie soll ich die keys nennen, wo soll ich dies dokumentieren und was soll ich machen, wenn diese nicht existieren?
@ -169,0 +260,4 @@
}
String string = "/" + command.getName() + " " + String.join(" ", args);
sender.sendMessage("§7----==== §e" + command.getName() + " §7====----");
sender.sendMessage("§7Aliases§8:§e " + String.join("§8,§e ", command.getAliases()));
Besitzer

Nicht übersetzt....

Nicht übersetzt....
YoyoNow markierte diese Unterhaltung als gelöst
@ -169,0 +263,4 @@
sender.sendMessage("§7Aliases§8:§e " + String.join("§8,§e ", command.getAliases()));
help.forEach(s -> {
if (s.replaceAll("§[0-9A-Z]", "").startsWith(string)) {
sender.sendMessage(s);
Besitzer

Du nutzt nicht das Message-System, um dann die Nachricht mit sendMessage rauszuschicken. Dafür nutzt man Message.send()

Du nutzt nicht das Message-System, um dann die Nachricht mit sendMessage rauszuschicken. Dafür nutzt man Message.send()
Autor
Besitzer

Ich baue aber die Nachrichten vorher zusammen, also geht dies hier nicht!

Ich baue aber die Nachrichten vorher zusammen, also geht dies hier nicht!
Besitzer

Du sollst die Nachrichten auch vom Message-System zusammenbauen lassen...

Du sollst die Nachrichten auch vom Message-System zusammenbauen lassen...
Autor
Besitzer

Geht zu einem TEIL nicht also vergiss es!

Geht zu einem TEIL nicht also vergiss es!
Besitzer

Dann erläutere mir einen Fall, warum es geht nicht?

Dann erläutere mir einen Fall, warum es geht nicht?
Autor
Besitzer

Weil ich die Nachrichten zusammenbaue, weil diese nicht durch das Message System einfach erzeugt werden können.

Weil ich die Nachrichten zusammenbaue, weil diese nicht durch das Message System einfach erzeugt werden können.
Besitzer

Nicht überzeugt, mein CommandFramework (was ich noch in den BungeeCore integrieren möchte) hatte schließlich auch schon Multilinguale Fehler- und Hilfsmeldungen.

Nicht überzeugt, mein CommandFramework (was ich noch in den BungeeCore integrieren möchte) hatte schließlich auch schon Multilinguale Fehler- und Hilfsmeldungen.
Autor
Besitzer

...

...
Autor
Besitzer

Und ich weiß wie man das Message System an der Stelle verwendet.

Und ich weiß wie man das Message System an der Stelle verwendet.
Besitzer

So schaut es mir als Entwickler des Message-Systems in diesem PR nicht einmal ansatzweise aus.

So schaut es mir als Entwickler des Message-Systems in diesem PR nicht einmal ansatzweise aus.
Autor
Besitzer

Gut. Sorry das ich irgendwie was mir überlege.

Gut. Sorry das ich irgendwie was mir überlege.
Besitzer

Das ist ja auch richtig und wichtig, aber ich gebe dir nach meinem NACK ja auch Lösungsvorschläge.

Das ist ja auch richtig und wichtig, aber ich gebe dir nach meinem NACK ja auch Lösungsvorschläge.
YoyoNow hat 1 Commit 2021-05-25 13:01:29 +02:00 hinzugefügt
YoyoNow hat 2 Commits 2021-05-25 13:07:29 +02:00 hinzugefügt
YoyoNow hat 1 Commit 2021-06-05 17:07:31 +02:00 hinzugefügt
YoyoNow hat 1 Commit 2021-06-05 17:08:02 +02:00 hinzugefügt
YoyoNow hat 1 Commit 2021-06-05 17:10:40 +02:00 hinzugefügt
YoyoNow hat 2 Commits 2021-07-08 17:12:22 +02:00 hinzugefügt
Besitzer

@YoyoNow Inwiefern ist das hier noch aktuell bzw. gewünscht?

@YoyoNow Inwiefern ist das hier noch aktuell bzw. gewünscht?
Autor
Besitzer

Naja an sich etwas outdatet und damit definitiv nicht mehr aktuell, aber wünschen würde ich mir die Anpassung schon noch.

Naja an sich etwas outdatet und damit definitiv nicht mehr aktuell, aber wünschen würde ich mir die Anpassung schon noch.
YoyoNow hat diesen Pull-Request 2021-12-09 13:29:15 +01:00 geschlossen
YoyoNow löschte die Branch CommandFramework 2021-12-09 13:29:28 +01:00
Dieses Repo ist archiviert. Du kannst Pull-Requests nicht kommentieren.
Keine Beschreibung angegeben.