Update incremental chunk saving

This commit is contained in:
Jason Penilla 2021-06-17 01:37:27 -07:00
parent f87d5ab52b
commit 691cdf6f9e
No known key found for this signature in database
GPG key ID: 0E75A301420E48F8
258 changed files with 192 additions and 190 deletions

View file

@ -0,0 +1,40 @@
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 2209587fbc4240561aeea6e525fbf22f5041e145..2379b61fff76fa39a37348a740ca5ad18fadff4f 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -623,6 +623,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());