diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 10d530b729..e81fa36fb9 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -164,12 +164,14 @@ public interface Client extends GameEngine int[] getVarps(); - Varcs getVarcs(); - int getVar(VarPlayer varPlayer); int getVar(Varbits varbit); + int getVar(VarClientInt varClientInt); + + String getVar(VarClientStr varClientStr); + @VisibleForDevtools void setSetting(Varbits varbit, int value); diff --git a/runelite-api/src/main/java/net/runelite/api/Varcs.java b/runelite-api/src/main/java/net/runelite/api/Varcs.java deleted file mode 100644 index 9d34b004af..0000000000 --- a/runelite-api/src/main/java/net/runelite/api/Varcs.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2018, Tomas Slusny - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.runelite.api; - -public interface Varcs -{ - int getIntVar(VarClientInt var); - - String getStrVar(VarClientStr var); -} diff --git a/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java b/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java index a0f0592226..501f64bae4 100644 --- a/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java +++ b/runelite-client/src/main/java/net/runelite/client/chat/CommandManager.java @@ -34,7 +34,6 @@ import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.VarClientStr; -import net.runelite.api.Varcs; import net.runelite.api.events.CommandExecuted; import net.runelite.api.events.ScriptCallbackEvent; @@ -62,8 +61,7 @@ public class CommandManager } Client client = clientProvider.get(); - Varcs varcs = client.getVarcs(); - String typedText = varcs.getStrVar(VarClientStr.CHATBOX_TYPED_TEXT).substring(2); // strip :: + String typedText = client.getVar(VarClientStr.CHATBOX_TYPED_TEXT).substring(2); // strip :: log.debug("Command: {}", typedText); 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 bb17fce5c9..9a2d78eaba 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 @@ -31,7 +31,6 @@ import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.MenuEntry; import net.runelite.api.VarClientInt; -import net.runelite.api.Varcs; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.ui.overlay.Overlay; @@ -112,8 +111,7 @@ class MouseHighlightOverlay extends Overlay if (widget != null) { // If this varc is set, some CS is showing tooltip - Varcs varcs = client.getVarcs(); - int tooltipTimeout = varcs.getIntVar(VarClientInt.TOOLTIP_TIMEOUT); + int tooltipTimeout = client.getVar(VarClientInt.TOOLTIP_TIMEOUT); if (tooltipTimeout > client.getGameCycle()) { return null; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSVarcsMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSVarcsMixin.java deleted file mode 100644 index 0104fec76c..0000000000 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSVarcsMixin.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2018, Adam - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.runelite.mixins; - -import net.runelite.api.VarClientInt; -import net.runelite.api.VarClientStr; -import net.runelite.api.mixins.Inject; -import net.runelite.api.mixins.Mixin; -import net.runelite.rs.api.RSVarcs; - -@Mixin(RSVarcs.class) -public abstract class RSVarcsMixin implements RSVarcs -{ - @Inject - @Override - public int getIntVar(VarClientInt var) - { - int[] varcs = getIntVarcs(); - return varcs[var.getIndex()]; - } - - @Inject - @Override - public String getStrVar(VarClientStr var) - { - String[] varcs = getStrVarcs(); - return varcs[var.getIndex()]; - } -} \ No newline at end of file diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java index 8990632b33..37e40ea589 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/VarbitMixin.java @@ -26,6 +26,8 @@ package net.runelite.mixins; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; +import net.runelite.api.VarClientInt; +import net.runelite.api.VarClientStr; import net.runelite.api.Varbits; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; @@ -106,4 +108,18 @@ public abstract class VarbitMixin implements RSClient int mask = (1 << ((msb - lsb) + 1)) - 1; varps[v.getIndex()] = (varps[v.getIndex()] & ~(mask << lsb)) | ((value & mask) << lsb); } + + @Inject + @Override + public int getVar(VarClientInt varClientInt) + { + return getVarcs().getIntVarcs()[varClientInt.getIndex()]; + } + + @Inject + @Override + public String getVar(VarClientStr varClientStr) + { + return getVarcs().getStrVarcs()[varClientStr.getIndex()]; + } } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index 7ba51dcd1a..e442995b9f 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -82,7 +82,6 @@ public interface RSClient extends RSGameEngine, Client int[] getVarps(); @Import("varcs") - @Override RSVarcs getVarcs(); @Import("energy") diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSVarcs.java b/runescape-api/src/main/java/net/runelite/rs/api/RSVarcs.java index cad5243dc1..66d16fe0f0 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSVarcs.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSVarcs.java @@ -24,10 +24,9 @@ */ package net.runelite.rs.api; -import net.runelite.api.Varcs; import net.runelite.mapping.Import; -public interface RSVarcs extends Varcs +public interface RSVarcs { @Import("varcs") int[] getIntVarcs();