From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Thu, 24 Apr 2025 16:36:16 -0400 Subject: [PATCH] Paw optimization Some random optimizations diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java index e9ec96e9aee0cdf72ff18f8a42389ff78869f58c..ae0b0e2bea46707d78adc60d2cc212a813bef076 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java @@ -244,13 +244,37 @@ public class CraftBlockData implements BlockData { if (!states.isEmpty()) { stateString.append('['); - stateString.append(states.entrySet().stream().map(StateHolder.PROPERTY_ENTRY_TO_STRING_FUNCTION).collect(Collectors.joining(","))); + // Leaf start - paw optimization + int i = 0; + for (Map.Entry, Comparable> propertyEntry : states.entrySet()) { + if (propertyEntry == null) { + stateString.append(""); + } else { + Property property = propertyEntry.getKey(); + Comparable value = propertyEntry.getValue(); + + stateString.append(property.getName()).append("=").append(getValueName(property, value)); + } + + if (i < states.size() - 1) { + stateString.append(","); + } + + i++; + } + // Leaf end - paw optimization stateString.append(']'); } return stateString.toString(); } + // Leaf start - paw optimization + private > String getValueName(Property property, Comparable value) { + return property.getName((T) value); + } + // Leaf end - paw optimization + public Map toStates(boolean hideUnspecified) { return (hideUnspecified && this.parsedStates != null) ? CraftBlockData.toStates(this.parsedStates) : CraftBlockData.toStates(this.state.getValues()); }