Villager Tradings
Custom trading villagers with configurable multi-item recipes for Fabric and NeoForge.
Features
- Spawn persistent custom villagers with
/villager spawn <name> <outcome_item> <required_items...>. - Multi-input trades (3 inputs per row in UI), custom trade screen with themed background.
- Default settings for invulnerability and freeze; toggles via
/villager settings. - Persistent trade and villager data across dimensions.
Commands
/villager spawn <name> <outcome_item> <required_items...>— create a trader. Example:/villager spawn bookseller minecraft:enchanted_book:1 minecraft:paper:16 minecraft:emerald:2./villager delete <name>— remove a trader./villager find <name>— locate a trader and get a teleport suggestion./villager list [page]— list tracked traders./villager settings invulnerable <true|false> [villager]— set default or specific villager invulnerability./villager settings freeze <true|false> [villager]— set default or specific villager AI/freeze.
Permission: villager_tradings.command.villager (Fabric Permissions API v0/v1 if present), otherwise OP level 3.
Usage Tips
- Required items are space-separated
<item>:<count>tokens; use namespaces (e.g.,minecraft:emerald:3). - Trades consume all listed inputs; the in-game UI always reflects the full input list even if the merchant offer uses the first two slots.
- Custom villagers are tracked/persisted; when they die, their trades are cleaned up.
Building
./gradlew build
Artifacts for Fabric and NeoForge are produced under each subproject’s build/libs with the villager_tradings prefix.
External resources
Project members

Pankraz01
Member
Technical information
License
MIT
Client side
required
Server side
required
Project ID
