diff options
Diffstat (limited to 'src/main/java/com')
4 files changed, 21 insertions, 9 deletions
diff --git a/src/main/java/com/detrav/gui/DetravScannerGUI.java b/src/main/java/com/detrav/gui/DetravScannerGUI.java index bc275afca5..aebd1c04dd 100644 --- a/src/main/java/com/detrav/gui/DetravScannerGUI.java +++ b/src/main/java/com/detrav/gui/DetravScannerGUI.java @@ -49,8 +49,8 @@ public class DetravScannerGUI extends GuiScreen { if(oresList == null || (prevW != width || prevH != height)) { oresList = new OresList( this, 100, currentHeight, aY, aY+currentHeight, aX+currentWidth, 10, map.packet.ores, - (name -> { - if (map != null) map.loadTexture(null, name); + ((name, invert) -> { + if (map != null) map.loadTexture(null, name, invert); }) ); prevW = width; diff --git a/src/main/java/com/detrav/gui/OresList.java b/src/main/java/com/detrav/gui/OresList.java index 13622a49d7..a8847d3d64 100644 --- a/src/main/java/com/detrav/gui/OresList.java +++ b/src/main/java/com/detrav/gui/OresList.java @@ -8,17 +8,19 @@ import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; +import java.util.function.BiConsumer; import java.util.function.Consumer; class OresList extends GuiScrollingList { private final HashMap<String, Integer> ores; private final List<String> keys; private final GuiScreen parent; - private final Consumer<String> onSelected; + private final BiConsumer<String, Boolean> onSelected; + private boolean invert = false; private int selected = -1; - public OresList(GuiScreen parent, int width, int height, int top, int bottom, int left, int entryHeight, HashMap<String, Integer> aOres, Consumer<String> onSelected) { + public OresList(GuiScreen parent, int width, int height, int top, int bottom, int left, int entryHeight, HashMap<String, Integer> aOres, BiConsumer<String, Boolean> onSelected) { super(parent.mc, width, height, top, bottom, left, entryHeight); this.parent = parent; this.onSelected = onSelected; @@ -37,7 +39,9 @@ class OresList extends GuiScrollingList { @Override protected void elementClicked(int index, boolean doubleClick) { selected = index; - if(onSelected != null) onSelected.accept(keys.get(index)); + if (doubleClick) this.invert = !this.invert; + + if(onSelected != null) onSelected.accept(keys.get(index), this.invert); } @Override diff --git a/src/main/java/com/detrav/gui/textures/DetravMapTexture.java b/src/main/java/com/detrav/gui/textures/DetravMapTexture.java index 56db8717c7..cc866f8d85 100644 --- a/src/main/java/com/detrav/gui/textures/DetravMapTexture.java +++ b/src/main/java/com/detrav/gui/textures/DetravMapTexture.java @@ -20,6 +20,7 @@ public class DetravMapTexture extends AbstractTexture { private String selected = "All"; public int width = -1; public int height = -1; + public boolean invert = false; public DetravMapTexture(ProspectingPacket aPacket) { @@ -27,7 +28,8 @@ public class DetravMapTexture extends AbstractTexture { } private BufferedImage getImage() { - int wh = (packet.size * 2 + 1) * 16; + final int backgroundColor = invert ? Color.GRAY.getRGB() : Color.WHITE.getRGB(); + final int wh = (packet.size * 2 + 1) * 16; BufferedImage image = new BufferedImage(wh, wh, BufferedImage.TYPE_INT_ARGB); WritableRaster raster = image.getRaster(); @@ -36,7 +38,7 @@ public class DetravMapTexture extends AbstractTexture { int playerJ = packet.posZ - (packet.chunkZ - packet.size) * 16 - 1; for (int i = 0; i < wh; i++) { for (int j = 0; j < wh; j++) { - image.setRGB(i, j, Color.WHITE.getRGB()); + image.setRGB(i, j, backgroundColor); if (packet.map[i][j] != null) { if (packet.ptype == 0 || packet.ptype == 1) { for (short meta : packet.map[i][j].values()) { @@ -90,10 +92,15 @@ public class DetravMapTexture extends AbstractTexture { height = packet.getSize(); } } + + public void loadTexture(IResourceManager resourceManager, boolean invert){ + this.invert = invert; + loadTexture(resourceManager); + } - public void loadTexture(IResourceManager resourceManager, String selected){ + public void loadTexture(IResourceManager resourceManager, String selected, boolean invert){ this.selected = selected; - loadTexture(resourceManager); + loadTexture(resourceManager, invert); } public int glBindTexture() { diff --git a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java index 6e3e0bef71..21d45dfcc8 100644 --- a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java +++ b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java @@ -79,6 +79,7 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { aList.add(tOffset + 3, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.usage.0")); aList.add(tOffset + 4, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.usage.1")); aList.add(tOffset + 5, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.usage.2")); + aList.add(tOffset + 6, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.usage.3")); } } |