BetterTradeConvoys is a Minecraft plugin that replaces static trading with dynamic NPC convoys.
Players can invest items into a Citizens NPC, who will walk a real route through the world and return with rewards β if they survive.
This introduces risk, PvP opportunities, and a player-driven economy layer.
If you have any questions or need help, feel free to join my Discord: https://discord.gg/gBEKWGanM7
-
πΆ Dynamic Trade Routes
- NPCs walk along configured waypoints (
routes.yml). - Special
trade-stops make the NPC wait for a set duration. - If the NPC reaches the last waypoint, the owner can claim rewards.
- NPCs walk along configured waypoints (
-
βοΈ PvP & Risk
- NPCs can be attacked by anyone.
- On death, they drop the carried items.
- Owners must protect their convoy if they want the rewards.
-
β³ Limits & Cooldowns
- Configure daily, weekly, and monthly limits per route (set to
-1for unlimited). - Route-specific cooldowns for each player.
- Configure daily, weekly, and monthly limits per route (set to
-
π Flexible Configuration
- Define NPCs by Citizens NPC-IDs.
- Control movement speed, follow-radius, and expiration timers.
- Enable/disable global start announcements.
- Define waypoints and routes via coordinates.
-
π¦ Trade System
- Define input β output trades per route.
- Supports custom items from other plugins (Oraxen, Nexo, ItemsAdder, Divinity, MMOCore) via API hooks.
-
π Persistent Data
- Progress, cooldowns, and claims survive restarts.
- If the server stops mid-run, convoys fail gracefully.
-
π³οΈ Language Customization
- All messages configurable in
language.yml.
- All messages configurable in
Example routes.yml:
routes:
iron_to_diamond:
display-name: "Iron β Diamond Run"
npc-ids: [1234, 2343]
waypoint-world: "world"
speed: 1.15
follow-radius: 24
expire-seconds: 900
announce-start: true
trade-delay-seconds: 8
steps:
- { x: 100.5, y: 64.0, z: -30.5 }
- { x: 120.5, y: 64.0, z: -30.5 }
- trade
- { x: 140.5, y: 64.0, z: -15.5 }
trades:
- input: { material: IRON_INGOT, amount: 20 }
output: { material: DIAMOND, amount: 10 }
# Custom item example using Oraxen & ItemsAdder
- input: { plugin: oraxen, id: custom_iron, amount: 5 }
output: { plugin: itemsadder, id: my_items:diamond_crate, amount: 1 }
daily-limit: 3
weekly-limit: 10
monthly-limit: 30
cooldown-seconds: 3600- Minecraft (Paper/Spigot)
1.20+ - Citizens
2.0.39+build matching your server version - Java
21
- Install Citizens matching your server version.
- Download the latest
BetterTradeConvoys-x.x.jar. - Place it into your serverβs
plugins/folder. - Restart the server to generate configs (
routes.yml,language.yml). - Configure your routes and NPC IDs.
- Integration with Vault economy for trade costs/rewards