Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Creators
Details
Adds fully dynamic, traveling merchant caravans that roam your world. Whether you want to be a loyal protector, a wealthy trader, or a ruthless bandit — the choice is yours.
A Living, Breathing World

Explore the world and meet traveling caravans between villages: protect or rob them — the choice is yours!
Caravans will dynamically spawn around you as you explore. They travel naturally, seeking out nearby villages or wandering the wilderness, occasionally pausing to rest.

Trade with the caravan to get valuable goods!
Each caravan offers a unique set of trades. But they don't just carry items in their pockets — look out for the pack animals! Mules, llamas, and camels carry chests filled with resources that you can loot (if you're feeling villainous).
Dynamic Events & Raids

Defend the caravan during an ambush to earn XP and exclusive trade discounts!
Travel is dangerous. If you hang around a caravan for too long, a mini-raid might trigger! Raiders will ambush the merchants. If you step in and protect the caravan, the merchants will reward you with experience points and lower prices.
Biome Variations & Exploration

Caravan styles and animals change dynamically depending on the biome!
Caravans adapt to their surroundings. You'll see Camels leading the way in Deserts and Badlands, Llamas in freezing mountain peaks, and Mules in temperate forests. Even the loot hidden inside their chests changes based on the biome!

Discover abandoned caravan stops along your journey and loot their hidden resources.
Keep an eye out for randomly generated Caravan Stops scattered across the world. They offer a safe resting place and barrels with free loot.

Earn special achievements for interacting with or defending caravans!
Installation Note: Because this mod adds new entities, behaviors, and world generation, it must be installed on both the Client and the Server.
Play in your language: The mod ships fully translated into 10 different languages right out of the box: English, Russian, Simplified Chinese, Spanish, French, German, Japanese, Brazilian Portuguese, Korean, and Italian.
Please report any bugs, errors, or feature suggestions on Discord: https://discord.gg/4XUPywnEyE
For Server Admins & Modpack Makers
Better Caravans is highly customizable. Every feature—from spawn rates and animal types to raid chances and custom trades—can be configured or changed via Datapacks. Supports Forge 1.20.1 and NeoForge 1.21.1.
Configuration
You have full control over all systems. Edit the config file here:
<server>/config/bettercaravans-common.toml
[Spawning] — Caravan spawn & movement
| Key | Description |
|---|---|
min/max_spawn_delay_seconds |
Per-player hidden timer range before each spawn attempt. |
spawn_chance |
Chance for a spawn attempt to succeed after timer expires. |
min_distance_between_caravans |
Prevents spawning if another caravan is too close. |
spawn_min/max_distance |
Spawn ring around player (outside direct face spawn). |
despawn_distance |
Caravan despawns if all players are farther than this distance. |
caravan_lifespan_days |
Max caravan life in in-game days. |
village_search_radius |
Radius for nearest village target lookup. |
caravan/villager/raider_move_speed |
Movement speed multipliers. |
caravan_wander_min/max_seconds |
How long fallback travel direction is kept without a village. |
caravan_wander_min/max_distance |
Distance range for fallback waypoints. |
caravan_pause_check_interval... |
How often caravan checks if it should pause, and the chance to do so. |
[Composition] — Who is in a caravan?
| Key | Description |
|---|---|
min/max_villagers |
Number of villager companions per caravan. |
min/max_animals |
Number of animals per caravan member (determines length). |
enable_biome_specific_animals |
Uses camel/llama/mule based on the current biome. |
enable_golem_guard (& chance) |
Enables optional iron golem guard. |
enable_chested_animals |
Enables chest-bearing pack animals. |
enable_biome_chested_animal_loot |
Enables biome-themed chest loot profiles (see example below). |
Biome Loot Array Example:
You can easily customize what items drop from pack animals by editing these arrays. Format: "item_id,min,max".
[Composition]
enable_biome_chested_animal_loot = true
temperate_chest_loot = [
"minecraft:wheat,6,16",
"minecraft:hay_block,1,4",
"minecraft:emerald,1,4"
]
[Trading] & [Mini_Raid] — Economy and Ambushes
| Key | Description |
|---|---|
min/max_trades |
How many offers are selected from the datapack trade pool. |
enable_mini_raids |
Turns raider ambushes on/off globally. |
raid_trigger_seconds |
Required nearby time before rolling raid chance. |
raid_chance |
Probability of an ambush occurring. |
min/max_raiders |
Raider count range. |
xp_reward_for_raid |
XP rewards for successful defense. |
min/max_discount_percent |
Random discount range granted to participants after a win. |
(The config also includes detailed settings for raid sounds, raider glowing effects, and world-gen settings for caravan stops like enable_caravan_stops and structure_generation_chance).
Datapack-Driven Trades
The entire trade pool is loaded via JSON. You can easily add, remove, or rebalance items using a standard datapack structure at:
data/bettercaravans/caravan_trades/*.json
Example Trade JSON:
{
"trades": [
{
"buy_item": "minecraft:emerald",
"buy_count": 6,
"sell_item": "minecraft:golden_carrot",
"sell_count": 8,
"max_uses": 8,
"villager_xp": 5,
"price_multiplier": 0.06,
"weight": 6
}
]
}
Tip: Use /bettercaravans trade_reload in-game to refresh trade files without restarting the server!
Debug Commands
Want to test your setup? We've included commands for admins. To use them, you must set enable_commands = true in the [Commands] section of the config.
/bettercaravans spawn [here]- Forces a caravan to spawn./bettercaravans despawn- Removes the nearest caravan./bettercaravans raid start / kill_enemies- Manages raids./bettercaravans stop place / find- Tests caravan stop world-gen./bettercaravans info- Inspects the nearest caravan's state.
Need help or have a suggestion? Join our Discord: https://discord.gg/4XUPywnEyE



