From 47a714c82c18fc6252d6ef53883b271bda33190d Mon Sep 17 00:00:00 2001 From: Amine Kacimi Date: Sun, 21 Jun 2026 22:00:01 +0100 Subject: [PATCH] Fix creeper not having loot (#1790) --- .../minecraft-patches/features/0001-Ridables.patch | 8 ++++---- .../0016-Toggle-for-water-sensitive-mob-damage.patch | 4 ++-- .../features/0019-Mobs-always-drop-experience.patch | 4 ++-- .../net/minecraft/world/entity/monster/Creeper.java.patch | 3 ++- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/purpur-server/minecraft-patches/features/0001-Ridables.patch b/purpur-server/minecraft-patches/features/0001-Ridables.patch index 2916681dd..b16433f0a 100644 --- a/purpur-server/minecraft-patches/features/0001-Ridables.patch +++ b/purpur-server/minecraft-patches/features/0001-Ridables.patch @@ -18,7 +18,7 @@ index ec6dd9de7b82841b1403b1bb851392132be5275b..146c404ac0471ed7df6d3740859663aa public boolean isClientAuthoritative() { return false; diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 99f1c3d82e632e7328366dc8b02e8f26500f80ce..bc2be2db242d4cc5ad857ad97f32e42072f09f09 100644 +index 80e694615ff8f81c8cbda9684ef96cce65f5abd7..f9cf876c5031e20b209c5de991982dbe08c0a58f 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -1865,6 +1865,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop(this, Player.class, true)); this.targetSelector.addGoal(2, new HurtByTargetGoal(this)); } -@@ -313,6 +390,7 @@ public class Creeper extends Monster { +@@ -314,6 +391,7 @@ public class Creeper extends Monster { com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited); if (event.callEvent()) { this.entityData.set(DATA_IS_IGNITED, event.isIgnited()); diff --git a/purpur-server/minecraft-patches/features/0016-Toggle-for-water-sensitive-mob-damage.patch b/purpur-server/minecraft-patches/features/0016-Toggle-for-water-sensitive-mob-damage.patch index 9e060dd4a..e8fa404e3 100644 --- a/purpur-server/minecraft-patches/features/0016-Toggle-for-water-sensitive-mob-damage.patch +++ b/purpur-server/minecraft-patches/features/0016-Toggle-for-water-sensitive-mob-damage.patch @@ -715,10 +715,10 @@ index b553c6dd60bd23fba7ee3df9886561fc7640f104..7f0e76437798f1bab7956722382e1517 @Override diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java -index 893adb6acdb292c618753d12f6f891e0cce0f207..5b188b7121c62dc5c6ded6128e8f3b6a4d930fb0 100644 +index 911a438c6c9a727adf8efb1a860aec55c3290fa5..8893d902e60a43e9a6e1cec8dfb43b7aa72926e6 100644 --- a/net/minecraft/world/entity/monster/Creeper.java +++ b/net/minecraft/world/entity/monster/Creeper.java -@@ -265,6 +265,13 @@ public class Creeper extends Monster { +@@ -266,6 +266,13 @@ public class Creeper extends Monster { } // Purpur end - Config to make Creepers explode on death diff --git a/purpur-server/minecraft-patches/features/0019-Mobs-always-drop-experience.patch b/purpur-server/minecraft-patches/features/0019-Mobs-always-drop-experience.patch index c2baa31a4..37c51c86f 100644 --- a/purpur-server/minecraft-patches/features/0019-Mobs-always-drop-experience.patch +++ b/purpur-server/minecraft-patches/features/0019-Mobs-always-drop-experience.patch @@ -725,10 +725,10 @@ index 7f0e76437798f1bab7956722382e1517f8f71121..257563b578762837cbea855fa42831f3 protected void registerGoals() { this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java -index 5b188b7121c62dc5c6ded6128e8f3b6a4d930fb0..9d8b9e3e21ee721f5ea9339143839eeaebd341ae 100644 +index 8893d902e60a43e9a6e1cec8dfb43b7aa72926e6..4127adba5d5efe4c2a85055ea478c8c946d920f3 100644 --- a/net/minecraft/world/entity/monster/Creeper.java +++ b/net/minecraft/world/entity/monster/Creeper.java -@@ -272,6 +272,13 @@ public class Creeper extends Monster { +@@ -273,6 +273,13 @@ public class Creeper extends Monster { } // Purpur end - Toggle for water sensitive mob damage diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/monster/Creeper.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/monster/Creeper.java.patch index cdcb340ac..6c02ce6af 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/monster/Creeper.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/monster/Creeper.java.patch @@ -8,7 +8,7 @@ public Creeper(final EntityType type, final Level level) { super(type, level); -@@ -159,6 +_,26 @@ +@@ -159,6 +_,27 @@ return false; // CraftBukkit } @@ -29,6 +29,7 @@ + if (!this.exploding && this.level().purpurConfig.creeperExplodeWhenKilled && source.getEntity() instanceof net.minecraft.server.level.ServerPlayer) { + this.explodeCreeper(); + } ++ super.dropAllDeathLoot(level, source); + } + // Purpur end - Config to make Creepers explode on death +