Villager Cycle

A Minecraft Fabric mod that adds a button to refresh villager trades.

22,94k

Quick challenge

How far can you run before the mobs catch you?

Villager Cycle

Villager Cycle

A Quality of Life mod for Minecraft Fabric that adds a button to villager trading screens, allowing you to refresh their trades before making any purchases.

Features

- Anti-Exploit Protection: Customizable button above the villager trading GUI - Anti-Exploit Protection: Reposition the button via drag screen - Anti-Exploit Protection: Trade offers refresh instantly without closing the GUI - Anti-Exploit Protection: Keyboard and mouse button bindings for all mod functions - Anti-Exploit Protection: Set limits on how many times trades can be cycled (per villager) - Anti-Exploit Protection: Optional feature (operator-controlled on servers) - Anti-Exploit Protection: Only works on valid villagers (must have profession, not traded with) - Anti-Exploit Protection: All validation happens server-side - Anti-Exploit Protection: Clears trade input slots to prevent item duplication

Installation

1. Download from Releases 2. Place `.jar` in your `.minecraft/mods` folder 3. Required: Fabric API (version matched to your MC version) 4. Recommended: Cloth Config 20.0.149+ (enhanced config UI, not available for MC 26.1) 5. Recommended: ModMenu 16.0.0+ (in-game config access) 6. Launch Minecraft with Fabric Loader 0.18.4+

How to Use

1. Open a villager's trading interface 2. Click the "Cycle Trades" button (or use the keybind) 3. The villager's Level 1 trades will regenerate with new offers

Configuration

Config File Location

- Linux: `%appdata%.minecraftconfigvillagercycle.json` - Linux: `~/Library/Application Support/minecraft/config/villagercycle.json` - Linux: `~/.minecraft/config/villagercycle.json`

Options

```json { "enableCycleButton": true, "allowWanderingTraders": false, "showSuccessMessage": true, "showWanderingTraderSuccessMessage": true, "villagerCycleLimit": -1, "wanderingTraderCycleLimit": 1, "buttonOffsetX": 6, "buttonOffsetY": -25, "buttonWidth": 100, "buttonHeight": 20 } ```

| Option | Default | Description | |--------|---------|-------------| | `enableCycleButton` | `true` | Show/hide the cycle button | | `showSuccessMessage` | `true` | Show villager cycle success message (client-side) | | `showWanderingTraderSuccessMessage` | `true` | Show wandering trader success message (client-side) | | `allowWanderingTraders` | `false` | Enable wandering trader cycling (operator only on servers) | | `villagerCycleLimit` | `-1` | Max cycles per villager: -1=unlimited (operator only on servers) | | `wanderingTraderCycleLimit` | `1` | Max cycles per wandering trader: -1=unlimited (operator only on servers) | | `buttonOffsetX/Y` | `6`/`-25` | Button position offset from GUI | | `buttonWidth/Height` | `100`/`20` | Button dimensions (pixels) |

Keybinds

All keybinds are unbound by default. Set them in Options → Controls → Villager Cycle.

Supports both keyboard keys and mouse buttons (e.g., Mouse Button 4/5).

| Keybind | Function | |---------|----------| | Toggle Button Visibility | Show/hide the cycle button | | Open Button Position Screen | Open drag screen to reposition button | | Open Config Screen | Open the mod configuration screen | | Reload Config File | Reload config from disk | | Cycle Trades | Cycle trades while in merchant screen (keyboard or mouse) |

Singleplayer vs Multiplayer

- Multiplayer: All features available with full control over all settings. - Multiplayer: Operator permission (level 4) required for: - Allow Wandering Traders toggle - Villager Cycle Limit - Wandering Trader Cycle Limit

Success message toggles are client-side — each player controls their own preference.

Limitations

- Only works on villagers not yet traded with - Only works on villagers with valid professions (not Nitwits/Unemployed) - Only refreshes Level 1 trades (experience level 0) - Items in trade slots are returned to inventory when cycling

Technical Requirements

- ModMenu: 1.21.9, 1.21.10, 1.21.11, or 26.1 - ModMenu: 0.18.4+ - ModMenu: 21+ (Java 25+ for MC 26.1) - ModMenu: Required (version matched to your MC version) - ModMenu: Optional, recommended (not available for MC 26.1 as of late) - ModMenu: Optional, recommended

License

MIT License — Free to include in modpacks.

Support

Open an issue on GitHub for bugs or suggestions.

Author

Created by Partacus-SPQR

ADS