12
0

SchematicSelectorItemFix #203

Zusammengeführt
Lixfel hat 4 Commits von SchematicSelectorItemFix nach master 2022-07-21 12:45:15 +02:00 zusammengeführt
Mitglied
Keine Beschreibung angegeben.
xSpw hat 2 Commits 2022-07-12 20:08:14 +02:00 hinzugefügt
SchematicSelector.renderItem can not be null
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
a1fca372fc
SchematicSelector.renderItem null material replaced to Barrier
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
568d21a50d
Chaoscaot hat 2022-07-12 20:58:44 +02:00 Änderungen angefragt
@ -235,6 +235,10 @@ public class SchematicSelector {
private SWListInv.SWListEntry<SchematicNode> renderItem(SchematicNode node) {
Material m = SWItem.getMaterial(node.getItem());
if(m == null) {
Besitzer

Ist nicht der Fehler hier.

SWItem.getMaterial sollte ein Material oder STONE zurück geben. Also sollte da irgendwo der Bug liegen, hier ist nur das Symptom.

Ist nicht der Fehler hier. SWItem.getMaterial sollte ein Material oder STONE zurück geben. Also sollte da irgendwo der Bug liegen, hier ist nur das Symptom.
Autor
Mitglied

Aber das kann doch garkein null ausgeben

Aber das kann doch garkein null ausgeben
Besitzer

Doch.

SWItem.getMaterial ruft einen FlatteningWrapper auf (Version Dependend Code). d.h. In der 1.14 aufwärts wird der FlatteningWrapper14 aufgerufen. Dieser hat eine HashMap welche einen Lookup für Legacy Namen hat.

Also wenn die Material.valueOf nen Fehler wirft, dann kommt der HashMap Lookup, welcher dann null ausgeben kann. Daher kommt das null.
Das war dann woll irgendein 1.19 Material welches es nicht in der 1.15 gibt.

Schau mal im SpigotCore_14 de.steamwar.core.FlatteningWrapper14:244.

Doch. SWItem.getMaterial ruft einen FlatteningWrapper auf (Version Dependend Code). d.h. In der 1.14 aufwärts wird der FlatteningWrapper14 aufgerufen. Dieser hat eine HashMap welche einen Lookup für Legacy Namen hat. Also wenn die Material.valueOf nen Fehler wirft, dann kommt der HashMap Lookup, welcher dann null ausgeben kann. Daher kommt das null. Das war dann woll irgendein 1.19 Material welches es nicht in der 1.15 gibt. Schau mal im SpigotCore_14 de.steamwar.core.FlatteningWrapper14:244.
@ -236,2 +236,4 @@
Material m = SWItem.getMaterial(node.getItem());
if(m == null) {
m = Material.BARRIER;
Besitzer

Sollte auch STONE sein wie in der SWItem.getMaterial Methode, damit es konsistent bleibt.

Sollte auch STONE sein wie in der SWItem.getMaterial Methode, damit es konsistent bleibt.
xSpw hat 1 Commit 2022-07-12 22:08:12 +02:00 hinzugefügt
SWItem can not be null
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
50a58afa6a
Besitzer

Wie Chaoscaot schon geschrieben hat wäre es wahrscheinlich besser, statt dieser Änderung direkt in der SWItem.getMaterial -Methode das Ergebnis des FlatteningWrappers auf null zu prüfen und dort ggf. das Material direkt zu ersetzen (bislang hatten wir da immer STONE als fallback, aber ich finde die BARRIER da eigentlich auch nicht schlecht. Die Änderung direkt in getMaterial würde auch Items, welche an anderer Stelle/über andere Methode ngeneriert werden dann korrekt "fixen", daher wäre das zu bevorzugen.

Wie Chaoscaot schon geschrieben hat wäre es wahrscheinlich besser, statt dieser Änderung direkt in der SWItem.getMaterial -Methode das Ergebnis des FlatteningWrappers auf null zu prüfen und dort ggf. das Material direkt zu ersetzen (bislang hatten wir da immer STONE als fallback, aber ich finde die BARRIER da eigentlich auch nicht schlecht. Die Änderung direkt in getMaterial würde auch Items, welche an anderer Stelle/über andere Methode ngeneriert werden dann korrekt "fixen", daher wäre das zu bevorzugen.
Besitzer

Ich finde Barrier zeigt eher das es kaputt ist statt Stone

Ich finde Barrier zeigt eher das es kaputt ist statt Stone
xSpw hat 1 Commit 2022-07-21 12:44:09 +02:00 hinzugefügt
SWItem.getMaterial can not be null
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
5076ef955b
Lixfel hat die Änderungen 2022-07-21 12:45:11 +02:00 genehmigt
Lixfel hat Commit da60ab92ee in master 2022-07-21 12:45:15 +02:00 gemerged
Lixfel löschte die Branch SchematicSelectorItemFix 2022-07-21 12:45:16 +02:00
Anmelden, um an der Diskussion teilzunehmen.
Keine Beschreibung angegeben.