3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-16 11:30:06 +01:00
Paper/Spigot-Server-Patches/0478-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch

29 Zeilen
1.4 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: kickash32 <kickash32@gmail.com>
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 7a6f98e38a10a1e78eaa1adb90394d08067cbc1c..ad2a2c27f0ef064064ded28cc049a6856d476808 100644
--- a/src/main/java/net/minecraft/server/EntityRaider.java
+++ b/src/main/java/net/minecraft/server/EntityRaider.java
@@ -487,7 +487,7 @@ public abstract class EntityRaider extends EntityMonsterPatrolling {
public class b<T extends EntityRaider> 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;
@@ -496,6 +496,7 @@ 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.fa();
if (this.b.fb() && !this.b.fa().a() && this.b.eN() && !ItemStack.matches(this.b.getEquipment(EnumItemSlot.HEAD), Raid.s())) {