Files
Purpur/patches/server/0178-Config-for-Enderman-to-aggro-spawned-Endermites.patch
2021-05-10 17:51:34 -05:00

41 lines
2.7 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Encode42 <me@encode42.dev>
Date: Tue, 9 Mar 2021 16:10:39 -0500
Subject: [PATCH] Config for Enderman to aggro spawned Endermites
By default, Enderman do not attack Endermites unless spawned by an Ender Pearl.
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java b/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
index 402a07551d9e78bac5e0f45e30b0abb7a4c82704..f113d5106bbee6fb0a5267547154f0839d03d089 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
@@ -72,7 +72,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
private static final DataWatcherObject<Boolean> bo = DataWatcher.a(EntityEnderman.class, DataWatcherRegistry.i);
private static final DataWatcherObject<Boolean> bp = DataWatcher.a(EntityEnderman.class, DataWatcherRegistry.i);
private static final Predicate<EntityLiving> bq = (entityliving) -> {
- return entityliving instanceof EntityEndermite && ((EntityEndermite) entityliving).isPlayerSpawned();
+ return entityliving instanceof EntityEndermite && (((EntityEndermite) entityliving).isPlayerSpawned() || entityliving.world.purpurConfig.endermanAggroSpawnedEndermites); // Purpur
};
private int br = Integer.MIN_VALUE;
private int bs;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index eaaaf9e5490095cd70ca892fa927017e6ea9de9d..bb8ad6a4ac87c4c34d12c5fc1dd92f3d63b84bc1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -881,6 +881,7 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false;
public double endermanMaxHealth = 40.0D;
public boolean endermanTakeDamageFromWater = true;
+ public boolean endermanAggroSpawnedEndermites = false;
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -894,6 +895,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
+ endermanAggroSpawnedEndermites = getBoolean("mobs.enderman.aggressive-towards-spawned-endermites", endermanAggroSpawnedEndermites);
}
public boolean endermiteRidable = false;