Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-15 04:20:04 +01:00
928bcc8d3a
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 09943450 Update SnakeYAML version 5515734f SPIGOT-7162: Incorrect description for Entity#getVehicle javadoc 6f82b381 PR-788: Add getHand() to all relevant events CraftBukkit Changes: aaf484f6f SPIGOT-7163: CraftMerchantRecipe doesn't copy demand and specialPrice from BukkitMerchantRecipe 5329dd6fd PR-1107: Add getHand() to all relevant events 93061706e SPIGOT-7045: Ocelots never spawn with babies with spawn reason OCELOT_BABY
67 Zeilen
2.7 KiB
Diff
67 Zeilen
2.7 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 and isPreferredTool to BlockData
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java
|
|
index 10cbe71917bc32cca61748bcb0aa3395c554dbf8..5be829058c41283a5d3d14776617c98c4cdaaf8e 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.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.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.Collection<org.bukkit.inventory.ItemStack> getDrops(@NotNull org.bukkit.inventory.ItemStack tool, @Nullable org.bukkit.entity.Entity entity);
|
|
// Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/block/data/BlockData.java b/src/main/java/org/bukkit/block/data/BlockData.java
|
|
index bd987bd0a29618dfe07de50b194fd6fa694628ec..b166d053b3c44f06cb1f5b643e7f7e117eb21d17 100644
|
|
--- a/src/main/java/org/bukkit/block/data/BlockData.java
|
|
+++ b/src/main/java/org/bukkit/block/data/BlockData.java
|
|
@@ -160,5 +160,16 @@ public interface BlockData extends Cloneable {
|
|
* @return is ticked randomly
|
|
*/
|
|
boolean isRandomlyTicked();
|
|
+
|
|
+ /**
|
|
+ * Returns if the given item is a preferred choice to break this block.
|
|
+ *
|
|
+ * In some cases this determines if a block will drop anything or extra
|
|
+ * loot.
|
|
+ *
|
|
+ * @param tool The tool or item used for breaking this block
|
|
+ * @return true if the tool is preferred for breaking this block
|
|
+ */
|
|
+ boolean isPreferredTool(@NotNull org.bukkit.inventory.ItemStack tool);
|
|
// Paper end
|
|
}
|