Files
Purpur/patches/server/0200-Config-to-disable-Enderman-teleport-on-projectile-hi.patch
2023-03-15 05:49:00 -07:00

40 lines
2.7 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 2ac667ec7bdc59363af0bd2209f6e456372d73e7..5e2b7b4caf6d6d823943e2d56288758265f0d506 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -428,7 +428,7 @@ public class EnderMan extends Monster implements NeutralMob {
boolean flag = source.getDirectEntity() instanceof ThrownPotion;
boolean flag1;
- if (!source.is(DamageTypeTags.IS_PROJECTILE) && !flag) {
+ if (!(this.level.purpurConfig.endermanIgnoreProjectiles && source.is(DamageTypeTags.IS_PROJECTILE)) && !flag) {
flag1 = super.hurt(source, amount);
if (!this.level.isClientSide() && !(source.getEntity() instanceof LivingEntity) && this.random.nextInt(10) != 0) {
this.teleport();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8c420d6710d3dd97ed488f5a0e00f7c8fbc13b6d..8f43f33e86e012c9e6c199ec159ce34b4e45cdef 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1334,6 +1334,7 @@ public class PurpurWorldConfig {
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
public boolean endermanIgnorePlayerDragonHead = false;
public boolean endermanDisableStareAggro = false;
+ public boolean endermanIgnoreProjectiles = false;
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1356,6 +1357,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 boolean endermiteRidable = false;