From eb3ce8a258e131c5f186f24430db46739e85df7b Mon Sep 17 00:00:00 2001 From: Omer Uddin Date: Mon, 11 May 2020 00:41:15 -0400 Subject: [PATCH] Fix EntityRaider picking up items when they shouldn't be able Fixes #2205 --- ...der-respects-game-and-entity-rules-f.patch | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Spigot-Server-Patches/0520-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch diff --git a/Spigot-Server-Patches/0520-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch b/Spigot-Server-Patches/0520-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch new file mode 100644 index 000000000..a5a5728cf --- /dev/null +++ b/Spigot-Server-Patches/0520-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch @@ -0,0 +1,29 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: kickash32 +Date: Sat, 9 May 2020 02:01:48 -0400 +Subject: [PATCH] Ensure EntityRaider respects game and entity rules for + picking up items + + +diff --git a/src/main/java/net/minecraft/server/EntityRaider.java b/src/main/java/net/minecraft/server/EntityRaider.java +index c0b7b5f072b0b3777b2042b0b80f3bb22e617b11..ee1fcb11afbc3efa42ce0170b72da3fd4460b95b 100644 +--- a/src/main/java/net/minecraft/server/EntityRaider.java ++++ b/src/main/java/net/minecraft/server/EntityRaider.java +@@ -486,7 +486,7 @@ public abstract class EntityRaider extends EntityMonsterPatrolling { + + public class b extends PathfinderGoal { + +- private final T b; ++ private final T b; private T getRaider() { return b; } // Paper - obfhelper + + public b(T entityraider) { // CraftBukkit - decompile error + this.b = entityraider; +@@ -495,6 +495,8 @@ public abstract class EntityRaider extends EntityMonsterPatrolling { + + @Override + public boolean a() { ++ if (!getRaider().world.getGameRules().getBoolean(GameRules.MOB_GRIEFING) || !getRaider().canPickupLoot()) return false; // Paper - respect game and entity rules for picking up items ++ + Raid raid = this.b.eE(); + + if (this.b.eF() && !this.b.eE().a() && this.b.es() && !ItemStack.matches(this.b.getEquipment(EnumItemSlot.HEAD), Raid.s())) {