From 9f77d47f14e6423f17fd71ec3800ccbcd83dd82c Mon Sep 17 00:00:00 2001 From: Redned Date: Sat, 4 Sep 2021 12:45:32 -0500 Subject: [PATCH] Set int array directly for BlockMappings and change naming --- .../registry/populator/BlockRegistryPopulator.java | 8 +++----- .../geysermc/connector/registry/type/BlockMappings.java | 6 +++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/connector/src/main/java/org/geysermc/connector/registry/populator/BlockRegistryPopulator.java b/connector/src/main/java/org/geysermc/connector/registry/populator/BlockRegistryPopulator.java index 724f87165..6de39efab 100644 --- a/connector/src/main/java/org/geysermc/connector/registry/populator/BlockRegistryPopulator.java +++ b/connector/src/main/java/org/geysermc/connector/registry/populator/BlockRegistryPopulator.java @@ -30,8 +30,6 @@ import com.google.common.collect.ImmutableMap; import com.nukkitx.nbt.*; import com.nukkitx.protocol.bedrock.v440.Bedrock_v440; import com.nukkitx.protocol.bedrock.v448.Bedrock_v448; -import it.unimi.dsi.fastutil.ints.IntArrayList; -import it.unimi.dsi.fastutil.ints.IntList; import it.unimi.dsi.fastutil.ints.IntOpenHashSet; import it.unimi.dsi.fastutil.ints.IntSet; import it.unimi.dsi.fastutil.objects.Object2IntMap; @@ -139,7 +137,7 @@ public class BlockRegistryPopulator { BiFunction stateMapper = STATE_MAPPER.getOrDefault(palette.getKey(), (i, s) -> null); - IntList javaToBedrockBlockMap = new IntArrayList(); + int[] javaToBedrockBlocks = new int[BLOCKS_JSON.size()]; Map flowerPotBlocks = new Object2ObjectOpenHashMap<>(); Object2IntMap itemFrames = new Object2IntOpenHashMap<>(); @@ -193,7 +191,7 @@ public class BlockRegistryPopulator { javaIdentifierToBedrockTag.put(cleanJavaIdentifier.intern(), blocksTag.get(bedrockRuntimeId)); } - javaToBedrockBlockMap.add(bedrockRuntimeId); + javaToBedrockBlocks[javaRuntimeId] = bedrockRuntimeId; } if (commandBlockRuntimeId == -1) { @@ -222,7 +220,7 @@ public class BlockRegistryPopulator { BlockRegistries.BLOCKS.register(PALETTE_VERSIONS.getInt(palette.getKey()), builder.blockStateVersion(stateVersion) .emptyChunkSection(new ChunkSection(new BlockStorage[]{new BlockStorage(airRuntimeId)})) - .javaToBedrockBlockMap(javaToBedrockBlockMap.toIntArray()) + .javaToBedrockBlocks(javaToBedrockBlocks) .javaIdentifierToBedrockTag(javaIdentifierToBedrockTag) .itemFrames(itemFrames) .flowerPotBlocks(flowerPotBlocks) diff --git a/connector/src/main/java/org/geysermc/connector/registry/type/BlockMappings.java b/connector/src/main/java/org/geysermc/connector/registry/type/BlockMappings.java index 6fb28d7ab..7cdc91341 100644 --- a/connector/src/main/java/org/geysermc/connector/registry/type/BlockMappings.java +++ b/connector/src/main/java/org/geysermc/connector/registry/type/BlockMappings.java @@ -45,7 +45,7 @@ public class BlockMappings { ChunkSection emptyChunkSection; - int[] javaToBedrockBlockMap; + int[] javaToBedrockBlocks; NbtList bedrockBlockStates; @@ -63,10 +63,10 @@ public class BlockMappings { IntSet jigsawStateIds; public int getBedrockBlockId(int state) { - if (state >= this.javaToBedrockBlockMap.length) { + if (state >= this.javaToBedrockBlocks.length) { return bedrockAirId; } - return this.javaToBedrockBlockMap[state]; + return this.javaToBedrockBlocks[state]; } public int getItemFrame(NbtMap tag) {