diff options
Diffstat (limited to 'patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch')
-rw-r--r-- | patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch b/patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch deleted file mode 100644 index 88530a6a65..0000000000 --- a/patches/api/0394-Add-exploded-block-state-to-EntityDamageByBlockEvent.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jake Potrebic <[email protected]> -Date: Fri, 22 Oct 2021 16:24:17 -0700 -Subject: [PATCH] Add exploded block state to EntityDamageByBlockEvent - - -diff --git a/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java b/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java -index 8309b030c2120f1496d244f3ebc1094def41c869..a7c297364805c58ae16895055d8eae0484384b7d 100644 ---- a/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java -+++ b/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java -@@ -32,6 +32,7 @@ public class BlockExplodeEvent extends BlockEvent implements Cancellable { - this.cancel = false; - } - -+ @io.papermc.paper.annotation.DoNotUse // Paper - @Deprecated(forRemoval = true) - public BlockExplodeEvent(@NotNull final Block what, @NotNull final List<Block> blocks, final float yield) { - this(what, what.getState(), blocks, yield); -diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java -index 467a0d6cabc5e860628be3b1e62de773efde5d2e..1fb15e2ade8ff3c4d662eca87b078b4577f786e1 100644 ---- a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java -+++ b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java -@@ -11,28 +11,35 @@ import org.jetbrains.annotations.Nullable; - - /** - * Called when an entity is damaged by a block -+ * <p> -+ * For explosions, the Block returned by {@link #getDamager()} has -+ * already been cleared. See {@link #getDamagerBlockState()} for a snapshot -+ * of the block if it has already been changed. - */ - public class EntityDamageByBlockEvent extends EntityDamageEvent { - private final Block damager; -+ private final org.bukkit.block.BlockState damagerBlockState; // Paper - - @Deprecated(forRemoval = true) - public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage) { -- this(damager, damagee, cause, (damager != null) ? DamageSource.builder(DamageType.GENERIC).withDamageLocation(damager.getLocation()).build() : DamageSource.builder(DamageType.GENERIC).build(), damage); -+ this(damager, damagee, cause, (damager != null) ? DamageSource.builder(DamageType.GENERIC).withDamageLocation(damager.getLocation()).build() : DamageSource.builder(DamageType.GENERIC).build(), damage, null); // Paper - } - -- public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, final double damage) { -+ public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, final double damage, final @Nullable org.bukkit.block.BlockState damagerBlockState) { // Paper - super(damagee, cause, damageSource, damage); - this.damager = damager; -+ this.damagerBlockState = damagerBlockState; // Paper - } - - @Deprecated(forRemoval = true) - public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) { -- this(damager, damagee, cause, (damager != null) ? DamageSource.builder(DamageType.GENERIC).withDamageLocation(damager.getLocation()).build() : DamageSource.builder(DamageType.GENERIC).build(), modifiers, modifierFunctions); -+ this(damager, damagee, cause, (damager != null) ? DamageSource.builder(DamageType.GENERIC).withDamageLocation(damager.getLocation()).build() : DamageSource.builder(DamageType.GENERIC).build(), modifiers, modifierFunctions, null); // Paper - } - -- public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) { -+ public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions, final @Nullable org.bukkit.block.BlockState damagerBlockState) { // Paper - super(damagee, cause, damageSource, modifiers, modifierFunctions); - this.damager = damager; -+ this.damagerBlockState = damagerBlockState; // Paper - } - - /** -@@ -44,4 +51,20 @@ public class EntityDamageByBlockEvent extends EntityDamageEvent { - public Block getDamager() { - return damager; - } -+ -+ // Paper start -+ /** -+ * Get a capture of the block that directly caused -+ * the damage, like a bed or respawn anchor. This -+ * block state is not placed so {@link org.bukkit.block.BlockState#isPlaced} -+ * will be false. -+ * <p> -+ * Can be null if the block wasn't changed before the event -+ * -+ * @return the damager block state or null if not applicable -+ */ -+ public @Nullable org.bukkit.block.BlockState getDamagerBlockState() { -+ return this.damagerBlockState; -+ } -+ // Paper end - } |