Add configs for all 3d highlight overlays

This commit is contained in:
Patrick
2022-06-23 19:24:51 +04:00
parent 1a30693d0f
commit c89f1fe181
2 changed files with 91 additions and 13 deletions

View File

@@ -3,19 +3,27 @@ package com.toofifty.easygiantsfoundry;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigSection;
@ConfigGroup(EasyGiantsFoundryConfig.GROUP)
public interface EasyGiantsFoundryConfig extends Config {
String GROUP = "easygiantsfoundry";
@ConfigSection(
name = "Notifications",
description = "Notifications",
position = 0
)
String notificationList = "notificationList";
@ConfigItem(
keyName = "giantsFoundryStageNotification",
name = "Notify stage changes",
description = "Notifies just before completing a stage",
position = 0
position = 0,
section = notificationList
)
default boolean showGiantsFoundryStageNotifications()
{
default boolean showGiantsFoundryStageNotifications() {
return false;
}
@@ -23,11 +31,73 @@ public interface EasyGiantsFoundryConfig extends Config {
keyName = "giantsFoundryHeatNotification",
name = "Notify heat changes",
description = "Notifies just before overheating/cooling when using tools",
position = 1
position = 1,
section = notificationList
)
default boolean showGiantsFoundryHeatNotifications()
{
default boolean showGiantsFoundryHeatNotifications() {
return false;
}
@ConfigSection(
name = "Highlights",
description = "3D npc/object highlights",
position = 1
)
String highlightList = "highlightList";
@ConfigItem(
keyName = "toolsHighlight",
name = "Highlight Tools",
description = "Highlights current tool with symbolic colors",
position = 0,
section = highlightList
)
default boolean highlightTools() {
return true;
}
@ConfigItem(
keyName = "waterLavaHighlight",
name = "Highlight Waterfall/Lava Pool",
description = "Highlight Lava Pool / Waterfall when heat change required",
position = 1,
section = highlightList
)
default boolean highlightWaterAndLava() {
return true;
}
@ConfigItem(
keyName = "mouldHighlight",
name = "Highlight Mould",
description = "Highlight Mould when it should be clicked",
position = 2,
section = highlightList
)
default boolean highlightMould() {
return true;
}
@ConfigItem(
keyName = "crucibleHighlight",
name = "Highlight Crucible",
description = "Highlight Crucible when it should be filled/poured",
position = 3,
section = highlightList
)
default boolean highlightCrucible() {
return true;
}
@ConfigItem(
keyName = "kovacHighlight",
name = "Highlight Kovac for hand in",
description = "Highlight Kovac when sword can be handed in",
position = 4,
section = highlightList
)
default boolean highlightKovac() {
return true;
}
}

View File

@@ -95,27 +95,35 @@ public class FoundryOverlay3D extends Overlay {
return null;
}
drawKovacIfHandIn(graphics);
if (config.highlightKovac())
{
drawKovacIfHandIn(graphics);
}
if (state.getCurrentStage() == null)
{
drawMouldIfNotSet(graphics);
drawCrucibleIfMouldSet(graphics);
if (config.highlightMould())
{
drawMouldIfNotSet(graphics);
}
if (config.highlightCrucible())
{
drawCrucibleIfMouldSet(graphics);
}
return null;
}
Heat heat = state.getCurrentHeat();
Stage stage = state.getCurrentStage();
GameObject stageObject = getStageObject(stage);
if (stageObject == null)
{
return null;
}
Heat heat = state.getCurrentHeat();
Color color = getObjectColor(stage, heat);
Shape objectClickbox = stageObject.getClickbox();
if (objectClickbox != null)
if (objectClickbox != null && config.highlightTools())
{
Point mousePosition = client.getMouseCanvasPosition();
if (objectClickbox.contains(mousePosition.getX(), mousePosition.getY()))
@@ -131,7 +139,7 @@ public class FoundryOverlay3D extends Overlay {
graphics.fill(objectClickbox);
}
if (color.equals(ColorScheme.PROGRESS_ERROR_COLOR))
if (color.equals(ColorScheme.PROGRESS_ERROR_COLOR) && config.highlightWaterAndLava())
{
drawHeatChangers(graphics);
}