From 8d384b015cb1222d5746d4703b942e488e236da9 Mon Sep 17 00:00:00 2001 From: Melncat Date: Tue, 22 Aug 2023 23:58:38 -0700 Subject: [PATCH] Add option to always show item in player death messages (#1418) --- ...lways-showing-item-in-player-death-m.patch | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 patches/server/0306-Add-option-for-always-showing-item-in-player-death-m.patch diff --git a/patches/server/0306-Add-option-for-always-showing-item-in-player-death-m.patch b/patches/server/0306-Add-option-for-always-showing-item-in-player-death-m.patch new file mode 100644 index 000000000..59aa53f2f --- /dev/null +++ b/patches/server/0306-Add-option-for-always-showing-item-in-player-death-m.patch @@ -0,0 +1,46 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MelnCat +Date: Tue, 22 Aug 2023 22:18:26 -0700 +Subject: [PATCH] Add option for always showing item in player death messages + + +diff --git a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java +index 45e4717ba832edceeafdba575323c2527c350193..45a1cbe958c1a626df97022afe22484f2b387233 100644 +--- a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java ++++ b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java +@@ -59,7 +59,7 @@ public class CombatTracker { + } + + ItemStack itemStack = var10000; +- return !itemStack.isEmpty() && itemStack.hasCustomHoverName() ? Component.translatable(itemDeathTranslationKey, this.mob.getDisplayName(), attackerDisplayName, itemStack.getDisplayName()) : Component.translatable(deathTranslationKey, this.mob.getDisplayName(), attackerDisplayName); ++ return !itemStack.isEmpty() && (org.purpurmc.purpur.PurpurConfig.playerDeathsAlwaysShowItem || itemStack.hasCustomHoverName()) ? Component.translatable(itemDeathTranslationKey, this.mob.getDisplayName(), attackerDisplayName, itemStack.getDisplayName()) : Component.translatable(deathTranslationKey, this.mob.getDisplayName(), attackerDisplayName); + } + + private Component getFallMessage(CombatEntry damageRecord, @Nullable Entity attacker) { +diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java +index fc1fb63ee0e28b8d1f065bfad716b465cde5a69f..c8860f20956a2819da001e93938249452bf7cb49 100644 +--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java ++++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java +@@ -126,7 +126,7 @@ public class DamageSource { + + ItemStack itemstack1 = itemstack; + +- return !itemstack1.isEmpty() && itemstack1.hasCustomHoverName() ? Component.translatable(s + ".item", killed.getDisplayName(), ichatbasecomponent, itemstack1.getDisplayName()) : Component.translatable(s, killed.getDisplayName(), ichatbasecomponent); ++ return !itemstack1.isEmpty() && (org.purpurmc.purpur.PurpurConfig.playerDeathsAlwaysShowItem || itemstack1.hasCustomHoverName()) ? Component.translatable(s + ".item", killed.getDisplayName(), ichatbasecomponent, itemstack1.getDisplayName()) : Component.translatable(s, killed.getDisplayName(), ichatbasecomponent); + } + } + +diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +index 39ad05c21caaaee6860ceb3a310e2aeaeda7ad5b..0299b99674d345ac55116fc9098aaaed1bd4daaf 100644 +--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java ++++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +@@ -643,4 +643,9 @@ public class PurpurConfig { + block.fallDistanceMultiplier = fallDistanceMultiplier.floatValue(); + }); + } ++ ++ public static boolean playerDeathsAlwaysShowItem = false; ++ private static void playerDeathsAlwaysShowItem() { ++ playerDeathsAlwaysShowItem = getBoolean("settings.player-deaths-always-show-item", playerDeathsAlwaysShowItem); ++ } + }