Files
Purpur/patches/server/0037-Disable-loot-drops-on-death-by-cramming.patch
2019-07-23 07:08:07 -05:00

45 lines
2.3 KiB
Diff

From bcfaef046a1ad3737f886fbb6f37e9c0ec992911 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Wed, 3 Jul 2019 23:58:31 -0500
Subject: [PATCH] Disable loot drops on death by cramming
---
src/main/java/net/minecraft/server/EntityLiving.java | 2 ++
src/main/java/net/pl3x/purpur/PurpurConfig.java | 5 +++++
2 files changed, 7 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 6b8bf2d63b..a14553a799 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1420,8 +1420,10 @@ public abstract class EntityLiving extends Entity {
org.bukkit.event.entity.EntityDeathEvent deathEvent = null; // Paper
if (this.isDropExperience() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
+ if (!(damagesource == DamageSource.CRAMMING && net.pl3x.purpur.PurpurConfig.disableDropsOnCrammingDeath)) { // Purpur - do not drop loot if crammed to death
this.a(damagesource, flag);
this.dropDeathLoot(damagesource, i, flag);
+ } // Purpur - do not drop loot if crammed to death
// CraftBukkit start - Call death event
deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper
if (!deathEvent.isCancelled()) this.drops = new ArrayList<org.bukkit.inventory.ItemStack>(); // Paper
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index e0077674c1..7cd70519e8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -143,6 +143,11 @@ public class PurpurConfig {
enableTPSCatchup = getBoolean("settings.enable-tps-catchup", enableTPSCatchup);
}
+ public static boolean disableDropsOnCrammingDeath = true;
+ private static void disableDropsOnCrammingDeath() {
+ disableDropsOnCrammingDeath = getBoolean("settings.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
+ }
+
public static boolean requireShiftToMount = true;
private static void requireShiftToMount() {
requireShiftToMount = getBoolean("settings.mobs.require-shift-to-mount", requireShiftToMount);
--
2.20.1