Merge remote-tracking branch 'upstream/master' into runelite
Also pulled out a couple of our merged apis into our own classes. Getting much easier to keep up to date with their data # Conflicts: # .github/FUNDING.yml # .github/workflows/CI.yml # cache-client/pom.xml # cache-updater/pom.xml # cache/pom.xml # cache/src/main/java/net/runelite/cache/fs/jagex/DiskStorage.java # ci/build.sh # http-api/pom.xml # http-service/pom.xml # http-service/src/main/java/net/runelite/http/service/chat/ChatController.java # http-service/src/main/java/net/runelite/http/service/config/ConfigController.java # http-service/src/main/java/net/runelite/http/service/config/ConfigService.java # http-service/src/main/java/net/runelite/http/service/ge/GrandExchangeController.java # http-service/src/main/java/net/runelite/http/service/ge/Trade.java # http-service/src/test/java/net/runelite/http/service/config/ConfigServiceTest.java # http-service/src/test/java/net/runelite/http/service/hiscore/HiscoreServiceTest.java # pom.xml # runelite-api/pom.xml # runelite-api/src/main/java/net/runelite/api/Client.java # runelite-api/src/main/java/net/runelite/api/ObjectID.java # runelite-api/src/main/java/net/runelite/api/ParamHolder.java # runelite-api/src/main/java/net/runelite/api/ParamID.java # runelite-api/src/main/java/net/runelite/api/Preferences.java # runelite-api/src/main/java/net/runelite/api/ScriptEvent.java # runelite-api/src/main/java/net/runelite/api/ScriptID.java # runelite-api/src/main/java/net/runelite/api/SettingID.java # runelite-api/src/main/java/net/runelite/api/StructComposition.java # runelite-api/src/main/java/net/runelite/api/StructID.java # runelite-api/src/main/java/net/runelite/api/Varbits.java # runelite-api/src/main/java/net/runelite/api/events/PlayerChanged.java # runelite-api/src/main/java/net/runelite/api/events/PostStructComposition.java # runelite-api/src/main/java/net/runelite/api/events/WidgetClosed.java # runelite-api/src/main/java/net/runelite/api/events/WidgetHiddenChanged.java # runelite-api/src/main/java/net/runelite/api/events/WidgetPositioned.java # runelite-api/src/main/java/net/runelite/api/events/WorldChanged.java # runelite-api/src/main/java/net/runelite/api/widgets/Widget.java # runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java # runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java # runelite-api/src/main/java/net/runelite/api/widgets/WidgetModalMode.java # runelite-api/src/test/java/net/runelite/api/plugins/combatlevel/CombatLevelOverlayTest.java # runelite-client/pom.xml # runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java # runelite-client/src/main/java/net/runelite/client/callback/Hooks.java # runelite-client/src/main/java/net/runelite/client/plugins/config/PluginToggleButton.java # runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursor.java # runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java # runelite-client/src/main/java/net/runelite/client/plugins/mta/alchemy/AlchemyRoomTimer.java # runelite-client/src/main/java/net/runelite/client/plugins/tearsofguthix/TearsOfGuthixOverlay.java # runelite-client/src/main/java/net/runelite/client/plugins/tearsofguthix/TearsOfGuthixPlugin.java # runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableHeader.java # runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTableRow.java # runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java # runelite-client/src/main/resources/net/runelite/client/runelite.properties # runelite-client/src/main/scripts/OptionsPanelZoomUpdater.hash # runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java # runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java # runelite-client/src/test/java/net/runelite/client/plugins/chatfilter/ChatFilterPluginTest.java # runelite-client/src/test/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPluginTest.java # runelite-client/src/test/java/net/runelite/client/plugins/discord/DiscordStateTest.java # runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangePluginTest.java # runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java # runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialCounterPluginTest.java # runelite-client/src/test/java/net/runelite/client/plugins/timers/TimersPluginTest.java # runelite-client/src/test/java/net/runelite/client/util/ColorUtilTest.java # runelite-script-assembler-plugin/pom.xml
This commit is contained in:
@@ -29,37 +29,15 @@ package com.openosrs.client.plugins.openosrs;
|
||||
import ch.qos.logback.classic.Logger;
|
||||
import com.openosrs.client.plugins.openosrs.externals.ExternalPluginManagerPanel;
|
||||
import com.openosrs.client.config.OpenOSRSConfig;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.image.BufferedImage;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.runelite.api.Client;
|
||||
import static net.runelite.api.ScriptID.BANK_PIN_OP;
|
||||
import net.runelite.api.events.ScriptCallbackEvent;
|
||||
import net.runelite.api.widgets.WidgetID;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_1;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_10;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_2;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_3;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_4;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_5;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_6;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_7;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_8;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_9;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_EXIT_BUTTON;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_FIRST_ENTERED;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_FORGOT_BUTTON;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_FOURTH_ENTERED;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_INSTRUCTION_TEXT;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_SECOND_ENTERED;
|
||||
import static net.runelite.api.widgets.WidgetInfo.BANK_PIN_THIRD_ENTERED;
|
||||
import net.runelite.client.callback.ClientThread;
|
||||
import net.runelite.client.config.Keybind;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.events.ConfigChanged;
|
||||
import net.runelite.client.input.KeyListener;
|
||||
import net.runelite.client.input.KeyManager;
|
||||
import net.runelite.client.plugins.Plugin;
|
||||
import net.runelite.client.plugins.PluginDescriptor;
|
||||
@@ -78,8 +56,6 @@ import org.slf4j.LoggerFactory;
|
||||
@Slf4j
|
||||
public class OpenOSRSPlugin extends Plugin
|
||||
{
|
||||
private final openosrsKeyListener keyListener = new openosrsKeyListener();
|
||||
|
||||
@Inject
|
||||
private OpenOSRSConfig config;
|
||||
|
||||
@@ -107,9 +83,6 @@ public class OpenOSRSPlugin extends Plugin
|
||||
client.setOculusOrbNormalSpeed(detach ? 36 : 12);
|
||||
}
|
||||
};
|
||||
private int entered = -1;
|
||||
private int enterIdx;
|
||||
private boolean expectInput;
|
||||
private boolean detach;
|
||||
private Keybind keybind;
|
||||
|
||||
@@ -128,9 +101,6 @@ public class OpenOSRSPlugin extends Plugin
|
||||
.build();
|
||||
clientToolbar.addNavigation(navButton);
|
||||
|
||||
entered = -1;
|
||||
enterIdx = 0;
|
||||
expectInput = false;
|
||||
this.keybind = config.detachHotkey();
|
||||
keyManager.registerKeyListener(hotkeyListener);
|
||||
}
|
||||
@@ -139,12 +109,6 @@ public class OpenOSRSPlugin extends Plugin
|
||||
protected void shutDown()
|
||||
{
|
||||
clientToolbar.removeNavigation(navButton);
|
||||
|
||||
entered = 0;
|
||||
enterIdx = 0;
|
||||
expectInput = false;
|
||||
keyManager.unregisterKeyListener(keyListener);
|
||||
keyManager.unregisterKeyListener(hotkeyListener);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@@ -157,14 +121,6 @@ public class OpenOSRSPlugin extends Plugin
|
||||
|
||||
this.keybind = config.detachHotkey();
|
||||
|
||||
if (!config.keyboardPin())
|
||||
{
|
||||
entered = 0;
|
||||
enterIdx = 0;
|
||||
expectInput = false;
|
||||
keyManager.unregisterKeyListener(keyListener);
|
||||
}
|
||||
|
||||
if (event.getKey().equals("shareLogs") && !config.shareLogs())
|
||||
{
|
||||
final Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
|
||||
@@ -172,118 +128,4 @@ public class OpenOSRSPlugin extends Plugin
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
private void onScriptCallbackEvent(ScriptCallbackEvent e)
|
||||
{
|
||||
if (!config.keyboardPin())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.getEventName().equals("bankpin"))
|
||||
{
|
||||
int[] intStack = client.getIntStack();
|
||||
int intStackSize = client.getIntStackSize();
|
||||
|
||||
// This'll be anywhere from -1 to 3
|
||||
// 0 = first number, 1 second, etc
|
||||
// Anything other than 0123 means the bankpin interface closes
|
||||
int enterIdx = intStack[intStackSize - 1];
|
||||
|
||||
if (enterIdx < 0 || enterIdx > 3)
|
||||
{
|
||||
keyManager.unregisterKeyListener(keyListener);
|
||||
this.enterIdx = 0;
|
||||
this.entered = 0;
|
||||
expectInput = false;
|
||||
return;
|
||||
}
|
||||
else if (enterIdx == 0)
|
||||
{
|
||||
keyManager.registerKeyListener(keyListener);
|
||||
}
|
||||
|
||||
this.enterIdx = enterIdx;
|
||||
expectInput = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void handleKey(char c)
|
||||
{
|
||||
if (client.getWidget(WidgetID.BANK_PIN_GROUP_ID, BANK_PIN_INSTRUCTION_TEXT.getChildId()) == null
|
||||
|| !client.getWidget(BANK_PIN_INSTRUCTION_TEXT).getText().equals("First click the FIRST digit.")
|
||||
&& !client.getWidget(BANK_PIN_INSTRUCTION_TEXT).getText().equals("Now click the SECOND digit.")
|
||||
&& !client.getWidget(BANK_PIN_INSTRUCTION_TEXT).getText().equals("Time for the THIRD digit.")
|
||||
&& !client.getWidget(BANK_PIN_INSTRUCTION_TEXT).getText().equals("Finally, the FOURTH digit."))
|
||||
|
||||
{
|
||||
entered = 0;
|
||||
enterIdx = 0;
|
||||
expectInput = false;
|
||||
keyManager.unregisterKeyListener(keyListener);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!expectInput)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int num = Character.getNumericValue(c);
|
||||
|
||||
// We gotta copy this cause enteridx changes while the script is executing
|
||||
int oldEnterIdx = enterIdx;
|
||||
|
||||
// Script 685 will call 653, which in turn will set expectInput to true
|
||||
expectInput = false;
|
||||
client.runScript(BANK_PIN_OP, num, enterIdx, entered, BANK_PIN_EXIT_BUTTON.getId(), BANK_PIN_FORGOT_BUTTON.getId(), BANK_PIN_1.getId(), BANK_PIN_2.getId(), BANK_PIN_3.getId(), BANK_PIN_4.getId(), BANK_PIN_5.getId(), BANK_PIN_6.getId(), BANK_PIN_7.getId(), BANK_PIN_8.getId(), BANK_PIN_9.getId(), BANK_PIN_10.getId(), BANK_PIN_FIRST_ENTERED.getId(), BANK_PIN_SECOND_ENTERED.getId(), BANK_PIN_THIRD_ENTERED.getId(), BANK_PIN_FOURTH_ENTERED.getId(), BANK_PIN_INSTRUCTION_TEXT.getId());
|
||||
|
||||
if (oldEnterIdx == 0)
|
||||
{
|
||||
entered = num * 1000;
|
||||
}
|
||||
else if (oldEnterIdx == 1)
|
||||
{
|
||||
entered += num * 100;
|
||||
}
|
||||
else if (oldEnterIdx == 2)
|
||||
{
|
||||
entered += num * 10;
|
||||
}
|
||||
}
|
||||
|
||||
private class openosrsKeyListener implements KeyListener
|
||||
{
|
||||
private int lastKeyCycle;
|
||||
|
||||
@Override
|
||||
public void keyTyped(KeyEvent keyEvent)
|
||||
{
|
||||
if (!Character.isDigit(keyEvent.getKeyChar()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (client.getGameCycle() - lastKeyCycle <= 5)
|
||||
{
|
||||
keyEvent.consume();
|
||||
return;
|
||||
}
|
||||
|
||||
lastKeyCycle = client.getGameCycle();
|
||||
|
||||
clientThread.invoke(() -> handleKey(keyEvent.getKeyChar()));
|
||||
keyEvent.consume();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void keyPressed(KeyEvent keyEvent)
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public void keyReleased(KeyEvent keyEvent)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user