From 8c541304a6dfc3eadb8d77ca38bd2e7cf081daa1 Mon Sep 17 00:00:00 2001 From: RednedEpic Date: Fri, 11 Oct 2019 18:38:34 -0500 Subject: [PATCH] Convert item and block maps in Toolbox to TIntObjectMaps --- api/src/main/java/org/geysermc/api/Geyser.java | 4 ---- .../network/translators/item/ItemTranslator.java | 2 +- .../java/org/geysermc/connector/utils/Toolbox.java | 14 ++++++++------ 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/api/src/main/java/org/geysermc/api/Geyser.java b/api/src/main/java/org/geysermc/api/Geyser.java index 4bb13a41..37099339 100644 --- a/api/src/main/java/org/geysermc/api/Geyser.java +++ b/api/src/main/java/org/geysermc/api/Geyser.java @@ -30,10 +30,6 @@ import org.geysermc.api.logger.Logger; import org.geysermc.api.plugin.PluginManager; import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.UUID; import java.util.concurrent.ScheduledExecutorService; public class Geyser { 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 9bf5d3c4..437a8dc4 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 @@ -85,7 +85,7 @@ public class ItemTranslator { } public ItemEntry getItem(ItemData data) { - for (ItemEntry itemEntry : Toolbox.ITEM_ENTRIES.values()) { + for (ItemEntry itemEntry : Toolbox.ITEM_ENTRIES.valueCollection()) { if (itemEntry.getBedrockId() == data.getId() && itemEntry.getBedrockData() == data.getDamage()) { return itemEntry; } 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 be32ada7..4aee4d70 100644 --- a/connector/src/main/java/org/geysermc/connector/utils/Toolbox.java +++ b/connector/src/main/java/org/geysermc/connector/utils/Toolbox.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.nukkitx.network.VarInts; import com.nukkitx.protocol.bedrock.packet.StartGamePacket; import com.nukkitx.protocol.bedrock.v361.BedrockUtils; +import gnu.trove.map.TIntObjectMap; +import gnu.trove.map.hash.TIntObjectHashMap; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import org.geysermc.connector.console.GeyserLogger; @@ -19,8 +21,8 @@ public class Toolbox { public static final Collection ITEMS; public static final ByteBuf CACHED_PALLETE; - public static final Map ITEM_ENTRIES; - public static final Map BLOCK_ENTRIES; + public static final TIntObjectMap ITEM_ENTRIES; + public static final TIntObjectMap BLOCK_ENTRIES; static { InputStream stream = Toolbox.class.getClassLoader().getResourceAsStream("bedrock/cached_palette.json"); @@ -79,7 +81,7 @@ public class Toolbox { ex.printStackTrace(); } - Map itemEntries = new HashMap<>(); + TIntObjectMap itemEntries = new TIntObjectHashMap<>(); int itemIndex = 0; for (Map.Entry> itemEntry : items.entrySet()) { @@ -87,7 +89,7 @@ public class Toolbox { itemIndex++; } - ITEM_ENTRIES = Collections.unmodifiableMap(itemEntries); + ITEM_ENTRIES = itemEntries; InputStream blockStream = Toolbox.class.getClassLoader().getResourceAsStream("blocks.json"); ObjectMapper blockMapper = new ObjectMapper(); @@ -99,7 +101,7 @@ public class Toolbox { ex.printStackTrace(); } - Map blockEntries = new HashMap<>(); + TIntObjectMap blockEntries = new TIntObjectHashMap<>(); int blockIndex = 0; for (Map.Entry> itemEntry : blocks.entrySet()) { @@ -113,6 +115,6 @@ public class Toolbox { blockIndex++; } - BLOCK_ENTRIES = Collections.unmodifiableMap(blockEntries); + BLOCK_ENTRIES = blockEntries; } } \ No newline at end of file