e105354330
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.
48 Zeilen
2.0 KiB
Diff
48 Zeilen
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: MelnCat <melncatuwu@gmail.com>
|
|
Date: Fri, 12 Aug 2022 23:24:53 -0700
|
|
Subject: [PATCH] Add getDrops to BlockState
|
|
|
|
Originally added isPreferredTool to BlockData but
|
|
upstream added that.
|
|
|
|
diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java
|
|
index 10cbe71917bc32cca61748bcb0aa3395c554dbf8..37ca7b6b0fcee8bec12026ec3715dcc47400cc11 100644
|
|
--- a/src/main/java/org/bukkit/block/BlockState.java
|
|
+++ b/src/main/java/org/bukkit/block/BlockState.java
|
|
@@ -233,5 +233,34 @@ public interface BlockState extends Metadatable {
|
|
* @return true if collidable
|
|
*/
|
|
boolean isCollidable();
|
|
+
|
|
+ /**
|
|
+ * Returns an immutable list of items which would drop by destroying this block state.
|
|
+ *
|
|
+ * @return an immutable list of dropped items for the block state
|
|
+ */
|
|
+ @NotNull
|
|
+ java.util.@org.jetbrains.annotations.Unmodifiable Collection<org.bukkit.inventory.ItemStack> getDrops();
|
|
+
|
|
+ /**
|
|
+ * Returns an immutable list of items which would drop by destroying this block state
|
|
+ * with a specific tool
|
|
+ *
|
|
+ * @param tool The tool or item in hand used for digging
|
|
+ * @return an immutable list of dropped items for the block state
|
|
+ */
|
|
+ @NotNull
|
|
+ java.util.@org.jetbrains.annotations.Unmodifiable Collection<org.bukkit.inventory.ItemStack> getDrops(@Nullable org.bukkit.inventory.ItemStack tool);
|
|
+
|
|
+ /**
|
|
+ * Returns an immutable list of items which would drop by the entity destroying this
|
|
+ * block state with a specific tool
|
|
+ *
|
|
+ * @param tool The tool or item in hand used for digging
|
|
+ * @param entity the entity destroying the block
|
|
+ * @return an immutable list of dropped items for the block state
|
|
+ */
|
|
+ @NotNull
|
|
+ java.util.@org.jetbrains.annotations.Unmodifiable Collection<org.bukkit.inventory.ItemStack> getDrops(@NotNull org.bukkit.inventory.ItemStack tool, @Nullable org.bukkit.entity.Entity entity);
|
|
// Paper end
|
|
}
|