diff --git a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextInput.java b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextInput.java index e59e47059d..79ca18a124 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextInput.java +++ b/runelite-client/src/main/java/net/runelite/client/game/chatbox/ChatboxTextInput.java @@ -25,7 +25,6 @@ package net.runelite.client.game.chatbox; import com.google.common.base.Strings; -import com.google.common.primitives.Ints; import com.google.inject.Inject; import java.awt.Point; import java.awt.Rectangle; @@ -58,6 +57,7 @@ import net.runelite.api.widgets.WidgetType; import net.runelite.client.callback.ClientThread; import net.runelite.client.input.KeyListener; import net.runelite.client.input.MouseListener; +import net.runelite.client.util.MiscUtils; import net.runelite.client.util.Text; @Slf4j @@ -349,8 +349,8 @@ public class ChatboxTextInput extends ChatboxInput implements KeyListener, Mouse if (isStartLine || isEndLine || (cursorEnd > line.end && cursorStart < line.start)) { - final int cIdx = Ints.constrainToRange(cursorStart - line.start, 0, len); - final int ceIdx = Ints.constrainToRange(cursorEnd - line.start, 0, len); + final int cIdx = MiscUtils.clamp(cursorStart - line.start, 0, len); + final int ceIdx = MiscUtils.clamp(cursorEnd - line.start, 0, len); lt = Text.escapeJagex(text.substring(0, cIdx)); mt = Text.escapeJagex(text.substring(cIdx, ceIdx)); @@ -452,7 +452,7 @@ public class ChatboxTextInput extends ChatboxInput implements KeyListener, Mouse int cx = p.x - ccl.getX() - ox; int cy = p.y - ccl.getY() - oy; - int currentLine = Ints.constrainToRange(cy / oh, 0, editLines.size() - 1); + int currentLine = MiscUtils.clamp(cy / oh, 0, editLines.size() - 1); final Line line = editLines.get(currentLine); final String tsValue = line.text; @@ -489,7 +489,7 @@ public class ChatboxTextInput extends ChatboxInput implements KeyListener, Mouse break; } - charIndex = Ints.constrainToRange(charIndex, 0, tsValue.length()); + charIndex = MiscUtils.clamp(charIndex, 0, tsValue.length()); return line.start + charIndex; }; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java index c5ecb74d6e..fa921d1f2c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/barbarianassault/BarbarianAssaultPlugin.java @@ -37,10 +37,7 @@ import lombok.Getter; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; -import net.runelite.api.EquipmentInventorySlot; import net.runelite.api.GameState; -import net.runelite.api.InventoryID; -import net.runelite.api.Item; import net.runelite.api.ItemID; import net.runelite.api.MenuEntry; import net.runelite.api.MessageNode; @@ -50,7 +47,6 @@ import net.runelite.api.Varbits; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.ChatMessage; import net.runelite.api.events.GameStateChanged; -import net.runelite.api.events.ItemContainerChanged; import net.runelite.api.events.ItemDespawned; import net.runelite.api.events.ItemSpawned; import net.runelite.api.events.MenuEntryAdded; @@ -185,29 +181,54 @@ public class BarbarianAssaultPlugin extends Plugin @Subscribe public void onWidgetLoaded(WidgetLoaded event) { - if (event.getGroupId() == WidgetID.BA_REWARD_GROUP_ID) + switch (event.getGroupId()) { - Wave wave = new Wave(client); - Widget rewardWidget = client.getWidget(WidgetInfo.BA_REWARD_TEXT); - if (rewardWidget != null && rewardWidget.getText().contains(ENDGAME_REWARD_NEEDLE_TEXT) && gameTime != null) + case WidgetID.BA_REWARD_GROUP_ID: { - if (config.waveTimes()) + Wave wave = new Wave(client); + Widget rewardWidget = client.getWidget(WidgetInfo.BA_REWARD_TEXT); + if (rewardWidget != null && rewardWidget.getText().contains(ENDGAME_REWARD_NEEDLE_TEXT) && gameTime != null) { - announceTime("Game finished, duration: ", gameTime.getTime(false)); + if (config.waveTimes()) + { + announceTime("Game finished, duration: ", gameTime.getTime(false)); + } + if (config.showTotalRewards()) + { + announceSomething(game.getGameSummary()); + } } - if (config.showTotalRewards()) + Widget pointsWidget = client.getWidget(WidgetInfo.BA_RUNNERS_PASSED); + if (rewardWidget != null && !rewardWidget.getText().contains(ENDGAME_REWARD_NEEDLE_TEXT) && pointsWidget != null + && config.showSummaryOfPoints() && !hasAnnounced && client.getVar(Varbits.IN_GAME_BA) == 0) { - announceSomething(game.getGameSummary()); + wave.setWaveAmounts(); + wave.setWavePoints(); + game.getWaves().add(wave); + announceSomething(wave.getWaveSummary()); } + + break; } - Widget pointsWidget = client.getWidget(WidgetInfo.BA_RUNNERS_PASSED); - if (!rewardWidget.getText().contains(ENDGAME_REWARD_NEEDLE_TEXT) && pointsWidget != null - && config.showSummaryOfPoints() && !hasAnnounced && client.getVar(Varbits.IN_GAME_BA) == 0) + case WidgetID.BA_ATTACKER_GROUP_ID: { - wave.setWaveAmounts(); - wave.setWavePoints(); - game.getWaves().add(wave); - announceSomething(wave.getWaveSummary()); + setOverlayRound(Role.ATTACKER); + break; + } + case WidgetID.BA_DEFENDER_GROUP_ID: + { + setOverlayRound(Role.DEFENDER); + break; + } + case WidgetID.BA_HEALER_GROUP_ID: + { + setOverlayRound(Role.HEALER); + break; + } + case WidgetID.BA_COLLECTOR_GROUP_ID: + { + setOverlayRound(Role.COLLECTOR); + break; } } } @@ -295,44 +316,6 @@ public class BarbarianAssaultPlugin extends Plugin } } - @Subscribe - public void onItemContainerChanged(final ItemContainerChanged event) - { - if (event.getItemContainer() != client.getItemContainer(InventoryID.EQUIPMENT)) - { - return; - } - - if (overlay.getCurrentRound() != null) - { - return; - } - - final Item[] items = event.getItemContainer().getItems(); - - // Check that the local player is wearing enough items to be wearing a cape. - if (items == null || items.length <= EquipmentInventorySlot.CAPE.getSlotIdx()) - { - return; - } - - switch (items[EquipmentInventorySlot.CAPE.getSlotIdx()].getId()) - { - case ItemID.ATTACKER_ICON: - overlay.setCurrentRound(new Round(Role.ATTACKER)); - break; - case ItemID.COLLECTOR_ICON: - overlay.setCurrentRound(new Round(Role.COLLECTOR)); - break; - case ItemID.DEFENDER_ICON: - overlay.setCurrentRound(new Round(Role.DEFENDER)); - break; - case ItemID.HEALER_ICON: - overlay.setCurrentRound(new Round(Role.HEALER)); - break; - } - } - @Subscribe public void onVarbitChanged(VarbitChanged event) { @@ -457,6 +440,16 @@ public class BarbarianAssaultPlugin extends Plugin } } + private void setOverlayRound(Role role) + { + if (overlay.getCurrentRound() != null) + { + return; + } + + overlay.setCurrentRound(new Round(role)); + } + private void announceSomething(final ChatMessageBuilder chatMessage) { chatMessageManager.queue(QueuedMessage.builder() diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java index 29147816c0..39a8ed2e8a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blackjack/BlackjackPlugin.java @@ -24,30 +24,30 @@ */ package net.runelite.client.plugins.blackjack; -import com.google.inject.Binder; import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; -import static net.runelite.api.Varbits.QUEST_THE_FEUD; +import net.runelite.api.GameState; +import net.runelite.api.Varbits; import net.runelite.api.events.ChatMessage; -import net.runelite.api.events.GameTick; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.VarbitChanged; import net.runelite.client.eventbus.Subscribe; -import net.runelite.client.menus.MenuManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginType; -import static net.runelite.client.util.MenuUtil.swap; +import net.runelite.client.util.MenuUtil; +import net.runelite.client.util.Text; +import org.apache.commons.lang3.RandomUtils; /** * Authors gazivodag longstreet */ @PluginDescriptor( name = "Blackjack", - description = "Uses chat messages and tick timers instead of animations to read", + description = "Allows for one-click blackjacking, both knocking out and pickpocketing", tags = {"blackjack", "thieving"}, type = PluginType.SKILLING ) @@ -55,111 +55,51 @@ import static net.runelite.client.util.MenuUtil.swap; @Slf4j public class BlackjackPlugin extends Plugin { - private static final String PICKPOCKET = "Pickpocket"; - private static final String KNOCK_OUT = "Knock-out"; - private static final String LURE = "Lure"; - private static final String BANDIT = "Bandit"; - private static final String MENAPHITE = "Menaphite Thug"; + private static int POLLNIVNEACH_REGION = 13358; @Inject private Client client; - @Inject - private MenuManager menuManager; + private boolean isKnockedOut = false; + private boolean ableToBlackJack = false; - private int lastKnockout; - private boolean pickpocketing; - private boolean ableToBlackJack; - - @Override - public void configure(Binder binder) - { - } - - @Override - protected void startUp() throws Exception - { - menuManager.addPriorityEntry(LURE, BANDIT); - menuManager.addPriorityEntry(LURE, MENAPHITE); - - menuManager.addPriorityEntry(KNOCK_OUT, BANDIT); - menuManager.addPriorityEntry(KNOCK_OUT, MENAPHITE); - } - - @Override - protected void shutDown() throws Exception - { - menuManager.removePriorityEntry(LURE, BANDIT); - menuManager.removePriorityEntry(LURE, MENAPHITE); - - menuManager.removePriorityEntry(PICKPOCKET, BANDIT); - menuManager.removePriorityEntry(PICKPOCKET, MENAPHITE); - - menuManager.removePriorityEntry(KNOCK_OUT, BANDIT); - menuManager.removePriorityEntry(KNOCK_OUT, MENAPHITE); - } - - @Subscribe - public void onGameTick(GameTick gameTick) - { - if (ableToBlackJack && pickpocketing && client.getTickCount() >= lastKnockout + 4) - { - pickpocketing = false; - - menuManager.removePriorityEntry(PICKPOCKET, BANDIT); - menuManager.removePriorityEntry(PICKPOCKET, MENAPHITE); - - menuManager.addPriorityEntry(KNOCK_OUT, BANDIT); - menuManager.addPriorityEntry(KNOCK_OUT, MENAPHITE); - } - } + private long nextKnockOutTick = 0; @Subscribe public void onMenuEntryAdded(MenuEntryAdded event) { - // Lure has higher priority than knock-out - if (event.getTarget().contains(MENAPHITE) || event.getTarget().contains(BANDIT) - && event.getOption().equals(LURE)) + if (client.getGameState() != GameState.LOGGED_IN + || (client.getLocalPlayer().getWorldLocation().getRegionID() != POLLNIVNEACH_REGION || !ableToBlackJack)) { - swap(client, KNOCK_OUT, LURE, event.getTarget(), false); + return; + } + + String option = Text.removeTags(event.getOption().toLowerCase()); + String target = Text.removeTags(event.getTarget().toLowerCase()); + if (isKnockedOut && nextKnockOutTick >= client.getTickCount()) + { + MenuUtil.swap(client, "pickpocket", option, target); + } + else + { + MenuUtil.swap(client, "knock-out", option, target); } } @Subscribe - public void onChatMessage(ChatMessage chatMessage) + public void onChatMessage(ChatMessage event) { - if (chatMessage.getType() == ChatMessageType.SPAM) + if (event.getType() == ChatMessageType.SPAM + && event.getMessage().equals("You smack the bandit over the head and render them unconscious.")) { - if (chatMessage.getMessage().equals("You smack the bandit over the head and render them unconscious.") - || chatMessage.getMessage().equals("Your blow only glances off the bandit's head.")) - { - menuManager.removePriorityEntry(KNOCK_OUT, BANDIT); - menuManager.removePriorityEntry(KNOCK_OUT, MENAPHITE); - - menuManager.addPriorityEntry(PICKPOCKET, BANDIT); - menuManager.addPriorityEntry(PICKPOCKET, MENAPHITE); - - lastKnockout = client.getTickCount(); - pickpocketing = true; - } + isKnockedOut = true; + nextKnockOutTick = client.getTickCount() + RandomUtils.nextInt(3, 4); } } @Subscribe public void onVarbitChanged(VarbitChanged event) { - ableToBlackJack = client.getVar(QUEST_THE_FEUD) >= 13; - - if (!ableToBlackJack) - { - menuManager.removePriorityEntry(LURE, BANDIT); - menuManager.removePriorityEntry(LURE, MENAPHITE); - - menuManager.removePriorityEntry(KNOCK_OUT, BANDIT); - menuManager.removePriorityEntry(KNOCK_OUT, MENAPHITE); - - menuManager.removePriorityEntry(PICKPOCKET, BANDIT); - menuManager.removePriorityEntry(PICKPOCKET, MENAPHITE); - } + ableToBlackJack = client.getVar(Varbits.QUEST_THE_FEUD) >= 13; } -} \ No newline at end of file +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java index 232124900a..3e3f5aa0bf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java @@ -26,7 +26,6 @@ package net.runelite.client.plugins.config; import com.google.common.base.Splitter; import com.google.common.base.Strings; -import com.google.common.primitives.Ints; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; @@ -108,6 +107,7 @@ import net.runelite.client.ui.components.IconTextField; import net.runelite.client.ui.components.colorpicker.RuneliteColorPicker; import net.runelite.client.util.ColorUtil; import net.runelite.client.util.ImageUtil; +import net.runelite.client.util.MiscUtils; import net.runelite.client.util.Text; import org.apache.commons.lang3.StringUtils; @@ -701,7 +701,7 @@ public class ConfigPanel extends PluginPanel } // Config may previously have been out of range - value = Ints.constrainToRange(value, min, max); + value = MiscUtils.clamp(value, min, max); if (max < Integer.MAX_VALUE) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java index 990f898d1b..53020a123d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/coxhelper/CoxPlugin.java @@ -577,6 +577,7 @@ public class CoxPlugin extends Plugin if (runTekton) { + runVanguards = false; if (Tekton_NPC.getId() == NpcID.TEKTON_ENRAGED || Tekton_NPC.getId() == NpcID.TEKTON_ENRAGED_7544) { enrageStage = true; @@ -593,6 +594,7 @@ public class CoxPlugin extends Plugin if (runGuard) { + runVanguards = false; if (guardTick == -1) { if (Guard1_NPC != null) @@ -644,17 +646,19 @@ public class CoxPlugin extends Plugin case NpcID.VANGUARD_7526: break; } - if (meleeVangHP <= 0 && mageVangHP <= 0 && rangeVangHP <= 0) - { - runVanguards = false; - } + } + if (mageVangHP == 0 && meleeVangHP == 0 && rangeVangHP == 0) + { + runVanguards = false; } } if (runOlm) { + runVanguards = false; Olm_Crystals.clear(); Olm_Heal.clear(); + Olm_TP.clear(); client.clearHintArrow(); sleepcount--; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java index 4f77b25c26..802e186593 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java @@ -27,7 +27,6 @@ package net.runelite.client.plugins.devtools; import ch.qos.logback.classic.Level; import ch.qos.logback.classic.Logger; import com.google.common.collect.ImmutableList; -import com.google.common.primitives.Ints; import com.google.inject.Provides; import java.awt.image.BufferedImage; import static java.lang.Math.min; @@ -60,6 +59,7 @@ import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.util.ColorUtil; import net.runelite.client.util.ImageUtil; +import net.runelite.client.util.MiscUtils; import org.slf4j.LoggerFactory; @PluginDescriptor( @@ -288,7 +288,7 @@ public class DevToolsPlugin extends Plugin Skill skill = Skill.valueOf(args[0].toUpperCase()); int level = Integer.parseInt(args[1]); - level = Ints.constrainToRange(level, 1, Experience.MAX_REAL_LEVEL); + level = MiscUtils.clamp(level, 1, Experience.MAX_REAL_LEVEL); int xp = Experience.getXpForLevel(level); client.getBoostedSkillLevels()[skill.ordinal()] = level; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightConfig.java index 9b9d19b750..b3ad77aa9e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightConfig.java @@ -33,6 +33,17 @@ public interface MouseHighlightConfig extends Config { @ConfigItem( position = 0, + keyName = "mainTooltip", + name = "Main Tooltips", + description = "Whether or not tooltips are shown on things other than interfaces or the chatbox" + ) + default boolean mainTooltip() + { + return true; + } + + @ConfigItem( + position = 1, keyName = "uiTooltip", name = "Interface Tooltips", description = "Whether or not tooltips are shown on interfaces" @@ -43,7 +54,7 @@ public interface MouseHighlightConfig extends Config } @ConfigItem( - position = 1, + position = 2, keyName = "chatboxTooltip", name = "Chatbox Tooltips", description = "Whether or not tooltips are shown over the chatbox" @@ -53,13 +64,23 @@ public interface MouseHighlightConfig extends Config return true; } - @ConfigItem(position = 2, keyName = "hideSpells", name = "Spellbook", description = "Hides vanilla client tooltips in the spellbook") + @ConfigItem( + position = 3, + keyName = "hideSpells", + name = "Spellbook", + description = "Hides vanilla client tooltips in the spellbook" + ) default boolean shouldHideSpells() { return false; } - @ConfigItem(position = 3, keyName = "hideCombat", name = "Combat", description = "Hides vanilla client tooltips in the combat menu") + @ConfigItem( + position = 4, + keyName = "hideCombat", + name = "Combat", + description = "Hides vanilla client tooltips in the combat menu" + ) default boolean shouldHideCombat() { return false; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java index e7e12580cd..0a9e9901c1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java @@ -126,6 +126,11 @@ class MouseHighlightOverlay extends Overlay } } + if (widget == null && !config.mainTooltip()) + { + return null; + } + // If this varc is set, a tooltip is already being displayed int tooltipDisplayed = client.getVar(VarClientInt.TOOLTIP_VISIBLE); if (tooltipDisplayed == 1) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java index a1961b2085..634c9fe06a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/zoom/ZoomPlugin.java @@ -25,7 +25,6 @@ */ package net.runelite.client.plugins.zoom; -import com.google.common.primitives.Ints; import com.google.inject.Inject; import com.google.inject.Provides; import java.awt.event.KeyEvent; @@ -41,6 +40,7 @@ import net.runelite.client.input.KeyListener; import net.runelite.client.input.KeyManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; +import net.runelite.client.util.MiscUtils; @PluginDescriptor( name = "Camera Zoom", @@ -103,7 +103,7 @@ public class ZoomPlugin extends Plugin implements KeyListener if ("outerZoomLimit".equals(event.getEventName())) { - int outerLimit = Ints.constrainToRange(zoomConfig.outerLimit(), ZoomConfig.OUTER_LIMIT_MIN, ZoomConfig.OUTER_LIMIT_MAX); + int outerLimit = MiscUtils.clamp(zoomConfig.outerLimit(), ZoomConfig.OUTER_LIMIT_MIN, ZoomConfig.OUTER_LIMIT_MAX); int outerZoomLimit = 128 - outerLimit; intStack[intStackSize - 1] = outerZoomLimit; return; @@ -192,7 +192,7 @@ public class ZoomPlugin extends Plugin implements KeyListener controlDown = false; if (zoomConfig.controlFunction() == ControlFunction.CONTROL_TO_RESET) { - final int zoomValue = Ints.constrainToRange(zoomConfig.ctrlZoomValue(), zoomConfig.OUTER_LIMIT_MIN, INNER_ZOOM_LIMIT); + final int zoomValue = MiscUtils.clamp(zoomConfig.ctrlZoomValue(), zoomConfig.OUTER_LIMIT_MIN, INNER_ZOOM_LIMIT); clientThread.invokeLater(() -> client.runScript(ScriptID.CAMERA_DO_ZOOM, zoomValue, zoomValue)); } } diff --git a/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/ColorPanel.java b/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/ColorPanel.java index 210de8f799..dab064566c 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/ColorPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/ColorPanel.java @@ -25,7 +25,6 @@ */ package net.runelite.client.ui.components.colorpicker; -import com.google.common.primitives.Ints; import java.awt.Color; import java.awt.Dimension; import java.awt.GradientPaint; @@ -39,6 +38,7 @@ import java.awt.image.BufferedImage; import java.util.function.Consumer; import javax.swing.JPanel; import lombok.Setter; +import net.runelite.client.util.MiscUtils; public class ColorPanel extends JPanel { @@ -144,8 +144,8 @@ public class ColorPanel extends JPanel return; } - x = Ints.constrainToRange(x, 0, size - 1); - y = Ints.constrainToRange(y, 0, size - 1); + x = MiscUtils.clamp(x, 0, size - 1); + y = MiscUtils.clamp(y, 0, size - 1); targetPosition = new Point(x, y); paintImmediately(0, 0, size, size); @@ -200,8 +200,8 @@ public class ColorPanel extends JPanel */ private Color colorAt(int x, int y) { - x = Ints.constrainToRange(x, 0, size - 1); - y = Ints.constrainToRange(y, 0, size - 1); + x = MiscUtils.clamp(x, 0, size - 1); + y = MiscUtils.clamp(y, 0, size - 1); return new Color(image.getRGB(x, y)); } } diff --git a/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/ColorValueSlider.java b/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/ColorValueSlider.java index 12b5fb7cc5..fbe7ffc3c1 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/ColorValueSlider.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/ColorValueSlider.java @@ -25,7 +25,6 @@ */ package net.runelite.client.ui.components.colorpicker; -import com.google.common.primitives.Ints; import java.awt.Color; import java.awt.Graphics; import java.awt.event.MouseAdapter; @@ -35,6 +34,7 @@ import java.util.function.Consumer; import javax.swing.JPanel; import lombok.Setter; import net.runelite.client.util.ColorUtil; +import net.runelite.client.util.MiscUtils; public class ColorValueSlider extends JPanel { @@ -83,7 +83,7 @@ public class ColorValueSlider extends JPanel private void moveTarget(int x, boolean shouldUpdate) { - value = Ints.constrainToRange(x, ColorUtil.MIN_RGB_VALUE + KNOB_WIDTH, ColorUtil.MAX_RGB_VALUE + KNOB_WIDTH); + value = MiscUtils.clamp(x, ColorUtil.MIN_RGB_VALUE + KNOB_WIDTH, ColorUtil.MAX_RGB_VALUE + KNOB_WIDTH); paintImmediately(0, 0, this.getWidth(), this.getHeight()); if (shouldUpdate && onValueChanged != null) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/HuePanel.java b/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/HuePanel.java index 392255daa7..b7689b5e47 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/HuePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/components/colorpicker/HuePanel.java @@ -25,7 +25,6 @@ */ package net.runelite.client.ui.components.colorpicker; -import com.google.common.primitives.Ints; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; @@ -36,6 +35,7 @@ import java.util.function.Consumer; import javax.swing.JPanel; import lombok.Getter; import lombok.Setter; +import net.runelite.client.util.MiscUtils; public class HuePanel extends JPanel { @@ -94,7 +94,7 @@ public class HuePanel extends JPanel */ private void moveSelector(int y) { - y = Ints.constrainToRange(y, 0, height - 1); + y = MiscUtils.clamp(y, 0, height - 1); if (y == this.selectedY) { return; diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java index ec85807477..b075e0f990 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java @@ -25,7 +25,6 @@ package net.runelite.client.ui.overlay; import com.google.common.base.MoreObjects; -import com.google.common.primitives.Ints; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; @@ -54,6 +53,7 @@ import net.runelite.client.input.MouseAdapter; import net.runelite.client.input.MouseManager; import net.runelite.client.ui.JagexColors; import net.runelite.client.util.ColorUtil; +import net.runelite.client.util.MiscUtils; @Singleton public class OverlayRenderer extends MouseAdapter implements KeyListener @@ -250,8 +250,8 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener } final Dimension realDimensions = client.getRealDimensions(); - location.x = Ints.constrainToRange(location.x, 0, Math.max(0, realDimensions.width - dimension.width)); - location.y = Ints.constrainToRange(location.y, 0, Math.max(0, realDimensions.height - dimension.height)); + location.x = MiscUtils.clamp(location.x, 0, Math.max(0, realDimensions.width - dimension.width)); + location.y = MiscUtils.clamp(location.y, 0, Math.max(0, realDimensions.height - dimension.height)); } if (overlay.getPreferredSize() != null) @@ -347,8 +347,8 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener { final Dimension realDimension = client.getRealDimensions(); mousePoint.translate(-overlayOffset.x, -overlayOffset.y); - mousePoint.x = Ints.constrainToRange(mousePoint.x, 0, Math.max(0, realDimension.width - movedOverlay.getBounds().width)); - mousePoint.y = Ints.constrainToRange(mousePoint.y, 0, Math.max(0, realDimension.height - movedOverlay.getBounds().height)); + mousePoint.x = MiscUtils.clamp(mousePoint.x, 0, Math.max(0, realDimension.width - movedOverlay.getBounds().width)); + mousePoint.y = MiscUtils.clamp(mousePoint.y, 0, Math.max(0, realDimension.height - movedOverlay.getBounds().height)); movedOverlay.setPreferredPosition(null); movedOverlay.setPreferredLocation(mousePoint); mouseEvent.consume(); diff --git a/runelite-client/src/main/java/net/runelite/client/util/ColorUtil.java b/runelite-client/src/main/java/net/runelite/client/util/ColorUtil.java index 2132a2a30b..123e74a71d 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/ColorUtil.java +++ b/runelite-client/src/main/java/net/runelite/client/util/ColorUtil.java @@ -24,7 +24,6 @@ */ package net.runelite.client.util; -import com.google.common.primitives.Ints; import java.awt.Color; import java.util.regex.Pattern; import javax.annotation.Nonnull; @@ -171,7 +170,7 @@ public class ColorUtil */ public static int constrainValue(int value) { - return Ints.constrainToRange(value, MIN_RGB_VALUE, MAX_RGB_VALUE); + return MiscUtils.clamp(value, MIN_RGB_VALUE, MAX_RGB_VALUE); } /**