mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-22 10:57:43 +01:00
39 lines
2.6 KiB
Diff
39 lines
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Encode42 <me@encode42.dev>
|
|
Date: Mon, 19 Jul 2021 19:28:17 -0400
|
|
Subject: [PATCH] Config to disable Enderman teleport on projectile hit
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
index 9d84092a3e9712609e35e4fd0a2db2fc2ac385ad..6c0b28f64dbd44b5d014c617981e4e6458f58e7b 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
@@ -418,6 +418,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
|
} else {
|
|
flag1 = flag && this.hurtWithCleanWater(source, (ThrownPotion) source.getDirectEntity(), amount);
|
|
|
|
+ if (!flag1 && this.level.purpurConfig.endermanIgnoreProjectiles) return super.hurt(source, amount); // Purpur
|
|
if (this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.INDIRECT)) { // Paper start
|
|
for (int i = 0; i < 64; ++i) {
|
|
if (this.teleport()) {
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index a8e9e77cf8af44a3af8ec9f56c3f5340f0ea0f2b..0ae9a533915a0cb33eea2107dce64c2e880e30d4 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -1227,6 +1227,7 @@ public class PurpurWorldConfig {
|
|
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
|
|
public boolean endermanIgnorePlayerDragonHead = false;
|
|
public boolean endermanDisableStareAggro = false;
|
|
+ public boolean endermanIgnoreProjectiles = false;
|
|
private void endermanSettings() {
|
|
if (PurpurConfig.version < 10) {
|
|
double oldValue = getDouble("mobs.enderman.attributes.max-health", endermanMaxHealth);
|
|
@@ -1246,6 +1247,7 @@ public class PurpurWorldConfig {
|
|
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);
|
|
endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead);
|
|
endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro);
|
|
+ endermanIgnoreProjectiles = getBoolean("mobs.enderman.ignore-projectiles", endermanIgnoreProjectiles);
|
|
}
|
|
|
|
public double endermiteMaxHealth = 8.0D;
|