Yatopia/patches/Purpur/patches/server/0176-Config-for-Enderman-to...

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 d290787f74579dd4c138eb827e44544814bfe315..46143a710e057378ebe0ad644de275604b11d886 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 a7cbfb08f3e855bff3acbdd6e8064a00b192ad88..0f3b0bfef14c5533a45bd44eaa6899779b5820d0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -835,6 +835,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);
@@ -848,6 +849,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;