mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@7b13d93 Updated Upstream (Bukkit/CraftBukkit) (#11626) PaperMC/Paper@4e2291e chore: refactor issue templates PaperMC/Paper@bc4a705 [ci skip] chore: change paste.gg links to mclo.gs (#11629) PaperMC/Paper@3480489 Update Alternate Current patch to 1.21.3 (#11602) PaperMC/Paper@575c1c4 Update disableGameRuleLimits casing PaperMC/Paper@11d708d [ci skip] Add missing feature patch identifiers PaperMC/Paper@daf3113 Make logs less annoying PaperMC/Paper@4e01ede Fix inverted global skip check PaperMC/Paper@d8b66dd fix: move to jline-terminal-ffm on java 22+ and fall back to jni on 21, fixes #10405 PaperMC/Paper@6735c60 Fix enderchest opening animation (#11635) PaperMC/Paper@de6173b Item DataComponent API (#10845) PaperMC/Paper@8c5b837 Rework async chunk api implementation PaperMC/Paper@37b9630 Do not create unneccessary callback in ChunkTaskScheduler#scheduleChunkLoad PaperMC/Paper@878da16 Fix non block ticking chunks not sending block/light updates PaperMC/Paper@fdef6d3 Add missing NotNull annotation for getChunksAtAsync cb param PaperMC/Paper@01dd50f [ci skip] Rebuild patches PaperMC/Paper@f9f964d Fix drops for shearing bogged (#11628) PaperMC/Paper@21cc763 Fix drops for shearing mushroom cow (#11632) PaperMC/Paper@57eab3e Add PlayerItemGroupCooldownEvent (#11625) PaperMC/Paper@d0dcd7d Fix incorrect invulnerability damage reduction (#11599) PaperMC/Paper@85bfdc0 Fix NPE when EntityResurrectEvent is uncancelled (#11636)
43 lines
2.6 KiB
Diff
43 lines
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 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
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
|
index f4cc9ff863079f5546cce1bfa0f1dcab022bb293..952b498b3514205accf48104da37ff713074e484 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
|
@@ -1914,6 +1914,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
|
|
|
this.dropEquipment(world); // CraftBukkit - from below
|
|
if (this.shouldDropLoot() && world.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
|
|
+ if (!(damageSource.is(net.minecraft.world.damagesource.DamageTypes.CRAMMING) && level().purpurConfig.disableDropsOnCrammingDeath)) { // Purpur
|
|
this.dropFromLootTable(world, damageSource, flag);
|
|
// Paper start
|
|
final boolean prev = this.clearEquipmentSlots;
|
|
@@ -1922,6 +1923,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
|
// Paper end
|
|
this.dropCustomDeathLoot(world, damageSource, flag);
|
|
this.clearEquipmentSlots = prev; // Paper
|
|
+ } // Purpur
|
|
}
|
|
// CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment
|
|
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, damageSource, this.drops, () -> {
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index a97dadd4c0b04833282f9fc484ef760da712974d..03f5aea7bc98984ced82c7dce93cc4ea4c48179f 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -96,6 +96,11 @@ public class PurpurWorldConfig {
|
|
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
|
|
}
|
|
|
|
+ public boolean disableDropsOnCrammingDeath = false;
|
|
+ private void miscGameplayMechanicsSettings() {
|
|
+ disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
|
+ }
|
|
+
|
|
public double minecartMaxSpeed = 0.4D;
|
|
public boolean minecartPlaceAnywhere = false;
|
|
public boolean minecartControllable = false;
|