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 committed by GitHub
parent d7d3f6371e
commit e105354330
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
62 changed files with 182 additions and 21 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 30b9bdca89a8d4b226824b3de8b9ac5bc8243c7d..b7889e3b6cc5d3ed4d7fc2380d0acb060cb0905a 100644
--- a/src/main/java/org/bukkit/event/entity/EntityBreakDoorEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityBreakDoorEvent.java
@@ -12,8 +12,8 @@ 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

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Add method isTickingWorlds() to Bukkit.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 14ddb641d8a20ebd80cb2c5c8bef3062f813026d..5635bd49107013faace6b79731c70ac1356ec357 100644
index 209a0c48e092f168744498e1ba7555279318394c..aa938c777936bbefc0c8cef248ad03e0f52bef2c 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -775,12 +775,26 @@ public final class Bukkit {
@ -56,7 +56,7 @@ index 14ddb641d8a20ebd80cb2c5c8bef3062f813026d..5635bd49107013faace6b79731c70ac1
* @param world the world to unload
* @param save whether to save the chunks before unloading
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index b6bdb945755a2c37b3cb2c3e2e91f7d769c517c4..5a388914d58eda63715fc0a6d0d4f507b6ca9672 100644
index 20f95f8911852d86ea938dd73ed0d44c01b27d28..7bdac4b297e40383dd2ef4e2735fdfb086ecaa14 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -648,34 +648,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi

View file

@ -59,7 +59,7 @@ index d0bef15785493b512ff0f7414c1d58d38fead581..58017fce436cdbda255f7172fbdadb72
/**
* Gets the item stack associated with this item drop.
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index 55518f6412d4d319df9cdab3bdff52c6e2bcb8c5..4fa02476bbcb0590171d5b20d25156ccb3cc9b6c 100644
index 7889ec8e0954c98e9611a20811b1ddc5bcd93b7f..f4c5ec3f7e5c29b1799eef6c4f76617e9f23c0d7 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable;

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Add method to remove all active potion effects
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
index 7fe230a8e8894b375a52c68152c7a0665b6ae1b3..bc6702817516c14d90ab45eb0ebf8354e79564a5 100644
index 03490d35a24c056ed148e45eea27d1786a58c8fc..19e58e62ae442ef9be02ca7fa2f55e370a54afa4 100644
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
@@ -589,6 +589,15 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource

View file

@ -499,7 +499,7 @@ index 0000000000000000000000000000000000000000..a6b50c9d8af589cc4747e14d343d2045
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 5635bd49107013faace6b79731c70ac1356ec357..77113822dc579ce350a5410ed713996eaf5e917e 100644
index aa938c777936bbefc0c8cef248ad03e0f52bef2c..b243db56756c67cd2c41d7768898d01539f9260a 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2523,6 +2523,141 @@ public final class Bukkit {
@ -645,7 +645,7 @@ index 5635bd49107013faace6b79731c70ac1356ec357..77113822dc579ce350a5410ed713996e
public static Server.Spigot spigot() {
return server.spigot();
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 5a388914d58eda63715fc0a6d0d4f507b6ca9672..b885c1aaf96f7b8e2787f37c21d65308a0a31e7f 100644
index 7bdac4b297e40383dd2ef4e2735fdfb086ecaa14..6b72eccdcb6f75534a4267a1dd0a4cc2f39e917b 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2198,4 +2198,119 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi