aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0962-Don-t-lose-removed-data-components-in-ItemMeta.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0962-Don-t-lose-removed-data-components-in-ItemMeta.patch')
-rw-r--r--patches/server/0962-Don-t-lose-removed-data-components-in-ItemMeta.patch49
1 files changed, 0 insertions, 49 deletions
diff --git a/patches/server/0962-Don-t-lose-removed-data-components-in-ItemMeta.patch b/patches/server/0962-Don-t-lose-removed-data-components-in-ItemMeta.patch
deleted file mode 100644
index 04001583fc..0000000000
--- a/patches/server/0962-Don-t-lose-removed-data-components-in-ItemMeta.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Jake Potrebic <[email protected]>
-Date: Fri, 26 Apr 2024 21:33:20 -0700
-Subject: [PATCH] Don't lose removed data components in ItemMeta
-
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 2cf89147025066f34c12b9956d18451487fb2799..bc5adcb7638d6672cad33ef4adf73e475bc16b7d 100644
---- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-@@ -198,6 +198,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
- return this;
- }
-
-+ // Paper start - support removing component types
-+ <T> Applicator remove(DataComponentType<T> type) {
-+ this.builder.remove(type);
-+ return this;
-+ }
-+ // Paper end - support removing component types
-+
- DataComponentPatch build() {
- return this.builder.build();
- }
-@@ -428,7 +435,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
-
- Set<Map.Entry<DataComponentType<?>, Optional<?>>> keys = tag.entrySet();
- for (Map.Entry<DataComponentType<?>, Optional<?>> key : keys) {
-- if (!CraftMetaItem.getHandledTags().contains(key.getKey())) {
-+ // Paper start - don't lose unhandled tags
-+ if (key.getValue().isEmpty()) {
-+ this.unhandledTags.remove(key.getKey());
-+ } else if (!CraftMetaItem.getHandledTags().contains(key.getKey())) {
-+ // Paper end - don't lose unhandled tags
- key.getValue().ifPresent((value) -> {
- this.unhandledTags.set((DataComponentType) key.getKey(), value);
- });
-@@ -864,9 +875,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
- }
-
- for (Map.Entry<DataComponentType<?>, Optional<?>> e : this.unhandledTags.build().entrySet()) {
-- e.getValue().ifPresent((value) -> {
-+ e.getValue().ifPresentOrElse((value) -> {
- itemTag.builder.set((DataComponentType) e.getKey(), value);
-- });
-+ }, () -> itemTag.remove(e.getKey()));
- }
-
- for (DataComponentType<?> removed : this.removedTags) {