mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-22 19:07:44 +01:00
44 lines
2.8 KiB
Diff
44 lines
2.8 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/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
|
|
index c9fd8c8e7e36cbab2dcf4b0f5e6d84ede5851a12..e7568e3df10bc07e9b3b05caa9d41398925cf4d7 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
|
|
@@ -197,7 +197,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
|
// Paper end
|
|
ItemStack itemstack = (ItemStack) entityhuman.inventory.armor.get(3);
|
|
|
|
- if (itemstack.getItem() == Blocks.CARVED_PUMPKIN.getItem()) {
|
|
+ if (world.purpurConfig.endermanDisableStareAggro || itemstack.getItem() == Blocks.CARVED_PUMPKIN.getItem() || (world.purpurConfig.endermanIgnorePlayerDragonHead && itemstack.getItem() == Items.DRAGON_HEAD)) { // Purpur
|
|
return false;
|
|
} else {
|
|
Vec3D vec3d = entityhuman.f(1.0F).d();
|
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
index 9a41f45d0ccc019b44c289af16eacfe7960a2053..6c7afd40d1bde770424216f01e78a07d05077670 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
@@ -824,6 +824,8 @@ public class PurpurWorldConfig {
|
|
public double endermanMaxHealth = 40.0D;
|
|
public boolean endermanTakeDamageFromWater = true;
|
|
public boolean endermanAggroSpawnedEndermites = false;
|
|
+ public boolean endermanIgnorePlayerDragonHead = false;
|
|
+ public boolean endermanDisableStareAggro = false;
|
|
private void endermanSettings() {
|
|
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
|
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
|
@@ -838,6 +840,8 @@ 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);
|
|
+ endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead);
|
|
+ endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro);
|
|
}
|
|
|
|
public boolean endermiteRidable = false;
|