From 2f2254ebc2d4e896d07c1e133c052d21d527379c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A8=D0=B0=D0=BD=D0=B4=D1=83=D1=80=D0=B5=D0=BD=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=9A=D0=BE=D0=BD=D1=81=D1=82=D0=B0=D0=BD=D1=82=D0=B8?= =?UTF-8?q?=D0=BD=20=D0=92=D0=BB=D0=B0=D0=B4=D0=B8=D0=BC=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B8=D1=87?= Date: Fri, 10 Sep 2021 16:42:59 +0300 Subject: [PATCH] Setting up BlockHandler for blocks loaded by AnvilLoader --- src/main/java/net/minestom/server/instance/AnvilLoader.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minestom/server/instance/AnvilLoader.java b/src/main/java/net/minestom/server/instance/AnvilLoader.java index 2282cf57e..1ff8ee3a4 100644 --- a/src/main/java/net/minestom/server/instance/AnvilLoader.java +++ b/src/main/java/net/minestom/server/instance/AnvilLoader.java @@ -139,8 +139,12 @@ public class AnvilLoader implements IChunkLoader { for (int y = 0; y < Chunk.CHUNK_SECTION_SIZE; y++) { try { final BlockState blockState = section.get(x, y, z); - final Block block = Objects.requireNonNull(Block.fromNamespaceId(blockState.getName())) + Block block = Objects.requireNonNull(Block.fromNamespaceId(blockState.getName())) .withProperties(blockState.getProperties()); + BlockHandler handler = MinecraftServer.getBlockManager().getHandler(block.name()); + if (handler != null) { + block = block.withHandler(handler); + } chunk.setBlock(x, y + yOffset, z, block); } catch (Exception e) { EXCEPTION_MANAGER.handleException(e);