diff --git a/connector/src/main/java/org/geysermc/connector/network/session/cache/ChunkCache.java b/connector/src/main/java/org/geysermc/connector/network/session/cache/ChunkCache.java index e8396e06e..a4c466973 100644 --- a/connector/src/main/java/org/geysermc/connector/network/session/cache/ChunkCache.java +++ b/connector/src/main/java/org/geysermc/connector/network/session/cache/ChunkCache.java @@ -79,7 +79,7 @@ public class ChunkCache { Position blockPosition = chunkPosition.getChunkBlock(position.getX(), position.getY(), position.getZ()); if (chunk != null) { BlockState blockState = chunk.getBlocks().get(blockPosition.getX(), blockPosition.getY(), blockPosition.getZ()); - return TranslatorsInit.getItemTranslator().getBedrockBlock(blockState); + return TranslatorsInit.getBlockTranslator().getBedrockBlock(blockState); } return BedrockItem.AIR; diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java b/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java index 9f791d272..e7150acc3 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java @@ -73,6 +73,7 @@ import org.geysermc.connector.network.translators.bedrock.BedrockCommandRequestT import org.geysermc.connector.network.translators.bedrock.BedrockMobEquipmentTranslator; import org.geysermc.connector.network.translators.bedrock.BedrockMovePlayerTranslator; import org.geysermc.connector.network.translators.bedrock.BedrockTextTranslator; +import org.geysermc.connector.network.translators.block.BlockTranslator; import org.geysermc.connector.network.translators.inventory.GenericInventoryTranslator; import org.geysermc.connector.network.translators.inventory.InventoryTranslator; import org.geysermc.connector.network.translators.item.ItemTranslator; @@ -117,6 +118,9 @@ public class TranslatorsInit { @Getter private static ItemTranslator itemTranslator; + @Getter + private static BlockTranslator blockTranslator; + @Getter private static Map inventoryTranslators = new HashMap(); @@ -186,6 +190,7 @@ public class TranslatorsInit { Registry.registerBedrock(MovePlayerPacket.class, new BedrockMovePlayerTranslator()); itemTranslator = new ItemTranslator(); + blockTranslator = new BlockTranslator(); registerInventoryTranslators(); } diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/block/BlockTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/block/BlockTranslator.java new file mode 100644 index 000000000..fe4accf56 --- /dev/null +++ b/connector/src/main/java/org/geysermc/connector/network/translators/block/BlockTranslator.java @@ -0,0 +1,20 @@ +package org.geysermc.connector.network.translators.block; + +import com.github.steveice10.mc.protocol.data.game.entity.metadata.ItemStack; +import com.github.steveice10.mc.protocol.data.game.world.block.BlockState; +import org.geysermc.connector.network.translators.item.BedrockItem; +import org.geysermc.connector.utils.Remapper; + +// Class for future expansion +public class BlockTranslator { + + public BedrockItem getBedrockBlock(BlockState state) { + BedrockItem bedrockItem = Remapper.BLOCK_REMAPPER.convertToBedrockB(new ItemStack(state.getId())); + if (bedrockItem == null) { + // GeyserLogger.DEFAULT.debug("Missing mapping for java block " + state.getId()); + return BedrockItem.AIR; + } + + return bedrockItem; + } +} diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/item/block/ColoredBlock.java b/connector/src/main/java/org/geysermc/connector/network/translators/block/type/ColoredBlock.java similarity index 95% rename from connector/src/main/java/org/geysermc/connector/network/translators/item/block/ColoredBlock.java rename to connector/src/main/java/org/geysermc/connector/network/translators/block/type/ColoredBlock.java index c1686eae3..ec869fa0e 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/item/block/ColoredBlock.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/block/type/ColoredBlock.java @@ -23,7 +23,7 @@ * @link https://github.com/GeyserMC/Geyser */ -package org.geysermc.connector.network.translators.item.block; +package org.geysermc.connector.network.translators.block.type; public enum ColoredBlock { diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/item/type/DyeColor.java b/connector/src/main/java/org/geysermc/connector/network/translators/block/type/DyeColor.java similarity index 96% rename from connector/src/main/java/org/geysermc/connector/network/translators/item/type/DyeColor.java rename to connector/src/main/java/org/geysermc/connector/network/translators/block/type/DyeColor.java index 1d794d718..4ba713d5e 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/item/type/DyeColor.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/block/type/DyeColor.java @@ -23,7 +23,7 @@ * @link https://github.com/GeyserMC/Geyser */ -package org.geysermc.connector.network.translators.item.type; +package org.geysermc.connector.network.translators.block.type; import lombok.Getter; diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/item/type/StoneType.java b/connector/src/main/java/org/geysermc/connector/network/translators/block/type/StoneType.java similarity index 95% rename from connector/src/main/java/org/geysermc/connector/network/translators/item/type/StoneType.java rename to connector/src/main/java/org/geysermc/connector/network/translators/block/type/StoneType.java index 7888bd607..db66eac82 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/item/type/StoneType.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/block/type/StoneType.java @@ -23,7 +23,7 @@ * @link https://github.com/GeyserMC/Geyser */ -package org.geysermc.connector.network.translators.item.type; +package org.geysermc.connector.network.translators.block.type; import lombok.Getter; diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/item/block/WoodBlock.java b/connector/src/main/java/org/geysermc/connector/network/translators/block/type/WoodBlock.java similarity index 95% rename from connector/src/main/java/org/geysermc/connector/network/translators/item/block/WoodBlock.java rename to connector/src/main/java/org/geysermc/connector/network/translators/block/type/WoodBlock.java index 0684cf3fa..f4b9d0f73 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/item/block/WoodBlock.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/block/type/WoodBlock.java @@ -23,7 +23,7 @@ * @link https://github.com/GeyserMC/Geyser */ -package org.geysermc.connector.network.translators.item.block; +package org.geysermc.connector.network.translators.block.type; public enum WoodBlock { diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/item/type/WoodType.java b/connector/src/main/java/org/geysermc/connector/network/translators/block/type/WoodType.java similarity index 95% rename from connector/src/main/java/org/geysermc/connector/network/translators/item/type/WoodType.java rename to connector/src/main/java/org/geysermc/connector/network/translators/block/type/WoodType.java index d490f3f5f..a2cdce730 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/item/type/WoodType.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/block/type/WoodType.java @@ -23,7 +23,7 @@ * @link https://github.com/GeyserMC/Geyser */ -package org.geysermc.connector.network.translators.item.type; +package org.geysermc.connector.network.translators.block.type; import lombok.Getter; diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/item/CommonItem.java b/connector/src/main/java/org/geysermc/connector/network/translators/item/CommonItem.java deleted file mode 100644 index fdcbaceef..000000000 --- a/connector/src/main/java/org/geysermc/connector/network/translators/item/CommonItem.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.geysermc.connector.network.translators.item; - -import lombok.Getter; - -@Getter -public class CommonItem { - - private JavaItem java; - private BedrockItem bedrock; -} diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/item/ItemTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/item/ItemTranslator.java index 01d2fcf28..ec047c834 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/item/ItemTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/item/ItemTranslator.java @@ -26,7 +26,6 @@ package org.geysermc.connector.network.translators.item; import com.github.steveice10.mc.protocol.data.game.entity.metadata.ItemStack; -import com.github.steveice10.mc.protocol.data.game.world.block.BlockState; import com.github.steveice10.mc.protocol.data.message.Message; import com.github.steveice10.opennbt.tag.builtin.ByteArrayTag; import com.github.steveice10.opennbt.tag.builtin.ByteTag; @@ -85,7 +84,6 @@ public class ItemTranslator { return bedrockItem; } - public JavaItem getJavaItem(ItemData data) { JavaItem javaItem = Remapper.ITEM_REMAPPER.convertToJava(data); if (javaItem == null) { @@ -96,16 +94,6 @@ public class ItemTranslator { return javaItem; } - public BedrockItem getBedrockBlock(BlockState state) { - BedrockItem bedrockItem = Remapper.BLOCK_REMAPPER.convertToBedrockB(new ItemStack(state.getId())); - if (bedrockItem == null) { - // GeyserLogger.DEFAULT.debug("Missing mapping for java block " + state.getId()); - return BedrockItem.AIR; - } - - return bedrockItem; - } - private CompoundTag translateToJavaNBT(com.nukkitx.nbt.tag.CompoundTag tag) { CompoundTag javaTag = new CompoundTag(tag.getName()); Map javaValue = javaTag.getValue(); diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaBlockChangeTranslator.java b/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaBlockChangeTranslator.java index 417ac9ee3..63d1b927d 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaBlockChangeTranslator.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/java/world/JavaBlockChangeTranslator.java @@ -21,7 +21,7 @@ public class JavaBlockChangeTranslator extends PacketTranslator