From 5fee344743a1bbabb09d59c47c746e6ffb0ef529 Mon Sep 17 00:00:00 2001 From: Redned Date: Sat, 2 Nov 2019 15:50:04 -0500 Subject: [PATCH] Fix block palette --- .../geysermc/connector/GeyserConnector.java | 2 -- .../network/session/GeyserSession.java | 3 +-- .../org/geysermc/connector/utils/Toolbox.java | 25 ++++++++---------- ...d_palette.dat => runtime_block_states.dat} | Bin 208936 -> 208925 bytes 4 files changed, 12 insertions(+), 18 deletions(-) rename connector/src/main/resources/bedrock/{cached_palette.dat => runtime_block_states.dat} (53%) diff --git a/connector/src/main/java/org/geysermc/connector/GeyserConnector.java b/connector/src/main/java/org/geysermc/connector/GeyserConnector.java index fabed677..b294ed34 100644 --- a/connector/src/main/java/org/geysermc/connector/GeyserConnector.java +++ b/connector/src/main/java/org/geysermc/connector/GeyserConnector.java @@ -50,7 +50,6 @@ import org.geysermc.connector.plugin.GeyserPluginLoader; import org.geysermc.connector.plugin.GeyserPluginManager; import org.geysermc.connector.thread.PingPassthroughThread; import org.geysermc.connector.utils.FileUtils; -import org.geysermc.connector.utils.Toolbox; import java.io.File; import java.io.IOException; @@ -117,7 +116,6 @@ public class GeyserConnector implements Connector { try { File configFile = FileUtils.fileOrCopiedFromResource("config.yml", (x) -> x.replaceAll("generateduuid", UUID.randomUUID().toString())); - config = FileUtils.loadConfig(configFile, GeyserConfiguration.class); } catch (IOException ex) { logger.severe("Failed to read/create config.yml! Make sure it's up to date and/or readable+writable!", ex); diff --git a/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java b/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java index c7994858..649f6e85 100644 --- a/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java +++ b/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java @@ -29,7 +29,6 @@ import com.github.steveice10.mc.auth.data.GameProfile; import com.github.steveice10.mc.auth.exception.request.RequestException; import com.github.steveice10.mc.protocol.MinecraftProtocol; import com.github.steveice10.mc.protocol.data.game.entity.player.GameMode; -import com.github.steveice10.mc.protocol.data.game.world.block.BlockFace; import com.github.steveice10.packetlib.Client; import com.github.steveice10.packetlib.event.session.ConnectedEvent; import com.github.steveice10.packetlib.event.session.DisconnectedEvent; @@ -296,7 +295,7 @@ public class GeyserSession implements Player { startGamePacket.setCurrentTick(0); startGamePacket.setEnchantmentSeed(0); startGamePacket.setMultiplayerCorrelationId(""); - startGamePacket.setBlockPalette(Toolbox.CACHED_PALLETE); + startGamePacket.setBlockPalette(Toolbox.BLOCKS); startGamePacket.setItemEntries(Toolbox.ITEMS); startGamePacket.setMovementServerAuthoritative(true); upstream.sendPacket(startGamePacket); diff --git a/connector/src/main/java/org/geysermc/connector/utils/Toolbox.java b/connector/src/main/java/org/geysermc/connector/utils/Toolbox.java index f5e9a20d..2d84249b 100644 --- a/connector/src/main/java/org/geysermc/connector/utils/Toolbox.java +++ b/connector/src/main/java/org/geysermc/connector/utils/Toolbox.java @@ -21,34 +21,31 @@ import java.util.*; public class Toolbox { public static final Collection ITEMS; - public static ListTag CACHED_PALLETE; + public static ListTag BLOCKS; public static final TIntObjectMap ITEM_ENTRIES; public static final TIntObjectMap BLOCK_ENTRIES; static { - InputStream stream = GeyserConnector.class.getClassLoader().getResourceAsStream("bedrock/cached_palette.dat"); + InputStream stream = GeyserConnector.class.getClassLoader().getResourceAsStream("bedrock/runtime_block_states.dat"); if (stream == null) { - throw new AssertionError("Unable to find cached_palette.dat"); + throw new AssertionError("Unable to find bedrock/runtime_block_states.dat"); } Map blockIdToIdentifier = new HashMap<>(); - CompoundTag tag; + ListTag blocksTag; - NBTInputStream nbtInputStream = NbtUtils.createNetworkReader(stream); + NBTInputStream nbtInputStream = NbtUtils.createReader(stream); try { - tag = (CompoundTag) nbtInputStream.readTag(); - System.out.println(tag.getValue().values()); - System.out.println(tag.getAsList("Palette", CompoundTag.class)); + blocksTag = (ListTag) nbtInputStream.readTag(); nbtInputStream.close(); } catch (Exception ex) { - GeyserLogger.DEFAULT.warning("Failed to get blocks from cached palette, please report this error!"); + GeyserLogger.DEFAULT.warning("Failed to get blocks from runtime block states, please report this error!"); throw new AssertionError(ex); } - List entries = tag.getAsList("Palette", CompoundTag.class); - for (CompoundTag entry : entries) { - String name = entry.getAsString("name"); + for (CompoundTag entry : blocksTag.getValue()) { + String name = entry.getAsCompound("block").getAsString("name"); int id = entry.getAsShort("id"); int data = entry.getAsShort("meta"); @@ -56,7 +53,7 @@ public class Toolbox { GlobalBlockPalette.registerMapping(id << 4 | data); } - CACHED_PALLETE = new ListTag<>("Palette", CompoundTag.class, tag.getAsList("Palette", CompoundTag.class)); + BLOCKS = blocksTag; InputStream stream2 = Toolbox.class.getClassLoader().getResourceAsStream("bedrock/items.json"); if (stream2 == null) { throw new AssertionError("Items Table not found"); @@ -112,7 +109,7 @@ public class Toolbox { for (Map.Entry> itemEntry : blocks.entrySet()) { if (!blockIdToIdentifier.containsKey(itemEntry.getValue().get("bedrock_identifier"))) { - GeyserLogger.DEFAULT.debug("Mapping " + itemEntry.getValue().get("bedrock_identifier") + " does not exist on bedrock edition!"); + GeyserLogger.DEFAULT.debug("Mapping " + itemEntry.getValue().get("bedrock_identifier") + " was not found for bedrock edition!"); blockEntries.put(blockIndex, new BlockEntry(itemEntry.getKey(), blockIndex, 248, 0)); // update block } else { blockEntries.put(blockIndex, new BlockEntry(itemEntry.getKey(), blockIndex, blockIdToIdentifier.get(itemEntry.getValue().get("bedrock_identifier")), (int) itemEntry.getValue().get("bedrock_data"))); diff --git a/connector/src/main/resources/bedrock/cached_palette.dat b/connector/src/main/resources/bedrock/runtime_block_states.dat similarity index 53% rename from connector/src/main/resources/bedrock/cached_palette.dat rename to connector/src/main/resources/bedrock/runtime_block_states.dat index 32c993949174a90f34b2e4003f614796a4588f84..8e49d318789f685b78250bc2db36e5ae675aadb6 100644 GIT binary patch literal 208925 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 literal 208936 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