A collection of BotWithUs RuneScape 3 scripts demonstrating various automation techniques and best practices.
This is a multi-project Gradle workspace containing several example scripts:
A comprehensive chicken killing and looting script featuring:
- Combat System: Automated chicken targeting and attacking
- Looting System: Picks up feathers and bones from the ground
- Banking System: Automatic banking when inventory is full, health restoration
- Movement System: Navigation between chicken area and bank
- GUI Interface: Simple checkbox to toggle banking on/off
Features:
- Modular architecture with separate classes for different responsibilities
- Real-time delay management to prevent spam clicking
- Health monitoring and automatic healing at bank
- Area-based filtering for efficient item collection
- Robust error handling and logging
A flax picking automation script (structure present, implementation may vary).
Template projects for creating new scripts:
- Java version: Basic script template in Java
- Kotlin version: Basic script template in Kotlin
- Java 24
- BotWithUs client and API
- Gradle (wrapper included)
Build all projects:
./gradlew buildBuild specific project:
./gradlew :ChickenKiller:build
./gradlew :FlaxPicker:build
./gradlew :ScriptSkeleton:build- Build the project you want to use
- Copy the generated JAR from
{ProjectName}/build/libs/to your BotWithUs scripts folder - Load the script in the BotWithUs client
Each script follows a modular architecture pattern:
src/main/java/botwithus/
├── ScriptName.java # Main script class
├── areas/ # Game area definitions
├── banking/ # Banking and inventory management
├── combat/ # Combat and NPC interaction
├── gui/ # User interface components
├── loot/ # Ground item collection
└── movement/ # Player movement and navigation
- Banking: Handles inventory management, banking, and health restoration
- Combat: Manages NPC targeting, attacking, and combat delays
- Looting: Ground item detection, filtering, and pickup with anti-spam delays
- Movement: Area navigation and readiness checking
- GUI: Simple ImGui-based user interfaces
- Modular Design: Separation of concerns with dedicated classes
- Delay Management: Realistic timing to prevent detection
- Error Handling: Comprehensive exception catching and logging
- State Management: Proper script lifecycle handling
- User Interface: Clean, functional GUIs for script control
Areas are defined in areas/GameAreas.java with coordinate boundaries:
public static final Area CHICKEN_AREA = new Area.Rectangular(
new Coordinate(2881, 3478, 0),
new Coordinate(2889, 3475, 0)
);Configurable delays in script classes:
- Combat delays: 5000ms between attacks
- Looting delays: 1200ms between pickups
- Movement delays: Built into area checking
- Fork the repository
- Create a feature branch
- Follow the established code organization patterns
- Test thoroughly with the BotWithUs client
- Submit a pull request