diff --git a/src/main/java/gregtech/common/gui/widget/prospector/ProspectingTexture.java b/src/main/java/gregtech/common/gui/widget/prospector/ProspectingTexture.java index d0313daf95b..5e8b602db1a 100644 --- a/src/main/java/gregtech/common/gui/widget/prospector/ProspectingTexture.java +++ b/src/main/java/gregtech/common/gui/widget/prospector/ProspectingTexture.java @@ -14,12 +14,13 @@ import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; +import it.unimi.dsi.fastutil.bytes.Byte2ObjectOpenHashMap; import org.jetbrains.annotations.Nullable; import java.awt.*; import java.awt.image.BufferedImage; import java.awt.image.WritableRaster; -import java.util.HashMap; +import java.util.Map; public class ProspectingTexture extends AbstractTexture { @@ -29,8 +30,8 @@ public class ProspectingTexture extends AbstractTexture { private boolean darkMode; private int imageWidth = -1; private int imageHeight = -1; - public final HashMap[][] map; - public static HashMap emptyTag = new HashMap<>(); + public final Map[][] map; + public static Map emptyTag = new Byte2ObjectOpenHashMap<>(); private int playerXGui; private int playerYGui; private final ProspectorMode mode; @@ -42,10 +43,10 @@ public ProspectingTexture(ProspectorMode mode, int radius, boolean darkMode) { this.mode = mode; if (this.mode == ProspectorMode.FLUID) { // noinspection unchecked - map = new HashMap[(radius * 2 - 1)][(radius * 2 - 1)]; + map = new Byte2ObjectOpenHashMap[(radius * 2 - 1)][(radius * 2 - 1)]; } else { // noinspection unchecked - map = new HashMap[(radius * 2 - 1) * 16][(radius * 2 - 1) * 16]; + map = new Byte2ObjectOpenHashMap[(radius * 2 - 1) * 16][(radius * 2 - 1) * 16]; } } @@ -102,7 +103,7 @@ private BufferedImage getImage() { for (int i = 0; i < wh; i++) { for (int j = 0; j < wh; j++) { - HashMap data = this.map[this.mode == ProspectorMode.ORE ? i : i / 16][this.mode == + Map data = this.map[this.mode == ProspectorMode.ORE ? i : i / 16][this.mode == ProspectorMode.ORE ? j : j / 16]; // draw bg image.setRGB(i, j, ((data == null) ^ darkMode) ? Color.darkGray.getRGB() : Color.WHITE.getRGB()); diff --git a/src/main/java/gregtech/common/gui/widget/prospector/widget/WidgetProspectingMap.java b/src/main/java/gregtech/common/gui/widget/prospector/widget/WidgetProspectingMap.java index 74acc2292ff..6e9957debfc 100644 --- a/src/main/java/gregtech/common/gui/widget/prospector/widget/WidgetProspectingMap.java +++ b/src/main/java/gregtech/common/gui/widget/prospector/widget/WidgetProspectingMap.java @@ -271,7 +271,7 @@ public void drawInForeground(int mouseX, int mouseY) { if (ProspectingTexture.SELECTED_ALL.equals(texture.getSelected()) || texture.getSelected().equals(dict)) { oreInfo.put(name, oreInfo.getOrDefault(name, 0) + 1); - oreHeight.put(name, oreHeight.getOrDefault(name, 0) + height.intValue()); + oreHeight.put(name, oreHeight.getOrDefault(name, 0) + Byte.toUnsignedInt(height)); if (oreInfo.get(name) > maxAmount[0]) { maxAmount[0] = oreInfo.get(name); MaterialStack m = OreDictUnifier.getMaterial(OreDictUnifier.get(dict));