diff options
Diffstat (limited to 'patches/server/0472-Additional-Block-Material-API.patch')
-rw-r--r-- | patches/server/0472-Additional-Block-Material-API.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/patches/server/0472-Additional-Block-Material-API.patch b/patches/server/0472-Additional-Block-Material-API.patch new file mode 100644 index 0000000000..81728edf48 --- /dev/null +++ b/patches/server/0472-Additional-Block-Material-API.patch @@ -0,0 +1,40 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Aikar <[email protected]> +Date: Wed, 30 Dec 2020 19:43:01 -0500 +Subject: [PATCH] Additional Block Material API + +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/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +index aa644231425b9622437538b5c092d4064a40cced..98e87dc15e2ed23f6897ba6359846ff5bc32b655 100644 +--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java ++++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +@@ -440,6 +440,25 @@ public class CraftBlock implements Block { + return this.getNMS().liquid(); + } + ++ // Paper start ++ @Override ++ public boolean isBuildable() { ++ return this.getNMS().isSolid(); // This is in fact isSolid, despite the fact that isSolid below returns blocksMotion ++ } ++ @Override ++ public boolean isBurnable() { ++ return this.getNMS().ignitedByLava(); ++ } ++ @Override ++ public boolean isReplaceable() { ++ return this.getNMS().canBeReplaced(); ++ } ++ @Override ++ public boolean isSolid() { ++ return this.getNMS().blocksMotion(); ++ } ++ // Paper end ++ + @Override + public PistonMoveReaction getPistonMoveReaction() { + return PistonMoveReaction.getById(this.getNMS().getPistonPushReaction().ordinal()); |