From ef5f2bc21a0bf0d6678b3dd15659c2cfa767ee2d Mon Sep 17 00:00:00 2001 From: granny Date: Thu, 9 Jan 2025 20:29:41 -0800 Subject: [PATCH] port Apply display names from item forms of entities to entities and vice versa patch --- ...mes-from-item-forms-of-entities-to-e.patch | 159 ------------------ ...mes-from-item-forms-of-entities-to-e.patch | 111 ++++++++++++ .../purpurmc/purpur/PurpurWorldConfig.java | 5 + 3 files changed, 116 insertions(+), 159 deletions(-) delete mode 100644 patches/server/0098-Apply-display-names-from-item-forms-of-entities-to-e.patch create mode 100644 purpur-server/minecraft-patches/features/0014-Apply-display-names-from-item-forms-of-entities-to-e.patch diff --git a/patches/server/0098-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0098-Apply-display-names-from-item-forms-of-entities-to-e.patch deleted file mode 100644 index 8bd5321af..000000000 --- a/patches/server/0098-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ /dev/null @@ -1,159 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> -Date: Tue, 17 Nov 2020 03:23:48 -0800 -Subject: [PATCH] Apply display names from item forms of entities to entities - and vice versa - - -diff --git a/net/minecraft/world/entity/decoration/ArmorStand.java b/net/minecraft/world/entity/decoration/ArmorStand.java -index edb0cd90e28016c44b0aaf5c9ed5d7bdbced5295..12ff824ffa81ea45f76337ec2b6d80b01047b698 100644 ---- a/net/minecraft/world/entity/decoration/ArmorStand.java -+++ b/net/minecraft/world/entity/decoration/ArmorStand.java -@@ -618,6 +618,7 @@ public class ArmorStand extends LivingEntity { - private org.bukkit.event.entity.EntityDeathEvent brokenByPlayer(ServerLevel world, DamageSource damageSource) { // Paper - ItemStack itemstack = new ItemStack(Items.ARMOR_STAND); - -+ if (this.level().purpurConfig.persistentDroppableEntityDisplayNames) - itemstack.set(DataComponents.CUSTOM_NAME, this.getCustomName()); - this.drops.add(new DefaultDrop(itemstack, stack -> Block.popResource(this.level(), this.blockPosition(), stack))); // CraftBukkit - add to drops // Paper - Restore vanilla drops behavior - return this.brokenByAnything(world, damageSource); // Paper -diff --git a/net/minecraft/world/entity/decoration/ItemFrame.java b/net/minecraft/world/entity/decoration/ItemFrame.java -index 7d83ad8a61f6aafbc063506c1858554f9b700b70..fd1bd4fb88d1bd4a0734db463dc1be640c736d34 100644 ---- a/net/minecraft/world/entity/decoration/ItemFrame.java -+++ b/net/minecraft/world/entity/decoration/ItemFrame.java -@@ -240,7 +240,13 @@ public class ItemFrame extends HangingEntity { - } - - if (dropSelf) { -- this.spawnAtLocation(world, this.getFrameItemStack()); -+ // Purpur start -+ final ItemStack itemFrame = this.getFrameItemStack(); -+ if (!this.level().purpurConfig.persistentDroppableEntityDisplayNames) { -+ itemFrame.set(DataComponents.CUSTOM_NAME, null); -+ } -+ this.spawnAtLocation(world, itemFrame); -+ // Purpur end - } - - if (!itemstack.isEmpty()) { -diff --git a/net/minecraft/world/entity/decoration/Painting.java b/net/minecraft/world/entity/decoration/Painting.java -index fd0e78a2318e3950d011c17358245e107b38154a..0fcab828e81176323cbdf16c0ec714d9a2846ae5 100644 ---- a/net/minecraft/world/entity/decoration/Painting.java -+++ b/net/minecraft/world/entity/decoration/Painting.java -@@ -179,7 +179,13 @@ public class Painting extends HangingEntity implements VariantHolder +Date: Tue, 17 Nov 2020 03:23:48 -0800 +Subject: [PATCH] Apply display names from item forms of entities to entities + and vice versa + + +diff --git a/net/minecraft/world/entity/decoration/ArmorStand.java b/net/minecraft/world/entity/decoration/ArmorStand.java +index 9f5b23fe003de62458a58b0f6af13e23606e3e85..9327841ad53bb6057394e0d009491a9e8e5c0344 100644 +--- a/net/minecraft/world/entity/decoration/ArmorStand.java ++++ b/net/minecraft/world/entity/decoration/ArmorStand.java +@@ -561,6 +561,7 @@ public class ArmorStand extends LivingEntity { + + private org.bukkit.event.entity.EntityDeathEvent brokenByPlayer(ServerLevel level, DamageSource damageSource) { // Paper + ItemStack itemStack = new ItemStack(Items.ARMOR_STAND); ++ if (level.purpurConfig.persistentDroppableEntityDisplayNames) // Purpur - Apply display names from item forms of entities to entities and vice versa + itemStack.set(DataComponents.CUSTOM_NAME, this.getCustomName()); + this.drops.add(new DefaultDrop(itemStack, stack -> Block.popResource(this.level(), this.blockPosition(), stack))); // CraftBukkit - add to drops // Paper - Restore vanilla drops behavior + return this.brokenByAnything(level, damageSource); // Paper +diff --git a/net/minecraft/world/entity/decoration/ItemFrame.java b/net/minecraft/world/entity/decoration/ItemFrame.java +index 65e1d7c5ac94b1cfb921fa009be59d3e5872f0b5..3ee1d8798db666ee8d83556047e40ff217cda732 100644 +--- a/net/minecraft/world/entity/decoration/ItemFrame.java ++++ b/net/minecraft/world/entity/decoration/ItemFrame.java +@@ -223,7 +223,11 @@ public class ItemFrame extends HangingEntity { + this.removeFramedMap(item); + } else { + if (dropItem) { +- this.spawnAtLocation(level, this.getFrameItemStack()); ++ // Purpur start - Apply display names from item forms of entities to entities and vice versa ++ final ItemStack itemFrame = this.getFrameItemStack(); ++ if (!level.purpurConfig.persistentDroppableEntityDisplayNames) itemFrame.set(DataComponents.CUSTOM_NAME, null); ++ this.spawnAtLocation(level, itemFrame); ++ // Purpur end - Apply display names from item forms of entities to entities and vice versa + } + + if (!item.isEmpty()) { +diff --git a/net/minecraft/world/entity/decoration/Painting.java b/net/minecraft/world/entity/decoration/Painting.java +index 5b905a4d49c44b04d5795c2bf297f3c69d183d7c..b6429a2bbb6fc1e08610ab20e50f8f0414f0ad26 100644 +--- a/net/minecraft/world/entity/decoration/Painting.java ++++ b/net/minecraft/world/entity/decoration/Painting.java +@@ -162,7 +162,11 @@ public class Painting extends HangingEntity implements VariantHolder