SteamWar/BauSystem
Archiviert
13
0

Add TraceGUI #161

Manuell gemergt
YoyoNow hat 6 Commits von TraceGui nach master 2021-01-27 10:06:31 +01:00 zusammengeführt
Besitzer
Keine Beschreibung angegeben.
Lixfel hat 2021-01-16 09:38:03 +01:00 Änderungen angefragt
@ -39,6 +40,7 @@ public class CommandTrace implements CommandExecutor {
player.sendMessage("§8/§etrace start §8- §7Startet die Aufnahme aller TNT-Positionen");
player.sendMessage("§8/§etrace stop §8- §7Stoppt den TNT-Tracer");
player.sendMessage("§8/§etrace toggleauto §8- §7Automatischer Aufnahmenstart");
player.sendMessage("§8/§etrace show gui §8- §7Zeigt die Trace show gui");
Besitzer

Warum nicht trace gui? Es ist kein Showmodus und wird die meisten nur verwirren.

Warum nicht trace gui? Es ist kein Showmodus und wird die meisten nur verwirren.
Autor
Besitzer

Weil die Trace GUI, für die Auswahl einzelner TNT sein soll. Also einen ganz anderen Zweck hat. Und ja dies ist kein Show Mode, weshalb ich diese auch einzeln in der Help Nachricht aufgeführt habe.
Und ich wollte dir auch keinen 300 Zeilen PR wieder hier geben. Sondern nur eine GUI nach der anderen implementieren. Und da fange ich mit dieser ganz bewusst an, um die '/trace show' Sache zu vereinfachen.

Weil die Trace GUI, für die Auswahl einzelner TNT sein soll. Also einen ganz anderen Zweck hat. Und ja dies ist kein Show Mode, weshalb ich diese auch einzeln in der Help Nachricht aufgeführt habe. Und ich wollte dir auch keinen 300 Zeilen PR wieder hier geben. Sondern nur eine GUI nach der anderen implementieren. Und da fange ich mit dieser ganz bewusst an, um die '/trace show' Sache zu vereinfachen.
@ -0,0 +47,4 @@
playerShowMode.setInterpolate_XZ(false);
SHOW_MODE_PARAMETER_HASH_MAP.put(player, playerShowMode);
SWInventory swInventory = new SWInventory(player, 9, BauSystem.PREFIX + "ShowGUI");
Besitzer

Trace GUI heißt das Teil. Und nicht so komisch. Das ist der TITEL der GUI.

Trace GUI heißt das Teil. Und nicht so komisch. Das ist der TITEL der GUI.
Autor
Besitzer

Ich würde es Trace Show GUI nehmen, da das besser zu dem passt, wofür dies gemacht ist

Ich würde es `Trace Show GUI` nehmen, da das besser zu dem passt, wofür dies gemacht ist
Besitzer

Jagut. Aber dann einfach Trace Show GUI nennen, und nicht §eBau§8System» §7ShowGUI

Jagut. Aber dann einfach Trace Show GUI nennen, und nicht §eBau§8System» §7ShowGUI
Autor
Besitzer

Dies ist passiert.

Dies ist passiert.
@ -0,0 +54,4 @@
SWItem trace_hide = new SWItem(Material.RED_CONCRETE, "§cTraces Ausgeblendet", new ArrayList<>(), false, clickType -> {});
setActiveShow(player, swInventory, trace_show, trace_hide);
SWItem water = new SWItem(Material.TNT, "§eWasser §7Positionen", Arrays.asList("§7Zeigt alles TNT, welches", "§7im Wasser explodiert ist"), false, clickType -> {});
Besitzer

Deutsch. Wasserpositionen

Nach ist ein .

Deutsch. Wasserpositionen Nach ist ein .
@ -0,0 +58,4 @@
swInventory.setItem(5, water);
swInventory.setCallback(5, clickType -> toggleHideTNTinWaterExploded(player, swInventory, water));
SWItem interpolateY = new SWItem(Material.QUARTZ_STAIRS, "§eInterpolation §7Y-Achse", Arrays.asList("§7Zeigt die Interpolation", "§7auf der Y-Achse"), false, clickType -> {});
Besitzer

Nach einem ganzen Satz ein ganzer Punkt.

Nach einem ganzen Satz ein ganzer Punkt.
@ -0,0 +62,4 @@
swInventory.setItem(6, interpolateY);
swInventory.setCallback(6, clickType -> toggleInterpolateYPosition(player, swInventory, interpolateY));
SWItem interpolateXZ = new SWItem(Material.QUARTZ_SLAB, "§eInterpolation §7XZ-Achse", Arrays.asList("§7Zeigt die Interpolation", "§7auf der XZ-Achse"), false, clickType -> {});
Besitzer

Funktionieren die Materials auch in der 1.12? Und der Punkt.

Funktionieren die Materials auch in der 1.12? Und der Punkt.
Autor
Besitzer

Guck ich gleich mal nach, aber soweit ich weiß sollte dies schon immer so genannt worden sein.

Guck ich gleich mal nach, aber soweit ich weiß sollte dies schon immer so genannt worden sein.
@ -0,0 +91,4 @@
}
private static void toggleHideTNTinWaterExploded(Player player, SWInventory swInventory, SWItem swItem) {
ShowModeParameter showModeParameter = SHOW_MODE_PARAMETER_HASH_MAP.get(player);
Besitzer

Die meisten dürften das nicht verstehen, dass die Änderungen erst beim klicken auf Show auch umgesetzt werden. Daher wäre es weitaus besser, wenn beim Anklicken von InWater oder anderem sofort die Änderungen umgesetzt werden. Dann brauchst du auch deine SHOW_MODE_PARAMETER_HASH_MAP nicht mehr (PS: Die ist keine Konstante).

Die meisten dürften das nicht verstehen, dass die Änderungen erst beim klicken auf Show auch umgesetzt werden. Daher wäre es weitaus besser, wenn beim Anklicken von InWater oder anderem sofort die Änderungen umgesetzt werden. Dann brauchst du auch deine SHOW_MODE_PARAMETER_HASH_MAP nicht mehr (PS: Die ist keine Konstante).
Autor
Besitzer

Warum sollte ich diese nicht mehr brauchen. Ich muss mir wohl irgendwo merken, was du alles aktiv hast!

Warum sollte ich diese nicht mehr brauchen. Ich muss mir wohl irgendwo merken, was du alles aktiv hast!
@ -0,0 +120,4 @@
swInventory.setCallback(7, clickType -> toggleInterpolateXZPosition(player, swInventory, swItem));
}
private static void show(Player player) {
Besitzer

Wie stellst du dir die Erweiterbarkeit vor, wenn z.B. ein Block-Show-Modus dazu kommt oder ein Particle-Show-Modus?

Wie stellst du dir die Erweiterbarkeit vor, wenn z.B. ein Block-Show-Modus dazu kommt oder ein Particle-Show-Modus?
Autor
Besitzer

Vllt neben show/hide als block dann 3 blöcke nehmen, für Block/Entity/Particle? Irgendwie ein Spawn Ei für entity, ein nether star für particle und ein brick für block? Vllt sollten wir da aber das Menü eh dann nochmal ändern, womit wir doch dann auch darüber nachdenken können oder?

Vllt neben show/hide als block dann 3 blöcke nehmen, für Block/Entity/Particle? Irgendwie ein Spawn Ei für entity, ein nether star für particle und ein brick für block? Vllt sollten wir da aber das Menü eh dann nochmal ändern, womit wir doch dann auch darüber nachdenken können oder?
@ -0,0 +123,4 @@
private static void show(Player player) {
ShowModeParameter showModeParameter = SHOW_MODE_PARAMETER_HASH_MAP.get(player);
ShowMode showMode;
if (showModeParameter.isAdvanced()) {
Besitzer

Hier beists sich langsam, dass du zwischen basic und advanced für den gleichen EntityTracer unterscheidest.

Hier beists sich langsam, dass du zwischen basic und advanced für den gleichen EntityTracer unterscheidest.
Autor
Besitzer

Würdest du also die beiden Tracer mergen? Sodass wir kein Basic/Advanced sondern Entity haben? Jedoch würde ich das hier nicht in diesen PR machen, weil das das Thema des PR's etwas verfehlt.

Würdest du also die beiden Tracer mergen? Sodass wir kein Basic/Advanced sondern Entity haben? Jedoch würde ich das hier nicht in diesen PR machen, weil das das Thema des PR's etwas verfehlt.
Besitzer

Ja, das fände ich strukturell sinnvoller.

Ja, das fände ich strukturell sinnvoller.
Autor
Besitzer

Ja dann mache ich das, jedoch erst wenn dieser PR durch ist, sonst muss ich wieder irgendwie in 2 branches das ganze machen.

Ja dann mache ich das, jedoch erst wenn dieser PR durch ist, sonst muss ich wieder irgendwie in 2 branches das ganze machen.
Autor
Besitzer

Auch hier habe ich nun sachen behoben

Auch hier habe ich nun sachen behoben
Lixfel hat 2021-01-26 13:46:49 +01:00 Änderungen angefragt
@ -0,0 +55,4 @@
swInventory.addCloseCallback(clickType -> ShowModeParameterMap.remove(player));
SWItem trace_show = new SWItem(Material.LIME_CONCRETE, "§aTraces Angezeigt", new ArrayList<>(), false, clickType -> {});
SWItem trace_hide = new SWItem(Material.RED_CONCRETE, "§cTraces Ausgeblendet", new ArrayList<>(), false, clickType -> {});
Besitzer

angezeigt & ausgeblendet jeweils kleinschreiben

angezeigt & ausgeblendet jeweils kleinschreiben
@ -0,0 +58,4 @@
SWItem trace_hide = new SWItem(Material.RED_CONCRETE, "§cTraces Ausgeblendet", new ArrayList<>(), false, clickType -> {});
setActiveShow(player, swInventory, trace_show, trace_hide);
SWItem water = new SWItem(Material.TNT, "§eWasser §7Positionen", Arrays.asList("§7Zeigt alles TNT, welches", "§7im Wasser explodiert ist."), false, clickType -> {});
Besitzer

Wasserpositionen

§7Zeigt auch TNT, welches
§7im Wasser explodiert ist.

Wasserpositionen §7Zeigt auch TNT, welches §7im Wasser explodiert ist.
@ -0,0 +60,4 @@
SWItem water = new SWItem(Material.TNT, "§eWasser §7Positionen", Arrays.asList("§7Zeigt alles TNT, welches", "§7im Wasser explodiert ist."), false, clickType -> {});
swInventory.setItem(5, water);
swInventory.setCallback(5, clickType -> toggleHideTNTinWaterExploded(player, swInventory, water));
Besitzer

Ich glaube, das mit den Callbacks sollte auch gehen direkt bei der SWItemerstellung mit -> {this}? (Weiß ich nicht sicher, sollte ma n aber mal ausprobieren)

Ich glaube, das mit den Callbacks sollte auch gehen direkt bei der SWItemerstellung mit -> {this}? (Weiß ich nicht sicher, sollte ma n aber mal ausprobieren)
Autor
Besitzer

mit 'this' referenciere ich dann die Klasse also GuiTraceShow, nicht die Instanz SWItem und wenn ich das referenziere beim erstellen geht dies auch nicht.

mit 'this' referenciere ich dann die Klasse also GuiTraceShow, nicht die Instanz SWItem und wenn ich das referenziere beim erstellen geht dies auch nicht.
@ -0,0 +76,4 @@
swInventory.open();
}
private static void setActiveShow(Player player, SWInventory swInventory, SWItem shown, SWItem hidden) {
Besitzer

shown & hidden müssen nicht oben extra erzeugt werden, man kann die items auch hier in der Helferfunktion erst erstellen (übersichtlicherer Programmfluss & es müssen nicht immer beide erstellt werden)

shown & hidden müssen nicht oben extra erzeugt werden, man kann die items auch hier in der Helferfunktion erst erstellen (übersichtlicherer Programmfluss & es müssen nicht immer beide erstellt werden)
@ -0,0 +100,4 @@
show(player);
swItem.setEnchanted(showModeParameter.isWater());
swInventory.setItem(5, swItem);
Besitzer

Hast du das mal so ausprobiert? Ich weiß nicht, ob die GUI so "live"-updatebar ist.

Hast du das mal so ausprobiert? Ich weiß nicht, ob die GUI so "live"-updatebar ist.
Autor
Besitzer

Ja dies tut.

Ja dies tut.
Lixfel hat die Änderungen 2021-01-27 09:59:03 +01:00 genehmigt
YoyoNow hat diesen Pull-Request 2021-01-27 10:06:31 +01:00 geschlossen
YoyoNow löschte die Branch TraceGui 2021-01-27 10:06:42 +01:00
Dieses Repo ist archiviert. Du kannst Pull-Requests nicht kommentieren.
Keine Beschreibung angegeben.