SteamWar/SpigotCore
Archiviert
13
0

SchematicSelectorItemFix #203

Zusammengeführt
Lixfel hat 4 Commits von SchematicSelectorItemFix nach master 2022-07-21 12:45:15 +02:00 zusammengeführt
Nur Änderungen aus Commit a1fca372fc werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -235,6 +235,10 @@ public class SchematicSelector {
private SWListInv.SWListEntry<SchematicNode> renderItem(SchematicNode node) {
Material m = SWItem.getMaterial(node.getItem());
if(m == null) {
Veraltet
Review

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

Aber das kann doch garkein null ausgeben

Aber das kann doch garkein null ausgeben
Veraltet
Review

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.
m = Material.AIR;
Veraltet
Review

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.
}
String name = Core.MESSAGE.parse(filter.name == null?"SCHEM_SELECTOR_ITEM_NAME":"SCHEM_SELECTOR_ITEM_NAME_FILTER", player, node.getName());
if(filter.getName() != null) {