diff options
Diffstat (limited to 'patches/api/0233-Additional-Block-Material-API-s.patch')
-rw-r--r-- | patches/api/0233-Additional-Block-Material-API-s.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/patches/api/0233-Additional-Block-Material-API-s.patch b/patches/api/0233-Additional-Block-Material-API-s.patch new file mode 100644 index 0000000000..ab3e6f9ac6 --- /dev/null +++ b/patches/api/0233-Additional-Block-Material-API-s.patch @@ -0,0 +1,57 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Aikar <[email protected]> +Date: Wed, 30 Dec 2020 17:27:27 -0500 +Subject: [PATCH] Additional Block Material API's + +Faster version for isSolid() that utilizes NMS's state for isSolid instead of the slower +process to do this in the Bukkit API + +Adds API for buildable, replaceable, burnable too. + +diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java +index 4aea4be0677d93e17a4ce98dd340dd9921f996a0..c68ed7de2d50da4105dd38c0986f237e8c56b2d6 100644 +--- a/src/main/java/org/bukkit/block/Block.java ++++ b/src/main/java/org/bukkit/block/Block.java +@@ -439,6 +439,42 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr + */ + boolean isLiquid(); + ++ // Paper start ++ /** ++ * Check if this block is solid ++ * <p> ++ * Determined by Minecraft, typically a block a player can use to place a new block to build things. ++ * An example of a non buildable block would be liquids, flowers, or fire ++ * ++ * @return true if block is buildable ++ */ ++ boolean isBuildable(); ++ /** ++ * Check if this block is burnable ++ * <p> ++ * Determined by Minecraft, typically a block that fire can destroy (Wool, Wood) ++ * ++ * @return true if block is burnable ++ */ ++ boolean isBurnable(); ++ /** ++ * Check if this block is replaceable ++ * <p> ++ * Determined by Minecraft, representing a block that is not AIR that you can still place a new block at, such as flowers. ++ * @return true if block is replaceable ++ */ ++ boolean isReplaceable(); ++ /** ++ * Check if this block is solid ++ * <p> ++ * Determined by Minecraft, typically a block a player can stand on and can't be passed through. ++ * ++ * This API is faster than accessing Material#isSolid as it avoids a material lookup and switch statement. ++ * @return true if block is solid ++ */ ++ boolean isSolid(); ++ // Paper end ++ + /** + * Gets the temperature of this block. + * <p> |