diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/block/entity/SkullBlockEntityTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/block/entity/SkullBlockEntityTranslator.java index e4ace6e35..e7fd3a3de 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/block/entity/SkullBlockEntityTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/block/entity/SkullBlockEntityTranslator.java @@ -22,12 +22,11 @@ public class SkullBlockEntityTranslator { public static void checkForSkullVariant(GeyserSession session, BlockState blockState, Vector3i position) { byte skullVariant = BlockTranslator.getSkullVariant(blockState); byte rotation = BlockTranslator.getSkullRotation(blockState); - // If Bed Color is not -1 then it is indeed a bed with a color. - if (skullVariant > 0) { + if (skullVariant > -1) { Position pos = new Position(position.getX(), position.getY(), position.getZ()); com.nukkitx.nbt.tag.CompoundTag finalSkullTag = getSkullTag(skullVariant, pos, rotation); - // Delay needed, otherwise newly placed beds will not get their color - // Delay is not needed for beds already placed on login + // Delay needed, otherwise newly placed skulls will not appear + // Delay is not needed for skulls already placed on login session.getConnector().getGeneralThreadPool().schedule(() -> BlockEntityUtils.updateBlockEntity(session, finalSkullTag, pos), 500, diff --git a/connector/src/main/java/org/geysermc/connector/utils/ChunkUtils.java b/connector/src/main/java/org/geysermc/connector/utils/ChunkUtils.java index 737dfd738..c75664b8f 100644 --- a/connector/src/main/java/org/geysermc/connector/utils/ChunkUtils.java +++ b/connector/src/main/java/org/geysermc/connector/utils/ChunkUtils.java @@ -89,8 +89,7 @@ public class ChunkUtils { chunkData.beds.put(pos, blockState); } else if (BlockTranslator.getSkullVariant(blockState) > 0) { Position pos = new ChunkPosition(column.getX(), column.getZ()).getBlock(x, (chunkY << 4) + y, z); - // Beds need to be updated separately to add the bed color tag - // Previously this was done by matching block state but this resulted in only one bed per color+orientation showing + //Doing the same stuff as beds chunkData.skulls.put(pos, blockState); } else { section.getBlockStorageArray()[0].setFullBlock(ChunkSection.blockPosition(x, y, z), id);