mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-21 18:37:42 +01:00
42 lines
2.9 KiB
Diff
42 lines
2.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Encode42 <me@encode42.dev>
|
|
Date: Tue, 9 Mar 2021 16:16:01 -0500
|
|
Subject: [PATCH] Config to ignore Dragon Head wearers and stare aggro
|
|
|
|
Prevents Enderman from becoming aggresive towards players that are wearing a Dragon Head.
|
|
Adds functionality to a useless item!
|
|
|
|
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 7eb57c02515045dbc569c6b1da412c9fb398bd28..6f3ccd2d437bacf7a7e828b62b51533eebc82b02 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
|
@@ -260,7 +260,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
|
|
|
boolean isBeingStaredBy(Player player) {
|
|
// Paper start - EndermanAttackPlayerEvent
|
|
- boolean shouldAttack = isBeingStaredBy0(player);
|
|
+ boolean shouldAttack = !this.level().purpurConfig.endermanDisableStareAggro && isBeingStaredBy0(player); // Purpur
|
|
com.destroystokyo.paper.event.entity.EndermanAttackPlayerEvent event = new com.destroystokyo.paper.event.entity.EndermanAttackPlayerEvent((org.bukkit.entity.Enderman) getBukkitEntity(), (org.bukkit.entity.Player) player.getBukkitEntity());
|
|
event.setCancelled(!shouldAttack);
|
|
return event.callEvent();
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index 6e199b1948fa7f4ba79fe21586aac94eabe189d7..a5bf37a0e9e5b818b1213bfe5e54bd3e4f08644d 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -1032,6 +1032,7 @@ public class PurpurWorldConfig {
|
|
public boolean endermanTakeDamageFromWater = true;
|
|
public boolean endermanAggroEndermites = true;
|
|
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
|
|
+ public boolean endermanDisableStareAggro = false;
|
|
private void endermanSettings() {
|
|
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
|
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
|
@@ -1053,6 +1054,7 @@ public class PurpurWorldConfig {
|
|
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
|
|
endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites);
|
|
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);
|
|
+ endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro);
|
|
}
|
|
|
|
public boolean endermiteRidable = false;
|