mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-04-19 17:58:15 +02:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@e4a5a894 Update to Minecraft 26.1.1 PaperMC/Paper@92a4d8db Update "Only write chunk data to disk if it serializes without throwing" PaperMC/Paper@02d9cbce Update "Entity load/save limit per chunk" PaperMC/Paper@cb696286 Update "Attempt to recalculate regionfile header if it is corrupt" PaperMC/Paper@4662bab9 Update "Incremental chunk and player saving" PaperMC/Paper@4dddc82f Implement new version schema: `<mcver>.build.<paper_build_no>-<paper_status>` / `<mcver>.local-SNAPSHOT` PaperMC/Paper@fc0a9980 Set channel to ALPHA PaperMC/Paper@a4fa0357 update gradle wrapper PaperMC/Paper@a15ceb7a Update fill-gradle to 1.0.11 PaperMC/Paper@52f7e24e Publish to releases repository PaperMC/Paper@bb7ff8f0 Update "Optimise general POI access" PaperMC/Paper@ac42a07e Update "Flush regionfiles on save configuration option" PaperMC/Paper@14357cc5 Avoid using the regionfile directory name to determine if it is chunk data PaperMC/Paper@a2f4d349 Update "Optimise collision checking in player move packet handling" PaperMC/Paper@50303a0e Update "Add explicit flush support to Log4j AsyncAppender" PaperMC/Paper@7bc4f895 Shift unapplied patches PaperMC/Paper@62ba2c4f Update "Improve keepalive ping system" PaperMC/Paper@f6d27019 Update "Optimise EntityScheduler ticking" PaperMC/Paper@4d8d06c7 Fix WorldBorder#setCenter ignoring new values on 26.1.1 (#13741) PaperMC/Paper@f9da8035 update unpick definitions PaperMC/Paper@fc71a133 [ci/skip] fixup previous commit PaperMC/Paper@4c91cd34 Lazy set Entity.projectileSource in AbstractProjectile#getShooter PaperMC/Paper@3d1da60c Cache the climbing check in activation range (#12764) PaperMC/Paper@575630f3 feat: Optimize ServerWaypointManager when locator bar is disabled PaperMC/Paper@742daf02 [ci/skip] fixup previous commit PaperMC/Paper@d29063da Rebuild patches PaperMC/Paper@ce581c3c Bump deps to match Vanilla versions (#13744) PaperMC/Paper@f3e9a934 Fix attack check PaperMC/Paper@b4743b58 Fix gamerule loading in Management Protocol (#13753) PaperMC/Paper@c53ac8a1 Add PlayerToggleEntityAgeLockEvent (#13742) PaperMC/Paper@59081719 fixup previous event PaperMC/Paper@7b49b586 Update "Optional per player mob spawns" PaperMC/Paper@1fae14c2 Update "Improve cancelling PreCreatureSpawnEvent with per player mob spawns" PaperMC/Paper@c40cb75b Update "Optimize Hoppers" PaperMC/Paper@edad1e4c Update "Anti-Xray" PaperMC/Paper@106a934d [ci/skip] Drop stale TODO PaperMC/Paper@77c0866f handle legacy uid in vanilla migration and always write metadata during migration
343 lines
17 KiB
Diff
343 lines
17 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Peashooter101 <Peashooter101@yahoo.com>
|
|
Date: Sat, 13 Dec 2025 13:59:23 -0600
|
|
Subject: [PATCH] Per mob mob_griefing loot pickup override
|
|
|
|
|
|
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
|
index 6651a03adb5cb18db71d814b57d2d754497cc782..eda42a44b69f9aece81a71b2e4d3fa009ed80629 100644
|
|
--- a/net/minecraft/world/entity/Mob.java
|
|
+++ b/net/minecraft/world/entity/Mob.java
|
|
@@ -565,7 +565,7 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs
|
|
&& this.canPickUpLoot()
|
|
&& this.isAlive()
|
|
&& !this.dead
|
|
- && serverLevel.getGameRules().get(GameRules.MOB_GRIEFING, serverLevel.purpurConfig.entitiesPickUpLootMobGriefingOverride)) { // Purpur - Add mobGriefing override to everything affected
|
|
+ && serverLevel.getGameRules().get(GameRules.MOB_GRIEFING, checkEntityPickUpLootOverride())) { // Purpur - Check mobGriefing Overrides
|
|
Vec3i pickupReach = this.getPickupReach();
|
|
|
|
for (ItemEntity entity : this.level()
|
|
@@ -584,6 +584,12 @@ public abstract class Mob extends LivingEntity implements Targeting, EquipmentUs
|
|
profiler.pop();
|
|
}
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ protected @Nullable Boolean checkEntityPickUpLootOverride() {
|
|
+ return null;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
protected EquipmentSlot sunProtectionSlot() {
|
|
return EquipmentSlot.HEAD;
|
|
}
|
|
diff --git a/net/minecraft/world/entity/animal/allay/Allay.java b/net/minecraft/world/entity/animal/allay/Allay.java
|
|
index 3a78175273efa24a6bf98ee44fe24a4df71e63ed..86129786c9927fc5aa941207971e28ff4b20023f 100644
|
|
--- a/net/minecraft/world/entity/animal/allay/Allay.java
|
|
+++ b/net/minecraft/world/entity/animal/allay/Allay.java
|
|
@@ -162,6 +162,13 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.allayCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
protected Brain<Allay> makeBrain(final Brain.Packed packedBrain) {
|
|
return BRAIN_PROVIDER.makeBrain(this, packedBrain);
|
|
diff --git a/net/minecraft/world/entity/animal/fox/Fox.java b/net/minecraft/world/entity/animal/fox/Fox.java
|
|
index 66001fb6a7264e70f3172ea50c97d0a26214a5fd..af9f37fe2ed01487ed796afb163aa624ca2f1e0a 100644
|
|
--- a/net/minecraft/world/entity/animal/fox/Fox.java
|
|
+++ b/net/minecraft/world/entity/animal/fox/Fox.java
|
|
@@ -815,6 +815,13 @@ public class Fox extends Animal {
|
|
}
|
|
// Purpur end - Tulips change fox type
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.foxCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
// Paper start - Cancellable death event
|
|
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(final ServerLevel level, final DamageSource source) {
|
|
diff --git a/net/minecraft/world/entity/monster/illager/Pillager.java b/net/minecraft/world/entity/monster/illager/Pillager.java
|
|
index e69514bf39e2acfc909cb55b1704ca3f56f704e2..20c0b12b56416bc532de4de827c88850bfd1f0f3 100644
|
|
--- a/net/minecraft/world/entity/monster/illager/Pillager.java
|
|
+++ b/net/minecraft/world/entity/monster/illager/Pillager.java
|
|
@@ -104,6 +104,13 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.pillagerCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/illager/Vindicator.java b/net/minecraft/world/entity/monster/illager/Vindicator.java
|
|
index c29a1aea5c09ade40e36f4cb00a677b31ad91069..d4e298ecf79ff7ebdea71b710e6df7ba72f9a0f5 100644
|
|
--- a/net/minecraft/world/entity/monster/illager/Vindicator.java
|
|
+++ b/net/minecraft/world/entity/monster/illager/Vindicator.java
|
|
@@ -96,6 +96,13 @@ public class Vindicator extends AbstractIllager {
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.vindicatorCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
super.registerGoals();
|
|
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
index 47bcb895bf4c6f438bb0bb82f84331487fd28c0c..93c5fa7b63548c6b1d24847f1f363c7c9e0ea0ec 100644
|
|
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
|
@@ -147,6 +147,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.piglinCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
protected void addAdditionalSaveData(final ValueOutput output) {
|
|
super.addAdditionalSaveData(output);
|
|
@@ -430,7 +437,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
|
|
|
@Override
|
|
public boolean wantsToPickUp(final ServerLevel level, final ItemStack itemStack) {
|
|
- return level.getGameRules().get(GameRules.MOB_GRIEFING, level.purpurConfig.piglinMobGriefingOverride) && this.canPickUpLoot() && PiglinAi.wantsToPickup(this, itemStack); // Purpur - Add mobGriefing override to everything affected
|
|
+ return level.getGameRules().get(GameRules.MOB_GRIEFING, level.purpurConfig.piglinCanPickUpLoot) && this.canPickUpLoot() && PiglinAi.wantsToPickup(this, itemStack); // Purpur - Check mobGriefing Overrides
|
|
}
|
|
|
|
protected boolean canReplaceCurrentItem(final ItemStack newItemStack) {
|
|
diff --git a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
index 0755e3ed3b940609f0211d123c0c664905af56b5..3a33976a667d9d9b446b6b27b5938aff8f5d9ab6 100644
|
|
--- a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
+++ b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
|
@@ -89,6 +89,13 @@ public class PiglinBrute extends AbstractPiglin {
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.piglinBruteCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
public static AttributeSupplier.Builder createAttributes() {
|
|
return Monster.createMonsterAttributes()
|
|
.add(Attributes.MAX_HEALTH, 50.0)
|
|
diff --git a/net/minecraft/world/entity/monster/skeleton/Bogged.java b/net/minecraft/world/entity/monster/skeleton/Bogged.java
|
|
index 50dd01a2092f87fd9015c982f728f14965be5b81..410c5f8e1571970e8043eb5d976cd6d8b95689eb 100644
|
|
--- a/net/minecraft/world/entity/monster/skeleton/Bogged.java
|
|
+++ b/net/minecraft/world/entity/monster/skeleton/Bogged.java
|
|
@@ -66,6 +66,13 @@ public class Bogged extends AbstractSkeleton implements Shearable {
|
|
}
|
|
// Purpur end - Configurable entity base attributes
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.boggedCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/monster/skeleton/Skeleton.java b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
|
index 7d0c6fe7290e8ad44c451b431778e1b7fe37c6e5..c5b261f36f6042a395b8e1a7d54b20339e81b4b8 100644
|
|
--- a/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
|
+++ b/net/minecraft/world/entity/monster/skeleton/Skeleton.java
|
|
@@ -64,6 +64,13 @@ public class Skeleton extends AbstractSkeleton {
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.skeletonCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/monster/skeleton/Stray.java b/net/minecraft/world/entity/monster/skeleton/Stray.java
|
|
index 76f28568aecf019ce7432ff89593b2ed4eaff8a2..e761c97212e380b6978e5fbd1d808f4ddbb89bb5 100644
|
|
--- a/net/minecraft/world/entity/monster/skeleton/Stray.java
|
|
+++ b/net/minecraft/world/entity/monster/skeleton/Stray.java
|
|
@@ -61,6 +61,13 @@ public class Stray extends AbstractSkeleton {
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.strayCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
public static boolean checkStraySpawnRules(
|
|
final EntityType<Stray> type, final ServerLevelAccessor level, final EntitySpawnReason spawnReason, final BlockPos pos, final RandomSource random
|
|
) {
|
|
diff --git a/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java b/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java
|
|
index 3c3c53de82856033aab31c6b03e90ba647223fa7..afc6272905cf6ab464cca03b37b5e6c868094796 100644
|
|
--- a/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java
|
|
+++ b/net/minecraft/world/entity/monster/skeleton/WitherSkeleton.java
|
|
@@ -73,6 +73,13 @@ public class WitherSkeleton extends AbstractSkeleton {
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.witherSkeletonCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
protected void registerGoals() {
|
|
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractPiglin.class, true));
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/Drowned.java b/net/minecraft/world/entity/monster/zombie/Drowned.java
|
|
index 07242b2e6ab055122360035f058c39d54dbb8dc7..3a1152e07b2cc0ee4cf84651ada3c987dc704e91 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/Drowned.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/Drowned.java
|
|
@@ -147,6 +147,13 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.drownedCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
protected void addBehaviourGoals() {
|
|
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0));
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/Husk.java b/net/minecraft/world/entity/monster/zombie/Husk.java
|
|
index 5d60b230eeaec9d37e286019b8d4276cfa85a9ea..55b2bd676f2e9633fc8250bcd984424e8c37e2ee 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/Husk.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/Husk.java
|
|
@@ -98,6 +98,13 @@ public class Husk extends Zombie {
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.huskCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
public boolean isSunSensitive() {
|
|
return this.shouldBurnInDay; // Purpur - moved to LivingEntity; keep methods for ABI compatibility - API for any mob to burn daylight
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/Zombie.java b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
|
index cb1a685b136f06ab5884c269678cc9384af1dfed..a0b1399d8ea3aeb583dd0c0f1b5ec6300eacf28d 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/Zombie.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/Zombie.java
|
|
@@ -167,6 +167,13 @@ public class Zombie extends Monster {
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.zombieCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
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/zombie/ZombieVillager.java b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
|
index 3e96d18ed2fb67c08e77b17ec7f6418fbb5caf8f..e5eb30d3620937af3cd294bdd6b985fbb61df534 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/ZombieVillager.java
|
|
@@ -145,6 +145,13 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.zombieVillagerCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
protected void defineSynchedData(final SynchedEntityData.Builder entityData) {
|
|
super.defineSynchedData(entityData);
|
|
diff --git a/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java b/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java
|
|
index 9e893c0c033dcc2273275b92048d9b1a941d93f2..54ba4d2e8305e2d9ba0c9e71bae67bfd7b7d34b9 100644
|
|
--- a/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java
|
|
+++ b/net/minecraft/world/entity/monster/zombie/ZombifiedPiglin.java
|
|
@@ -124,6 +124,13 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.zombifiedPiglinCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
protected void addBehaviourGoals() {
|
|
this.goalSelector.addGoal(1, new SpearUseGoal<>(this, 1.0, 1.0, 10.0F, 2.0F));
|
|
diff --git a/net/minecraft/world/entity/npc/villager/Villager.java b/net/minecraft/world/entity/npc/villager/Villager.java
|
|
index f439a0b0830e74be8c123a5b2e55933671715f74..04b1c33e485511b2ddc169f2efdc89b5011e2f25 100644
|
|
--- a/net/minecraft/world/entity/npc/villager/Villager.java
|
|
+++ b/net/minecraft/world/entity/npc/villager/Villager.java
|
|
@@ -298,6 +298,13 @@ public class Villager extends AbstractVillager implements VillagerDataHolder, Re
|
|
}
|
|
// Purpur end - Mobs always drop experience
|
|
|
|
+ // Purpur start - Check mobGriefing Overrides
|
|
+ @Override
|
|
+ protected Boolean checkEntityPickUpLootOverride() {
|
|
+ return this.level().purpurConfig.villagerCanPickUpLoot;
|
|
+ }
|
|
+ // Purpur end - Check mobGriefing Overrides
|
|
+
|
|
@Override
|
|
public Brain<Villager> getBrain() {
|
|
return (Brain<Villager>) super.getBrain();
|
|
diff --git a/net/minecraft/world/entity/raid/Raider.java b/net/minecraft/world/entity/raid/Raider.java
|
|
index f37216b7f2d094ba98ea5eb004b599ad6dd8697d..0942992a5036458e98233450f465fe3bab523663 100644
|
|
--- a/net/minecraft/world/entity/raid/Raider.java
|
|
+++ b/net/minecraft/world/entity/raid/Raider.java
|
|
@@ -400,7 +400,7 @@ public abstract class Raider extends PatrollingMonster {
|
|
}
|
|
|
|
private boolean cannotPickUpBanner() {
|
|
- if (!getServerLevel(this.mob).getGameRules().get(net.minecraft.world.level.gamerules.GameRules.MOB_GRIEFING, this.mob.level().purpurConfig.pillagerMobGriefingOverride)) return true; // Paper - respect game and entity rules for picking up items // Purpur - Add mobGriefing override to everything affected
|
|
+ if (!getServerLevel(this.mob).getGameRules().get(net.minecraft.world.level.gamerules.GameRules.MOB_GRIEFING, this.mob.level().purpurConfig.pillagerCanPickUpLoot)) return true; // Paper - respect game and entity rules for picking up items // Purpur - Check mobGriefing Overrides
|
|
if (!this.mob.hasActiveRaid()) {
|
|
return true;
|
|
} else if (this.mob.getCurrentRaid().isOver()) {
|