mirror of
https://github.com/PaperMC/Paper.git
synced 2024-10-29 23:09:33 +01:00
9147456fc9
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 CraftBukkit Changes: ab8ace685 SPIGOT-7236: Bone meal doesn't increase use statistic 7dcb59b8e Avoid switch on material in previous commit Spigot Changes: 19641c75 SPIGOT-7235: World.Spigot#strikeLightningEffect doesn't do anything
41 lines
1.6 KiB
Diff
41 lines
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
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 ac831b22930ad02951186b6326b0c542de4c9881..30b5a78a93405f3a03624ed1331670770aaa3765 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
|
@@ -465,6 +465,25 @@ public class CraftBlock implements Block {
|
|
return this.getNMS().getMaterial().isLiquid();
|
|
}
|
|
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public boolean isBuildable() {
|
|
+ return getNMS().getMaterial().isSolid(); // This is in fact isSolid, despite the fact that isSolid below returns blocksMotion
|
|
+ }
|
|
+ @Override
|
|
+ public boolean isBurnable() {
|
|
+ return getNMS().getMaterial().isFlammable();
|
|
+ }
|
|
+ @Override
|
|
+ public boolean isReplaceable() {
|
|
+ return getNMS().getMaterial().isReplaceable();
|
|
+ }
|
|
+ @Override
|
|
+ public boolean isSolid() {
|
|
+ return getNMS().getMaterial().blocksMotion();
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
@Override
|
|
public PistonMoveReaction getPistonMoveReaction() {
|
|
return PistonMoveReaction.getById(this.getNMS().getPistonPushReaction().ordinal());
|