geforkt von Mirrors/Paper
add Escape Reason Drown for EndermanEscapeEvent
to detect rain specifically from every other armor ignoring hit
Dieser Commit ist enthalten in:
Ursprung
9c32d79355
Commit
cb9b5bfa82
@ -9,7 +9,7 @@ You may cancel this, enabling ranged attacks to damage the enderman for example.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EndermanEscapeEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EndermanEscapeEvent.java
|
||||
new file mode 100644
|
||||
index 00000000..b8de1037
|
||||
index 00000000..0d15a8ab
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EndermanEscapeEvent.java
|
||||
@@ -0,0 +0,0 @@
|
||||
@ -88,7 +88,11 @@ index 00000000..b8de1037
|
||||
+ /**
|
||||
+ * The enderman has teleported away due to the player staring at it during combat
|
||||
+ */
|
||||
+ STARE
|
||||
+ STARE,
|
||||
+ /**
|
||||
+ * Specific case for CRITICAL_HIT where the enderman is taking rain damage
|
||||
+ */
|
||||
+ DROWN
|
||||
+ }
|
||||
+}
|
||||
--
|
@ -8,7 +8,7 @@ Fires an event anytime an enderman intends to teleport away from the player
|
||||
You may cancel this, enabling ranged attacks to damage the enderman for example.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
index 2f59e7071..bf32e386c 100644
|
||||
index 2f59e7071..e8ea231dc 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
@@ -0,0 +0,0 @@
|
||||
@ -54,7 +54,7 @@ index 2f59e7071..bf32e386c 100644
|
||||
boolean flag = super.damageEntity(damagesource, f);
|
||||
|
||||
- if (damagesource.ignoresArmor() && this.random.nextInt(10) != 0) {
|
||||
+ if (damagesource.ignoresArmor() && this.random.nextInt(10) != 0 && tryEscape(EndermanEscapeEvent.Reason.CRITICAL_HIT)) { // Paper
|
||||
+ if (damagesource.ignoresArmor() && this.random.nextInt(10) != 0 && tryEscape(damagesource == DamageSource.DROWN ? EndermanEscapeEvent.Reason.DROWN : EndermanEscapeEvent.Reason.CRITICAL_HIT)) { // Paper
|
||||
this.dm();
|
||||
}
|
||||
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren