Paper/patches/server/0441-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch

29 lines
1.6 KiB
Diff
Raw Normal View History

2021-06-11 12:02:28 +00:00
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/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
2021-06-17 19:52:26 +00:00
index 37f4becb39d6d4c13aa0c3901ed123083518cdbf..19d1070afc7f6af92beb1fe7e90b67358596eca3 100644
2021-06-11 12:02:28 +00:00
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
2021-06-14 05:32:56 +00:00
@@ -305,7 +305,7 @@ public abstract class Raider extends PatrollingMonster {
2021-06-11 12:02:28 +00:00
public class ObtainRaidLeaderBannerGoal<T extends Raider> extends Goal {
- private final T mob;
2021-06-17 19:52:26 +00:00
+ private final T mob; @Deprecated private T getRaider() { return mob; } // Paper - obfhelper
2021-06-11 12:02:28 +00:00
public ObtainRaidLeaderBannerGoal(T entityraider) { // CraftBukkit - decompile error
this.mob = entityraider;
2021-06-14 05:32:56 +00:00
@@ -314,6 +314,7 @@ public abstract class Raider extends PatrollingMonster {
2021-06-11 12:02:28 +00:00
@Override
public boolean canUse() {
+ if (!getRaider().level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) || !getRaider().canPickUpLoot()) return false; // Paper - respect game and entity rules for picking up items
Raid raid = this.mob.getCurrentRaid();
if (this.mob.hasActiveRaid() && !this.mob.getCurrentRaid().isOver() && this.mob.canBeLeader() && !ItemStack.matches(this.mob.getItemBySlot(EquipmentSlot.HEAD), Raid.getLeaderBannerInstance())) {