aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0920-Fix-advancement-triggers-for-entity-damage.patch
diff options
context:
space:
mode:
authorTamion <[email protected]>2023-11-04 21:20:13 +0100
committerGitHub <[email protected]>2023-11-04 13:20:13 -0700
commitbffb08c2f99a5527b7357d005cb10ba21cf048d9 (patch)
treec25ad5490b0ede8ce30bc0f23b5e0255eecc0dbc /patches/server/0920-Fix-advancement-triggers-for-entity-damage.patch
parent6592fed511ee2ea17de9e05463579bd1923cf8aa (diff)
downloadPaper-bffb08c2f99a5527b7357d005cb10ba21cf048d9.tar.gz
Paper-bffb08c2f99a5527b7357d005cb10ba21cf048d9.zip
Deprecate Player#boostElytra (#9899)
The Paper method was chosen for deprecation because it was more restrictive in that it has an isGliding check.
Diffstat (limited to 'patches/server/0920-Fix-advancement-triggers-for-entity-damage.patch')
-rw-r--r--patches/server/0920-Fix-advancement-triggers-for-entity-damage.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/patches/server/0920-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0920-Fix-advancement-triggers-for-entity-damage.patch
new file mode 100644
index 0000000000..c55eac7b90
--- /dev/null
+++ b/patches/server/0920-Fix-advancement-triggers-for-entity-damage.patch
@@ -0,0 +1,46 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <[email protected]>
+Date: Thu, 16 Mar 2023 10:04:17 +0100
+Subject: [PATCH] Fix advancement triggers for entity damage
+
+Changes the Interaction entity's trigger to use the vanilla
+generic damage source
+
+Fixes a couple places where the original damage and modified damage
+were passed in the reverse order to the advancement triggers
+
+diff --git a/src/main/java/net/minecraft/world/entity/Interaction.java b/src/main/java/net/minecraft/world/entity/Interaction.java
+index f054d67a637b204de604fadc0d321f5c9816d808..fc5f1e1b445f0a55a35a31d58a90920a80275662 100644
+--- a/src/main/java/net/minecraft/world/entity/Interaction.java
++++ b/src/main/java/net/minecraft/world/entity/Interaction.java
+@@ -160,7 +160,7 @@ public class Interaction extends Entity implements Attackable, Targeting {
+ if (entityhuman instanceof ServerPlayer) {
+ ServerPlayer entityplayer = (ServerPlayer) entityhuman;
+
+- CriteriaTriggers.PLAYER_HURT_ENTITY.trigger(entityplayer, this, source, (float) event.getFinalDamage(), 1.0F, false); // CraftBukkit
++ CriteriaTriggers.PLAYER_HURT_ENTITY.trigger(entityplayer, this, entityhuman.damageSources().generic(), 1.0F, (float) event.getFinalDamage(), false); // CraftBukkit // Paper - use correct source and fix taken/dealt param order
+ }
+
+ return !this.getResponse();
+diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
+index 719f03fe96956c3fc34bbabdfa6c46bc6aca0bc1..371f6d2539eac7161a86bb64763b4ee228eccbdf 100644
+--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
++++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
+@@ -2304,7 +2304,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+ // Duplicate triggers if blocking
+ if (event.getDamage(DamageModifier.BLOCKING) < 0) {
+ if (this instanceof ServerPlayer) {
+- CriteriaTriggers.ENTITY_HURT_PLAYER.trigger((ServerPlayer) this, damagesource, f, originalDamage, true);
++ CriteriaTriggers.ENTITY_HURT_PLAYER.trigger((ServerPlayer) this, damagesource, originalDamage, f, true); // Paper - fix taken/dealt param order
+ f2 = (float) -event.getDamage(DamageModifier.BLOCKING);
+ if (f2 > 0.0F && f2 < 3.4028235E37F) {
+ ((ServerPlayer) this).awardStat(Stats.DAMAGE_BLOCKED_BY_SHIELD, Math.round(originalDamage * 10.0F));
+@@ -2312,7 +2312,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+ }
+
+ if (damagesource.getEntity() instanceof ServerPlayer) {
+- CriteriaTriggers.PLAYER_HURT_ENTITY.trigger((ServerPlayer) damagesource.getEntity(), this, damagesource, f, originalDamage, true);
++ CriteriaTriggers.PLAYER_HURT_ENTITY.trigger((ServerPlayer) damagesource.getEntity(), this, damagesource, originalDamage, f, true); // Paper - fix taken/dealt param order
+ }
+
+ return false;