diff --git a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java index 6846fb0..f053746 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/EasyGiantsFoundryConfig.java @@ -1,9 +1,11 @@ package com.toofifty.easygiantsfoundry; +import java.awt.Color; import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; import net.runelite.client.config.ConfigSection; +import net.runelite.client.ui.ColorScheme; @ConfigGroup(EasyGiantsFoundryConfig.GROUP) public interface EasyGiantsFoundryConfig extends Config { @@ -162,7 +164,7 @@ public interface EasyGiantsFoundryConfig extends Config { @ConfigSection( name = "Info Panel", description = "Settings for the Info Panel overlay", - position = 1 + position = 2 ) String infoPanelList = "infoPanelList"; @@ -232,4 +234,97 @@ public interface EasyGiantsFoundryConfig extends Config { { return false; } + + + @ConfigSection( + name = "Colour", + description = "Colours", + position = 3 + ) + String colourList = "colourList"; + + @ConfigItem( + keyName = "mouldText", + name = "Mould Text", + description = "Colour for optimal mould text", + position = 0, + section = colourList + ) + default Color mouldTextColour() + { + return new Color(0xdc10d); + } + + + @ConfigItem( + keyName = "generalColour", + name = "General", + description = "Colour for highlighting objects/npcs in general", + position = 1, + section = colourList + ) + default Color generalHighlight() + { + return Color.CYAN; + } + + @ConfigItem( + keyName = "lavaWaterColour", + name = "Lava/Waterfall", + description = "Colour for highlighting lava/waterfall", + position = 2, + section = colourList + ) + default Color lavaWaterfallColour() + { + return ColorScheme.PROGRESS_COMPLETE_COLOR; + } + + @ConfigItem( + keyName = "toolGood", + name = "Tool Good", + description = "Colour for highlighting current tool when they are usable", + position = 3, + section = colourList + ) + default Color toolGood() + { + return ColorScheme.PROGRESS_COMPLETE_COLOR; + } + + @ConfigItem( + keyName = "toolBad", + name = "Tool Bad", + description = "Colour for highlighting current tool when they are not usable", + position = 4, + section = colourList + ) + default Color toolBad() + { + return ColorScheme.PROGRESS_ERROR_COLOR; + } + + @ConfigItem( + keyName = "toolCaution", + name = "Tool Caution", + description = "Colour for highlighting current tool when they are about to be not usable", + position = 5, + section = colourList + ) + default Color toolCaution() + { + return ColorScheme.PROGRESS_INPROGRESS_COLOR; + } + + @ConfigItem( + keyName = "toolBonus", + name = "Tool Bonus", + description = "Colour for highlighting current tool when they have a bonus to click on", + position = 6, + section = colourList + ) + default Color toolBonus() + { + return Color.CYAN; + } } diff --git a/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay3D.java b/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay3D.java index 0fd247c..7ee4dab 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay3D.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/FoundryOverlay3D.java @@ -2,18 +2,19 @@ package com.toofifty.easygiantsfoundry; import com.toofifty.easygiantsfoundry.enums.Heat; import com.toofifty.easygiantsfoundry.enums.Stage; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics2D; +import java.awt.Shape; +import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.GameObject; import net.runelite.api.NPC; import net.runelite.api.Point; import net.runelite.api.widgets.Widget; -import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayPosition; -import javax.inject.Inject; -import java.awt.*; - public class FoundryOverlay3D extends Overlay { private static final int HAND_IN_WIDGET = 49414221; @@ -47,22 +48,22 @@ public class FoundryOverlay3D extends Overlay { { if (stage.getHeat() != heat) { - return ColorScheme.PROGRESS_ERROR_COLOR; + return config.toolBad(); } if (BonusWidget.isActive(client)) { - return Color.CYAN; + return config.toolBonus(); } int actionsLeft = helper.getActionsLeftInStage(); int heatLeft = helper.getActionsForHeatLevel(); if (actionsLeft <= 1 || heatLeft <= 1) { - return ColorScheme.PROGRESS_INPROGRESS_COLOR; + return config.toolCaution(); } - return ColorScheme.PROGRESS_COMPLETE_COLOR; + return config.toolGood(); } private GameObject getStageObject(Stage stage) @@ -153,7 +154,7 @@ public class FoundryOverlay3D extends Overlay { if (shape != null) { Point mousePosition = client.getMouseCanvasPosition(); - Color color = ColorScheme.PROGRESS_COMPLETE_COLOR; + Color color = config.lavaWaterfallColour(); if (shape.contains(mousePosition.getX(), mousePosition.getY())) { graphics.setColor(color.darker()); @@ -181,7 +182,7 @@ public class FoundryOverlay3D extends Overlay { Shape shape = crucible.getConvexHull(); if (shape != null) { - Color color = Color.CYAN; + Color color = config.generalHighlight(); graphics.setColor(color); graphics.draw(shape); graphics.setColor(new Color(color.getRed(), color.getGreen(), color.getBlue(), 20)); @@ -201,7 +202,7 @@ public class FoundryOverlay3D extends Overlay { Shape shape = mouldJig.getConvexHull(); if (shape != null) { - Color color = Color.CYAN; + Color color = config.generalHighlight(); graphics.setColor(color); graphics.draw(shape); graphics.setColor(new Color(color.getRed(), color.getGreen(), color.getBlue(), 20)); @@ -217,7 +218,7 @@ public class FoundryOverlay3D extends Overlay { Shape shape = kovac.getConvexHull(); if (shape != null) { - Color color = Color.CYAN; + Color color = config.generalHighlight(); graphics.setColor(color); graphics.draw(shape); graphics.setColor(new Color(color.getRed(), color.getGreen(), color.getBlue(), 20)); diff --git a/src/main/java/com/toofifty/easygiantsfoundry/MouldHelper.java b/src/main/java/com/toofifty/easygiantsfoundry/MouldHelper.java index 9b68f50..0c0a561 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/MouldHelper.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/MouldHelper.java @@ -2,15 +2,14 @@ package com.toofifty.easygiantsfoundry; import com.toofifty.easygiantsfoundry.enums.CommissionType; import com.toofifty.easygiantsfoundry.enums.Mould; +import java.util.LinkedHashMap; +import java.util.Map; +import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.ScriptID; import net.runelite.api.widgets.Widget; import net.runelite.client.callback.ClientThread; -import javax.inject.Inject; -import java.util.LinkedHashMap; -import java.util.Map; - public class MouldHelper { static final int MOULD_LIST_PARENT = 47054857; @@ -29,6 +28,9 @@ public class MouldHelper @Inject private ClientThread clientThread; + @Inject + private EasyGiantsFoundryConfig config; + public void selectBest(int scriptId) { Widget parent = client.getWidget(MOULD_LIST_PARENT); @@ -52,7 +54,7 @@ public class MouldHelper } } if (bestWidget != null) { - bestWidget.setTextColor(GREEN); + bestWidget.setTextColor(config.mouldTextColour().getRGB()); } if (scriptId == DRAW_MOULD_LIST_SCRIPT || scriptId == REDRAW_MOULD_LIST_SCRIPT)