diff options
author | Jason Mitchell <mitchej@gmail.com> | 2021-01-24 11:55:26 -0800 |
---|---|---|
committer | Jason Mitchell <mitchej@gmail.com> | 2021-01-24 11:55:26 -0800 |
commit | 7308c3ef90505fe6ad9d39b458867eab0ca62a03 (patch) | |
tree | d6a289fb4a55ef27de7cb32cc3f91d6b272228c1 /src/main | |
parent | eb7e8585e4496cf14893c618f53418905a32fb70 (diff) | |
download | GT5-Unofficial-7308c3ef90505fe6ad9d39b458867eab0ca62a03.tar.gz GT5-Unofficial-7308c3ef90505fe6ad9d39b458867eab0ca62a03.tar.bz2 GT5-Unofficial-7308c3ef90505fe6ad9d39b458867eab0ca62a03.zip |
Double click text selection to invert background
Diffstat (limited to 'src/main')
5 files changed, 23 insertions, 10 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")); } } diff --git a/src/main/resources/assets/detravscannermod/lang/en_US.lang b/src/main/resources/assets/detravscannermod/lang/en_US.lang index 66a1490280..1ace46a6b3 100644 --- a/src/main/resources/assets/detravscannermod/lang/en_US.lang +++ b/src/main/resources/assets/detravscannermod/lang/en_US.lang @@ -29,8 +29,9 @@ detrav.scanner.prospecting=Prospecting at tooltip.detrav.scanner.durability=Durability: tooltip.detrav.scanner.range=Chunks: tooltip.detrav.scanner.usage.0=Right click on rock for prospecting current chunk! -tooltip.detrav.scanner.usage.1=Right click on bedrock for prospecting oil! +tooltip.detrav.scanner.usage.1=Right click on bedrock for prospecting fluids! tooltip.detrav.scanner.usage.2=Right click for scanning! +tooltip.detrav.scanner.usage.3=Double click any entry to invert the background color! tooltip.detrav.scanner.success.chance=Chance of a successful scan: tooltip.detrav.scanner.distance.0=next to you (0 chunks away), close to you (1-2) tooltip.detrav.scanner.distance.1=at medium range (3-5), at long range (6-8), far away (9+) |