21 Zeilen
1.2 KiB
Diff
21 Zeilen
1.2 KiB
Diff
|
--- a/net/minecraft/server/DataConverterMap.java
|
||
|
+++ b/net/minecraft/server/DataConverterMap.java
|
||
|
@@ -22,7 +22,7 @@
|
||
|
public TypeRewriteRule makeRule() {
|
||
|
Type type = this.getInputSchema().getType(DataConverterTypes.ITEM_STACK);
|
||
|
OpticFinder opticfinder = DSL.fieldFinder("id", DSL.named(DataConverterTypes.q.typeName(), DSL.namespacedString()));
|
||
|
- OpticFinder opticfinder1 = type.findField("tag");
|
||
|
+ OpticFinder<?> opticfinder1 = type.findField("tag"); // CraftBukkit - decompile error
|
||
|
|
||
|
return this.fixTypeEverywhereTyped("ItemInstanceMapIdFix", type, (typed) -> {
|
||
|
Optional optional = typed.getOptional(opticfinder);
|
||
|
@@ -32,7 +32,7 @@
|
||
|
Typed typed1 = typed.getOrCreateTyped(opticfinder1);
|
||
|
Dynamic dynamic1 = (Dynamic) typed1.get(DSL.remainderFinder());
|
||
|
|
||
|
- dynamic1 = dynamic1.set("map", dynamic1.createInt(dynamic.getInt("Damage")));
|
||
|
+ if (!dynamic1.get("map").isPresent()) dynamic1 = dynamic1.set("map", dynamic1.createInt(dynamic.getInt("Damage"))); // CraftBukkit
|
||
|
return typed.set(opticfinder1, typed1.set(DSL.remainderFinder(), dynamic1));
|
||
|
} else {
|
||
|
return typed;
|