diff options
Diffstat (limited to 'patches/server/0419-Cache-block-data-strings.patch')
-rw-r--r-- | patches/server/0419-Cache-block-data-strings.patch | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/patches/server/0419-Cache-block-data-strings.patch b/patches/server/0419-Cache-block-data-strings.patch index ead288ff03..933c5a446f 100644 --- a/patches/server/0419-Cache-block-data-strings.patch +++ b/patches/server/0419-Cache-block-data-strings.patch @@ -17,10 +17,10 @@ index 44521086adbb9db6574045414c7b23a4dde22387..8d572e02747b86fb975776c2b3689b91 if (this.isSameThread()) { 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 19fab0d8d8a6211782df1fd99b5d60681aecd2f5..b875bebb8b63c6f60301180fc2e3fc9c1bc87193 100644 +index c1c5750dd2e4a9af1a115996a87eaaa1ea552c74..67ff2241aa8869b41abb0a93467b8694618264e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -153,7 +153,7 @@ public class CraftBlockData implements BlockData { +@@ -154,7 +154,7 @@ public class CraftBlockData implements BlockData { return exactMatch; } @@ -29,7 +29,7 @@ index 19fab0d8d8a6211782df1fd99b5d60681aecd2f5..b875bebb8b63c6f60301180fc2e3fc9c /** * Convert an NMS Enum (usually a BlockStateEnum) to its appropriate Bukkit -@@ -538,9 +538,39 @@ public class CraftBlockData implements BlockData { +@@ -539,7 +539,38 @@ public class CraftBlockData implements BlockData { Preconditions.checkState(CraftBlockData.MAP.put(nms, bukkit) == null, "Duplicate mapping %s->%s", nms, bukkit); } @@ -48,12 +48,11 @@ index 19fab0d8d8a6211782df1fd99b5d60681aecd2f5..b875bebb8b63c6f60301180fc2e3fc9c + } + // Paper end - cache block data strings + - public static CraftBlockData newData(Material material, String data) { - Preconditions.checkArgument(material == null || material.isBlock(), "Cannot get data for not block %s", material); - + public static CraftBlockData newData(BlockType blockType, String data) { ++ + // Paper start - cache block data strings -+ if (material != null) { -+ Block block = CraftBlockType.bukkitToMinecraft(material); ++ if (blockType != null) { ++ Block block = CraftBlockType.bukkitToMinecraftNew(blockType); + if (block != null) { + net.minecraft.resources.ResourceLocation key = BuiltInRegistries.BLOCK.getKey(block); + data = data == null ? key.toString() : key + data; @@ -64,8 +63,8 @@ index 19fab0d8d8a6211782df1fd99b5d60681aecd2f5..b875bebb8b63c6f60301180fc2e3fc9c + return (CraftBlockData) cached.clone(); + } + -+ private static CraftBlockData createNewData(Material material, String data) { ++ private static CraftBlockData createNewData(BlockType blockType, String data) { + // Paper end - cache block data strings net.minecraft.world.level.block.state.BlockState blockData; - Block block = CraftBlockType.bukkitToMinecraft(material); + Block block = blockType == null ? null : ((CraftBlockType<?>) blockType).getHandle(); Map<Property<?>, Comparable<?>> parsed = null; |