79b873c901
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: 64c8bd39 #679: Add getHideOnlinePlayers b991b6c7 #677: Add "Allow Server Listings" API 4e9f199a SPIGOT-6801: Wrong BlockData classes in Material enum for SOUL_FIRE and SOUL_TORCH CraftBukkit Changes: 37e63e63 Fix loading / creating secondary worlds (nether/end) 4bf7f33c #956: Add getHideOnlinePlayers d181e1ed Fix serializing unhandled NBT + add unit test with unhandled NBT aebb79e3 #954: Add "Allow Server Listings" API 7c4707e4 #955: Add test for BlockData class of Material Spigot Changes: 16c0cb41 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 b637686404f0aa87c6996220987ed4a303496b43..5922f4a3d5ac69abb232e8e497d838e10e35316e 100644
|
|
--- a/src/main/java/org/bukkit/Material.java
|
|
+++ b/src/main/java/org/bukkit/Material.java
|
|
@@ -3928,6 +3928,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);
|
|
@@ -4132,6 +4133,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:
|
|
@@ -5213,6 +5219,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
|
|
}
|
|
}
|
|
|