4d40e87b33
Had to drop some hunks modifying getEntities, as those methods were rewritten by Mojang in 1.17
28 lines
1.6 KiB
Diff
28 lines
1.6 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/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
|
index 37f4becb39d6d4c13aa0c3901ed123083518cdbf..49028fef0706a4413e446c337750f31e756e8de1 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
|
@@ -305,7 +305,7 @@ public abstract class Raider extends PatrollingMonster {
|
|
|
|
public class ObtainRaidLeaderBannerGoal<T extends Raider> extends Goal {
|
|
|
|
- private final T mob;
|
|
+ private final T mob; private T getRaider() { return mob; } // Paper - obfhelper
|
|
|
|
public ObtainRaidLeaderBannerGoal(T entityraider) { // CraftBukkit - decompile error
|
|
this.mob = entityraider;
|
|
@@ -314,6 +314,7 @@ public abstract class Raider extends PatrollingMonster {
|
|
|
|
@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())) {
|