diff options
Diffstat (limited to 'patches/server/0511-Additional-Block-Material-API-s.patch')
-rw-r--r-- | patches/server/0511-Additional-Block-Material-API-s.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/patches/server/0511-Additional-Block-Material-API-s.patch b/patches/server/0511-Additional-Block-Material-API-s.patch new file mode 100644 index 0000000000..1526eefd6e --- /dev/null +++ b/patches/server/0511-Additional-Block-Material-API-s.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'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/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +index ef1e77729b12a9ee0b13fa283f8200cc0c3968ce..4239fa3d992722bd1d9184bb5c33ce5c14010052 100644 +--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java ++++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +@@ -439,6 +439,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()); |