Microbot
repository·main·Indexed 41 days ago
https://github.com/chsami/microbotA specialized RuneLite fork that provides an integrated environment for developing and running automation scripts via an always-on plugin. It includes a Queryable API for interacting with game entities, runtime agent tools such as a CLI wrapper and HTTP server, and a set of Entity Guides to prevent common implementation bugs.
What's inside Microbot
- Microbot is a RuneLite fork featuring an always-on Microbot plugin designed for learning, building, and running automation scripts. It provides a runtime environment for executing scripts and a set of tools for interacting with the game client.
Manage prayer abilities with Rs2Prayer
mainThe
Rs2Prayerclass provides methods to interact with and manage prayer abilities in-game. You can use it to activate or deactivate specific prayers, check the current status of a prayer, verify if quick prayers are enabled, or check if the player has run out of prayer points. All prayer-specific operations require anRs2PrayerEnumvalue to identify the target prayer.// Example of activating and deactivating a prayer Rs2Prayer.toggle(Rs2PrayerEnum.PIETY, true); // Activates Piety Rs2Prayer.toggle(Rs2PrayerEnum.PIETY, false); // Deactivates PietyGet started with Microbot
mainThe Microbot documentation index provides access to core guides for architecture, development setup, installation, and advanced usage like the Agent Server and Agentic Testing Loop. Use these guides to understand how to build, deploy, and interact with the Microbot system.Use the Rs2Dialogue class to handle in-game dialogues
mainTheRs2Dialogueclass provides static methods to detect and interact with in-game dialogue windows. Use these methods to automate responses to prompts like "Click here to continue" or to detect when a player is required to make a choice.Use the runelite-api library
mainThe
runelite-apimodule provides the public API artifacts used byrunelite-clientand various plugins. It contains essential interfaces, events, and data models. This is a library-only module and does not have a runtimemainmethod.To use it in your own project, include the following dependency coordinates:
net.runelite:runelite-api// Example dependency coordinate dependency { implementation 'net.runelite:runelite-api' }Manage player inventory with Rs2Inventory
mainThe
Rs2Inventoryclass is used to manage and interact with the player's inventory. It provides methods to check inventory status (e.g., if it is full or empty), retrieve specific items, and perform actions like dropping, combining, or interacting with items.Rs2Inventory.interact(12345, "Use"); boolean hasItem = Rs2Inventory.contains("Magic potion"); int emptySlots = Rs2Inventory.emptySlotCount();Use the runelite-gradle-plugin in your build
mainThe
runelite-gradle-pluginprovides custom Gradle plugins used for assembling resources, indexing, and JAR signing during the client build process. These plugins are primarily consumed byrunelite-client/build.gradle.kts.To use these capabilities, apply the following plugin IDs in your Gradle configuration:
net.runelite.runelite-gradle-plugin.assemble: For assembling resources.net.runelite.runelite-gradle-plugin.index: For indexing.net.runelite.runelite-gradle-plugin.jarsign: For JAR signing.
// Example application in a build.gradle.kts plugins { id("net.runelite.runelite-gradle-plugin.assemble") id("net.runelite.runelite-gradle-plugin.index") id("net.runelite.runelite-gradle-plugin.jarsign") }Understand the Webwalker Improvement Plan tiers
mainThe Webwalker improvement plan is organized into five tiers of priority to enhance the shortest-path functionality:
- Tier 1 — Correctness bugs: High-priority fixes for functional errors (fix first).
- Tier 2 — Pathfinder performance: Optimizations for pathfinding speed.
- Tier 3 — Rs2Walker robustness: Improvements to walker stability, stall detection, and handling of specific game mechanics (doors, energy, etc.).
- Tier 4 — Transport data completeness: Filling gaps in transport data (agility shortcuts, skill capes, diary toggles, etc.).
- Tier 5 — Concurrency, observability, testing: Improving thread safety, logging, metrics, and unit test coverage.
Simulate keyboard actions with Rs2Keyboard
mainThe
Rs2Keyboardclass is used to simulate keyboard input by dispatching events directly to the game's canvas. It supports typing full strings, pressing individual characters, and managing key states (holding and releasing) using key codes fromKeyEvent.Rs2Keyboard.typeString("Hello, world!"); Rs2Keyboard.keyPress('a'); Rs2Keyboard.holdShift(); Rs2Keyboard.releaseShift(); Rs2Keyboard.enter(); boolean isShiftPressed = Rs2Keyboard.isKeyPressed(KeyEvent.VK_SHIFT);Manage combat settings with Rs2Combat
mainTheRs2Combatclass provides a suite of static methods to programmatically control combat settings in-game. You can use it to manage attack styles, toggle auto-retaliate, handle special attack states, and check if the character is currently in combat.Interact with shops using Rs2Shop
mainTheRs2Shopclass provides static methods to manage interactions with in-game shops. You can use it to open shop interfaces, buy items, check stock levels, and locate shop NPCs.Interact with the Grand Exchange using Rs2GrandExchange
mainTheRs2GrandExchangeclass provides a comprehensive suite of static methods to automate Grand Exchange (GE) activities. You can use it to open the GE, buy or sell items, manage active offers, and collect completed offers into your bank or inventory.