-
Notifications
You must be signed in to change notification settings - Fork 0
Villages
Added in v1.19.0. RPGMood layers seasonal trade offers, a Deep Dark wandering-trader gimmick, per-village reputation, and light cartographer quests on top of vanilla villager trading — emeralds and crops only, no custom currency or economy. Everything here is driven entirely by vanilla trade interactions; there's no dedicated command. Configured under villagers in config.yml — see Configuration → villagers.
Opening a trade menu with a Farmer or Cleric villager injects extra seasonal buy/sell offers matching the current season, on top of (not replacing) their normal vanilla trades:
-
Farmer — buys the season's crops from you in bulk (
villagers.seasonal_trades.sell_crop_count, default8) for emeralds (sell_reward_emeralds, default1). -
Cleric — sells the season's crops to you for emeralds (
buy_price_emeralds, default2per crop).
Which crops are in season is read from villagers.seasonal_trades.spring/summer/autumn/winter (e.g. spring: Carrot, Potato, Sweet Berries) — the same 4-season cycle Farming uses, but a separate list from farming.yml's own season crops, so you can tune villager offers independently of what's actually harvestable. Each seasonal trade slot supports up to max_uses (default 12) before it's exhausted; trades are re-injected (and re-rolled fresh) the next time that villager's menu opens.
Completing any seasonal trade unlocks the Seasonal Shopper achievement; completing any villager or wandering-trader trade at all unlocks Market Day.
A Wandering Trader standing in the Deep Dark — or being traded with by a player who is themselves in the Deep Dark (real biome or the Deep Dark subzone) — gets two extra offers injected into their menu:
| Item | Price (emeralds) |
|---|---|
| Echo Shard |
wandering_deep_dark.echo_price (default 12) |
| Sculk Sensor |
wandering_deep_dark.sensor_price (default 8) |
Each capped at wandering_deep_dark.max_uses (default 4) uses. Completing one of these trades unlocks Deep Broker.
Trading with a Villager (not a Wandering Trader) inside a detected village grants villagers.rep.per_trade (default 1) reputation, tracked per-player, per-village in plugins/RPGMood/villagerep.yml. A village is identified by the world + chunk coordinates of the nearest Village-type structure within subzones.structures.chunk_radius (see Zones → Subzones) of the trade — so reputation is scoped to that village specifically, not a single server-wide total.
With villagers.rep.show_overlay (default true), each gain shows a chat message: Village rep +1 (6). The %rpgmood_village_rep% PlaceholderAPI placeholder exposes the sum of a player's reputation across every village they've ever traded in.
Reaching 25 reputation in any single village unlocks Local Favorite.
Opening a trade menu with a Cartographer villager while near a detected village offers a light quest, if you don't already have one active:
-
Deliver crops — bring
villagers.quests.deliver_count(default16) of a randomly-picked in-season crop, progressed by spending that crop in any trade at that village (not necessarily with the Cartographer). -
Spend emeralds — spend
villagers.quests.emerald_spend(default8) emeralds specifically on Cartographer trades.
Only one quest is active per player at a time; re-opening the Cartographer's menu with a quest already active shows its current progress instead of offering a new one. Completing a quest awards villagers.quests.rep_reward (default 5) reputation to that village and unlocks Cartographer's Errand.
Five achievements are tied to this system — see Achievements for full requirements:
| Achievement | Category | Trigger |
|---|---|---|
| Market Day | Farming | Complete any villager or wandering-trader trade |
| Seasonal Shopper | Farming | Complete a seasonal Farmer/Cleric trade |
| Deep Broker | Exploration | Trade with a wandering trader in the Deep Dark |
| Cartographer's Errand | Exploration | Complete a cartographer village quest |
| Local Favorite | Exploration | Reach 25 reputation in a single village |
All of the above lives under villagers in config.yml — see Configuration → villagers for the full key reference. Set villagers.enabled: false to disable the entire system (seasonal trades, Deep Dark trader, reputation, and quests all at once); the sub-sections each have their own enabled flag too if you only want to turn off one piece.