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,27 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Malfrador <malfrador@gmail.com>
Date: Wed, 31 May 2023 21:25:01 +0200
Subject: [PATCH] Add transient modifier API
diff --git a/src/main/java/org/bukkit/attribute/AttributeInstance.java b/src/main/java/org/bukkit/attribute/AttributeInstance.java
index f08ee26cc4d479e1bfc5264b8cbe721315de91f2..5513174ea545bb5b4fdc028cbaa4c1bb763e2c6d 100644
--- a/src/main/java/org/bukkit/attribute/AttributeInstance.java
+++ b/src/main/java/org/bukkit/attribute/AttributeInstance.java
@@ -46,6 +46,16 @@ public interface AttributeInstance {
*/
void addModifier(@NotNull AttributeModifier modifier);
+ // Paper start - Transient modifier API
+ /**
+ * Add a transient modifier to this instance.
+ * Transient modifiers are not persisted (saved with the NBT data)
+ *
+ * @param modifier to add
+ */
+ void addTransientModifier(@NotNull AttributeModifier modifier);
+ // Paper end
+
/**
* Remove a modifier from this instance.
*