13
0
geforkt von Mirrors/Paper

Fix BlockStateMeta equals (#10795)

Dieser Commit ist enthalten in:
Jake Potrebic 2024-05-26 13:49:00 -07:00
Ursprung dfcf0b3ac3
Commit 2b16bc2a30

Datei anzeigen

@ -236,6 +236,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- this.blockEntityTag = blockEntityTag;
+ // Paper start
+ for (final DataComponentType type : applied) {
+ if (CraftMetaItem.DEFAULT_HANDLED_DCTS.contains(type)) continue;
+ getOrEmpty(tag, type).ifPresent(value -> {
+ map.set(type, value);
+ });
@ -403,6 +404,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ }
+ final PatchedDataComponentMap patchedMap = new PatchedDataComponentMap(nmsBlockState.getBlock().asItem().components());
+ patchedMap.setAll(this.components);
+ final Applicator applicator = new Applicator() {};
+ super.applyToItem(applicator);
+ patchedMap.applyPatch(applicator.build());
+ blockEntity.applyComponents(nmsBlockState.getBlock().asItem().components(), patchedMap.asPatch());
+
+ // This is expected to always return a CraftBlockEntityState for the passed material: