From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: jmp Date: Sun, 22 Nov 2020 22:17:53 -0800 Subject: [PATCH] Add config for allowing Endermen to despawn even while holding a block This should help to reduce the amount of dirt, gravel, grass, and etc. that Endermen like to randomly place all over the world. diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java index a930cfe4ec08ee5414f03e420ad79ab110d84129..0a9bd0dbd2f90aa968db0f8a14cde7e58d18652e 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -379,7 +379,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable { @Override public boolean isSpecialPersistence() { - return super.isSpecialPersistence() || this.getCarried() != null; + return super.isSpecialPersistence() || (!this.world.purpurConfig.endermanDespawnEvenWithBlock && this.getCarried() != null); // Purpur } static class PathfinderGoalEndermanPickupBlock extends PathfinderGoal { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java index 84172893cb5dd9aa61296d9bfb4cf0ea1ff91e9d..6c7e898dd42e958553d929b94ce5ddb9542001ee 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -588,10 +588,12 @@ public class PurpurWorldConfig { public boolean endermanRidable = false; public boolean endermanRidableInWater = false; public boolean endermanAllowGriefing = true; + public boolean endermanDespawnEvenWithBlock = false; private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); + endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); } public boolean endermiteRidable = false;