Files
Purpur/patches/server/0037-Disable-loot-drops-on-death-by-cramming.patch
William Blake Galbreath 02e31ae620 Implement metrics
2019-07-11 21:43:54 -05:00

45 lines
2.3 KiB
Diff

From 87e1f98c33d608083081aee10c11fcbb2d714d00 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 53cf6fc39..c00918a7a 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 99c13caee..f7c63ef91 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -142,6 +142,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