127 lines
5.9 KiB
Markdown
127 lines
5.9 KiB
Markdown
# Villager Roller
|
|
|
|
[](https://minecraft.net/)
|
|
[](https://fabricmc.net/)
|
|
[](https://adoptium.net/)
|
|
[](LICENSE)
|
|
|
|
**Villager Roller** is a high-performance, client-side Fabric mod for Minecraft 26.3 that automates the tedious process of rerolling villager trades. By breaking and placing workstations, opening trade interfaces, and analyzing offers automatically, it lets you secure your desired enchanted books and commodity trades with ease.
|
|
|
|
---
|
|
|
|
## ✨ Features
|
|
|
|
- **🤖 Fully Automated Rerolling**: Automates breaking the workstation block, placing it back down, awaiting job claiming, and reading offers.
|
|
- **📚 All 13 Workstations Supported**: Includes Lectern, Blast Furnace, Smoker, Fletching Table, Composter, Smithing Table, Grindstone, Brewing Stand, Barrel, Cartography Table, Cauldron, Stonecutter, and Loom.
|
|
- **💎 Emerald Price Filtering**: Cycle max price thresholds (`≤10`, `≤15`, `≤20`, `≤32`, `Any ≤64`) so you never overpay for high-tier enchantments like Mending or Unbreaking III.
|
|
- **🖥️ In-Game HUD Overlay**: Displays current state, target trade, price limit, attempt counter, and background focus status in real time.
|
|
- **🪟 Background Focus Mode**: Toggle focus mode (<kbd>U</kbd>) to keep the game active and rolling even when alt-tabbed to another monitor or application.
|
|
- **🛑 One-Touch Emergency Stop**: Hit <kbd>X</kbd> anytime to instantly halt automation and restore normal controls.
|
|
- **🌐 Multiplayer & Latency Resilient**: Built-in state machine waits for server block confirmation and handles packet latency without desyncing.
|
|
- **⚙️ ModMenu & Keybinds Integration**: Access configuration and rebinding screens directly from ModMenu or in-game menus.
|
|
|
|
---
|
|
|
|
## 🎮 Default Keybindings
|
|
|
|
| Key | Default | Description |
|
|
|---|:---:|---|
|
|
| **Open Trade Selector** | <kbd>V</kbd> | Opens the trade selection and configuration menu |
|
|
| **Emergency Stop** | <kbd>X</kbd> | Instantly halts automation at any point |
|
|
| **Toggle Background Focus** | <kbd>U</kbd> | Toggles whether Minecraft continues running when unfocused |
|
|
|
|
> *All keybinds can be reconfigured in Options → Controls → Key Binds or via the in-game Keybinds screen.*
|
|
|
|
---
|
|
|
|
## 🚀 How to Use
|
|
|
|
### 1. Select Your Target Trade
|
|
1. Press <kbd>V</kbd> to open the **Trade Selector**.
|
|
2. Select your workstation on the left (e.g. *Lectern (Librarian)*).
|
|
3. Choose your desired trade on the right (e.g. *Mending*, *Unbreaking III*, *Efficiency V*, *32 Sticks -> 1 Emerald*).
|
|
4. *(Optional)* Click **Max Emeralds** to set a price ceiling (e.g. `≤ 15 Emeralds`).
|
|
5. Click **Confirm & Start Setup**.
|
|
|
|
### 2. Interactive 3-Step Calibration
|
|
The mod guides you through an initial setup sequence to ensure accurate positions:
|
|
- **Step 1/3**: Right-click your unlinked / novice villager.
|
|
- **Step 2/3**: Break and replace the villager's workstation block.
|
|
- **Step 3/3**: Right-click the villager to verify trade opening.
|
|
|
|
### 3. Automatic Takeover
|
|
- The state machine takes over automatically, cycling the workstation and inspecting trades.
|
|
- When your matching trade and price conditions are met:
|
|
- Automation stops immediately.
|
|
- An audible chime alerts you that the roll succeeded!
|
|
|
|
---
|
|
|
|
## 🏛️ Supported Workstations & Professions
|
|
|
|
| Workstation | Profession | Common Targets |
|
|
|---|---|---|
|
|
| **Lectern** | Librarian | Mending, Unbreaking III, Protection IV, Efficiency V, Fortune III, Silk Touch, Paper -> Emerald |
|
|
| **Fletching Table** | Fletcher | 32 Sticks -> 1 Emerald, Arrows, Flint |
|
|
| **Composter** | Farmer | Wheat, Potatoes, Carrots, Beetroots, Bread |
|
|
| **Blast Furnace** | Armorer | Coal -> Emerald, Iron Armor (Helmet, Chestplate, Leggings, Boots) |
|
|
| **Smithing Table** | Toolsmith | Coal -> Emerald, Iron Tools (Pickaxe, Axe, Shovel, Hoe) |
|
|
| **Grindstone** | Weaponsmith | Coal -> Emerald, Iron Sword, Iron Axe |
|
|
| **Smoker** | Butcher | Raw Chicken, Porkchop, Rabbit -> Emerald, Cooked Food |
|
|
| **Brewing Stand** | Cleric | 32 Rotten Flesh -> 1 Emerald, Redstone Dust |
|
|
| **Barrel** | Fisherman | Raw Cod, Raw Salmon, Campfire |
|
|
| **Cartography Table** | Cartographer | 24 Paper -> 1 Emerald, Blank Map |
|
|
| **Cauldron** | Leatherworker | Leather -> Emerald, Leather Armor |
|
|
| **Stonecutter** | Mason | 10 Clay Balls -> 1 Emerald, Bricks |
|
|
| **Loom** | Shepherd | 18 Wool -> 1 Emerald, Shears |
|
|
|
|
---
|
|
|
|
## 📥 Installation
|
|
|
|
1. Install **[Fabric Loader](https://fabricmc.net/use/)** (`0.19.5` or newer) for Minecraft `26.3`.
|
|
2. Download **[Fabric API](https://modrinth.com/mod/fabric-api)** (`0.161.0+26.3` or compatible).
|
|
3. Download the latest `villager-roller-1.0.0.jar` from the [Releases](../../releases) tab (or find it in the `release/` folder).
|
|
4. Place both `.jar` files into your `.minecraft/mods` folder.
|
|
5. Launch Minecraft using your Fabric profile.
|
|
|
|
---
|
|
|
|
## 🛠️ Building from Source
|
|
|
|
### Requirements
|
|
- **JDK 25** or newer
|
|
- Internet connection (for Gradle dependency resolution)
|
|
|
|
### Build Commands
|
|
Clone or download the repository, open a terminal in the project directory, and execute:
|
|
|
|
```bash
|
|
# Windows
|
|
.\gradlew clean build
|
|
|
|
# macOS / Linux
|
|
chmod +x gradlew
|
|
./gradlew clean build
|
|
```
|
|
|
|
The compiled mod JAR will be output to:
|
|
```
|
|
build/libs/villager-roller-1.0.0.jar
|
|
```
|
|
|
|
---
|
|
|
|
## 📂 Project Organization
|
|
|
|
This repository is maintained with a clean release workspace layout:
|
|
- **`src/`**: Mod source code, Mixins, UI components, and localization files.
|
|
- **`release/`**: Ready-to-use compiled release `.jar` binaries for easy distribution.
|
|
- **`.gitea/workflows/` & `.github/workflows/`**: Automated CI pipelines that build, test, and package release artifacts on every push or tag.
|
|
|
|
---
|
|
|
|
## 📄 License
|
|
|
|
This project is open source and available under the [MIT License](LICENSE).
|