b58063a949
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 Bukkit Changes: 607ce370 SPIGOT-7069: Material.BARREL has Directional data class, should also be Openable f14cea82 SPIGOT-7070: Material.SCULK_VEIN has Waterlogged data class, should also be MultipleFacing 8e43b278 PR-767: Add support checking/survivability methods for BlockData b3dee151 SPIGOT-7083: Add Boat.WoodenType, Boat.Status; deprecate TreeSpecies CraftBukkit Changes: 9a8e08010 SPIGOT-7069: Material.BARREL has Directional data class, should also be Openable 26bd88ccd SPIGOT-7070: Material.SCULK_VEIN has Waterlogged data class, should also be MultipleFacing 7ba06e15b SPIGOT-7095: StructureGrowEvent doesn't fire for mangrove propagules growing to a tree 163e35c91 PR-1079: Add support checking/survivability methods for BlockData 4230f8f0e SPIGOT-7083: Add Boat.WoodenType, Boat.Status; deprecate TreeSpecies Spigot Changes: 14a2382f Rebuild patches
38 lines
1.5 KiB
Diff
38 lines
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
|
|
Date: Tue, 2 Mar 2021 15:24:58 -0800
|
|
Subject: [PATCH] Cache the result of Material#isBlock
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
|
|
index f0042c25a19860645d0c869fad58625b6ecafb6e..1a718a69e97cabda6a1c78529110193c14899949 100644
|
|
--- a/src/main/java/org/bukkit/Material.java
|
|
+++ b/src/main/java/org/bukkit/Material.java
|
|
@@ -4071,6 +4071,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
|
|
public final Class<?> data;
|
|
private final boolean legacy;
|
|
private final NamespacedKey key;
|
|
+ private boolean isBlock; // Paper
|
|
|
|
private Material(final int id) {
|
|
this(id, 64);
|
|
@@ -4277,6 +4278,11 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
|
|
* @return true if this material is a block
|
|
*/
|
|
public boolean isBlock() {
|
|
+ // Paper start - cache isBlock
|
|
+ return this.isBlock;
|
|
+ }
|
|
+ private boolean isBlock0() {
|
|
+ // Paper end
|
|
switch (this) {
|
|
//<editor-fold defaultstate="collapsed" desc="isBlock">
|
|
case ACACIA_BUTTON:
|
|
@@ -5393,6 +5399,7 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
|
|
static {
|
|
for (Material material : values()) {
|
|
BY_NAME.put(material.name(), material);
|
|
+ material.isBlock = material.isBlock0(); // Paper
|
|
}
|
|
}
|
|
|