Skip to content

Comments

feat: RuneLite 1.12+ compatibility and adaptive scripting system#330

Open
jomack-silvey wants to merge 4 commits intoOSRSB:masterfrom
jomack-silvey:chore/bot-functionality-update
Open

feat: RuneLite 1.12+ compatibility and adaptive scripting system#330
jomack-silvey wants to merge 4 commits intoOSRSB:masterfrom
jomack-silvey:chore/bot-functionality-update

Conversation

@jomack-silvey
Copy link

Summary

  • RuneLite 1.12+ port: Removed all Applet dependencies since RuneLite 1.12+ no longer extends Applet. Migrated InputManager, VirtualKeyboard, VirtualMouse, and BaseClientWrapper to use client.getCanvas() / Panel. Added isSelfHidden() fallback in BaseWidgetWrapper for client-thread safety.
  • Adaptive scripting system: Added 15-class opt-in framework under script/adaptive/ — scripts extend AdaptiveScript to get action tracking, UCB1 strategy optimization, adaptive sleep timing, chat-reactive behavior, JSON persistence across sessions, and a HUD paint overlay.
  • Auto-drop: Inventory auto-drop with configurable keep-list (by item ID or name) in AdaptiveScript.
  • Housekeeping: Updated .gitignore for debug/decompilation artifacts.

Test plan

  • Verify bot launches and connects with RuneLite 1.12+
  • Confirm mouse/keyboard input dispatches correctly (no Applet cast errors)
  • Test a script extending AdaptiveScript to validate action tracking, sleep optimization, and paint overlay
  • Verify learning data persists to disk and loads across sessions
  • Confirm auto-drop respects the keep-list

🤖 Generated with Claude Code

jomack-silvey and others added 4 commits February 18, 2026 00:13
- Remove Applet dependency (Client no longer extends Applet in 1.12+)
- Fix sidebar NPE by overriding start() to init UI before loading plugins
- Add clientUI.show(), client.unblockStartup(), pluginManager.startPlugins()
- Integrate OSRSBPlugin (BotPanel/ScriptPanel/AccountPanel) into source tree
- Add definition cache fallback for RSObject/RSNPC (client API + static cache)
- Update BotModule for Supplier<Client> instead of Supplier<Applet>
- Add BaseClientWrapper stubs for 20+ new Client/GameEngine methods
- Add Jagex auth support (credentials.properties loader in Application.java)
- Add launch-bot.bat/sh with JVM tuning for OSRS client
- Include PixelBot script JAR in scripts/ directory

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ehavior

Introduces an opt-in adaptive layer for scripts that tracks action outcomes,
persists learning data across sessions via JSON, optimizes timing/target
selection using UCB1 + epsilon-greedy, and reacts to chat messages dynamically.

15 new files in script/adaptive/ — no changes to existing core classes.
Scripts extend AdaptiveScript instead of Script to opt in.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…d auto-drop to AdaptiveScript

RuneLite 1.12+ no longer extends Applet. Migrated InputManager, VirtualKeyboard,
VirtualMouse, and BaseClientWrapper to use client.getCanvas() / Panel instead.
Added isSelfHidden() fallback in BaseWidgetWrapper for client-thread safety.
Added inventory auto-drop with configurable keep-list to AdaptiveScript.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant