Fix incorrect new blockdata in EntityChangeBlockEvent (#9445)

Also fixes EntityBreakDoorEvent not having the correct 'to' block data

Also standardizes how to handle EntityChangeBlockEvent before a removeBlock or destroyBlock
call. Always use 'state.getFluidState().createLegacyBlock()' to get the new state instead of
just using the 'air' state.
This commit is contained in:
Jake Potrebic
2023-07-07 10:25:36 -07:00
parent a7bb0d20d4
commit c06ad72e31
2 changed files with 169 additions and 8 deletions

View File

@@ -0,0 +1,21 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Sun, 2 Jul 2023 22:14:09 -0700
Subject: [PATCH] Fix incorrect new blockstate in EntityBreakDoorEvent
diff --git a/src/main/java/org/bukkit/event/entity/EntityBreakDoorEvent.java b/src/main/java/org/bukkit/event/entity/EntityBreakDoorEvent.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/event/entity/EntityBreakDoorEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityBreakDoorEvent.java
@@ -0,0 +0,0 @@ import org.jetbrains.annotations.NotNull;
* Cancelling the event will cause the event to be delayed
*/
public class EntityBreakDoorEvent extends EntityChangeBlockEvent {
- public EntityBreakDoorEvent(@NotNull final LivingEntity entity, @NotNull final Block targetBlock) {
- super(entity, targetBlock, Material.AIR.createBlockData());
+ public EntityBreakDoorEvent(@NotNull final LivingEntity entity, @NotNull final Block targetBlock, @NotNull final org.bukkit.block.data.BlockData to) { // Paper
+ super(entity, targetBlock, to); // Paper
}
@NotNull