mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-30 20:21:51 +01:00
96d5e6ca48
Currently includes generated key holder classes for types used in the Registry Modification API
68 lines
2.7 KiB
Diff
68 lines
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Thu, 2 Jan 2020 12:25:16 -0600
|
|
Subject: [PATCH] Improve Block#breakNaturally API
|
|
|
|
Adds bool param to trigger world particle effects
|
|
|
|
Adds bool param to trigger exp drops for blocks
|
|
|
|
Co-authored-by: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
|
|
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
|
|
index 2b267d4c9adcc13722d4a655a98ca16a0f9746ca..22cfffddb681a7ed95e19f4da6e2c272d22a6f69 100644
|
|
--- a/src/main/java/org/bukkit/block/Block.java
|
|
+++ b/src/main/java/org/bukkit/block/Block.java
|
|
@@ -481,6 +481,52 @@ public interface Block extends Metadatable, Translatable {
|
|
*/
|
|
boolean breakNaturally(@Nullable ItemStack tool);
|
|
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Breaks the block and spawns item drops as if a player had broken it
|
|
+ *
|
|
+ * @param triggerEffect Play the block break particle effect and sound
|
|
+ * @return true if the block was destroyed
|
|
+ * @see #breakNaturally(boolean, boolean) to trigger exp drops
|
|
+ */
|
|
+ default boolean breakNaturally(boolean triggerEffect) {
|
|
+ return this.breakNaturally(triggerEffect, false);
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Breaks the block and spawns item drops as if a player had broken it
|
|
+ *
|
|
+ * @param triggerEffect Play the block break particle effect and sound
|
|
+ * @param dropExperience drop exp if the block normally does so
|
|
+ * @return true if the block was destroyed
|
|
+ */
|
|
+ boolean breakNaturally(boolean triggerEffect, boolean dropExperience);
|
|
+
|
|
+ /**
|
|
+ * Breaks the block and spawns item drops as if a player had broken it
|
|
+ * with a specific tool
|
|
+ *
|
|
+ * @param tool The tool or item in hand used for digging
|
|
+ * @param triggerEffect Play the block break particle effect and sound
|
|
+ * @return true if the block was destroyed
|
|
+ * @see #breakNaturally(ItemStack, boolean, boolean) to trigger exp drops
|
|
+ */
|
|
+ default boolean breakNaturally(@NotNull ItemStack tool, boolean triggerEffect) {
|
|
+ return this.breakNaturally(tool, triggerEffect, false);
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Breaks the block and spawns item drops as if a player had broken it
|
|
+ * with a specific tool
|
|
+ *
|
|
+ * @param tool The tool or item in hand used for digging
|
|
+ * @param triggerEffect Play the block break particle effect and sound
|
|
+ * @param dropExperience drop exp if the block normally does so
|
|
+ * @return true if the block was destroyed
|
|
+ */
|
|
+ boolean breakNaturally(@NotNull ItemStack tool, boolean triggerEffect, boolean dropExperience);
|
|
+ // Paper end
|
|
+
|
|
/**
|
|
* Simulate bone meal application to this block (if possible).
|
|
*
|