{"id":54451,"date":"2026-06-03T03:52:08","date_gmt":"2026-06-03T00:52:08","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/"},"modified":"2026-06-03T03:52:08","modified_gmt":"2026-06-03T00:52:08","slug":"data-trades","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/","title":{"rendered":"Data Trades"},"content":{"rendered":"<p>[ISSUES]: https:\/\/github.com\/PssbleTrngle\/DataTrades\/issues<\/p>\n<p>[DOWNLOAD]: https:\/\/www.curseforge.com\/minecraft\/mc-mods\/data-trades\/files<\/p>\n<p>[CURSEFORGE]: https:\/\/www.curseforge.com\/minecraft\/mc-mods\/data-trades<\/p>\n<p>[MODRINTH]: https:\/\/modrinth.com\/mod\/data-trades<\/p>\n<p># Data Trades <\/p>\n<p>This mod adds the ability for players, serverowners or modpack creators to overwrite villager trades using datapacks.<br \/>\nThe amount of trades per level and the actual items traded can be customized using json files.<br \/>\nA command for development purposes called `\/villagers refresh` will manually trigger a re-asign of trades to all loaded villagers.<\/p>\n<p>## Folder Structure<\/p>\n<p>Using a datapack, the trades of a specific villager profession can be overwritten by creating a JSON file following this<br \/>\npattern:<\/p>\n<p>&#8220;`<br \/>\ndata\/[namespace]\/villager\/professions\/[path].json<br \/>\n&#8220;`<\/p>\n<p>`[namespace]` and `[path]` should be overwritten by the specific villager professions ID.<br \/>\nFor example, to create trades for the `minecraft:fletcher` profession,<br \/>\na file under `data\/minecraft\/villager\/professions\/fletcher.json` should be created.<br \/>\nIt&#8217;s content should follow the [*Profession*](#profession) Schema<\/p>\n<p>Similar, the wandering trader can be overwritten by adding a file at<br \/>\n&#8220;`<br \/>\ndata\/minecraft\/villager\/traders\/wandering.json<br \/>\n&#8220;`<br \/>\nfollowing the [*Trader*](#trader) Schema<\/p>\n<p>## Examples<\/p>\n<p>Datapacks with examples can be found here.<\/p>\n<p>## JSON Schema<\/p>\n<p>The JSON file should contain an object with these properties:<\/p>\n<p>### *Profession*<\/p>\n<p>| Property | Type                  | Default | Description                |<br \/>\n|&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| levels   | *map<int,TradeLevel>* | `{}`    | *see below*                |<\/p>\n<p>The `levels` object takes the form of a map with numeric keys and object values.<br \/>\nThe keys represent the actual villagers level with *1* being *Novice* until *5* being *Master*.<\/p>\n<p>### *Trader*<\/p>\n<p>| Property | Type         | Default | Description    |<br \/>\n|&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| generic  | *TradeLevel* | `null`  | generic trades |<br \/>\n| rare     | *TradeLevel* | `null`  | rare trades    |<\/p>\n<p>In vanilla minecraft, each wandering trader chooses 5 generic and 1 rare trades once it spawns.<br \/>\nBoth the trades themselves and their count can be overwritten using the same format as the one used for a villager&#8217;s level.<\/p>\n<p>### *TradeLevel*<\/p>\n<p>| Property | Type                                                                                  | Default | Description                                                   |<br \/>\n|&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|<br \/>\n| take     | *NumberProvider* | `null`  | amount of trades added by this level                          |<br \/>\n| trades   | (*Trade* | *string*)[]                                                               | `[]`    | list of trades from which the taken ones are randomly choosen |<\/p>\n<p>### *Trade*<\/p>\n<p>| Property        | Type                | Default | Description                                |<br \/>\n|&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;|<br \/>\n| disabled        | *boolean*           | `false` | disabled trades will be ignored            |<br \/>\n| sells           | *TradeIngredient*   | `[]`    | item sold to the player                    |<br \/>\n| wants           | *TradeIngredient*[] | `[]`    | maximum of two items the player has to pay |<br \/>\n| uses            | *int*               | `0`     |                                            |<br \/>\n| maxUses         | *int*               | `10`    |                                            |<br \/>\n| xp              | *int*               | `1`     |                                            |<br \/>\n| priceMultiplier | *float*             | `2.0`   |                                            |<br \/>\n| demand          | *int*               | `0`     |                                            |<\/p>\n<p>### *TradeIngredient*<\/p>\n<p>Extension of the vanilla `Ingredient` with a few extra properties.<br \/>\nThey can take the form of an item or tag and specify all properties of the vanilla Ingredient JSON.<br \/>\nSince Villager trades are `ItemStack` based that does not mean that a player can pay a `#minecraft:stone_tool_materials`<br \/>\nwith any stone type, but only the one that is randomly selected from the tag each time the trade is used.<\/p>\n<p>| Property  | Type                                                                | Default |<br \/>\n|&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;|<br \/>\n| functions | *LootFunction*[] | `[]`    |<br \/>\n| count     | *int*                                                               | `null`  |<\/p>\n<p>The `levels` object takes the form of a map with numeric keys and object values.<br \/>\nThe keys represent the actual villagers level with *1* being *Novice* until *5* being *Master*.<\/p>\n<p>## Advanced Usage<\/p>\n<p>Instead of a `Trade` object, the TradeLevel `trades` property can also contain *string* IDs referencing an external<br \/>\ntrade.<br \/>\nThese trades can be saved under the path below to organize &#038; reuse them.<\/p>\n<p>&#8220;`<br \/>\ndata\/[namespace]\/villager\/trades\/[path].json<br \/>\n&#8220;`<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Allows easy customization of villager trades using datapacks<\/p>\n","protected":false},"featured_media":54452,"template":"","meta":{"_minecraft_slug":"data-trades","_minecraft_project_id":"nm1MuVrD","_minecraft_author":"possible_triangle","_minecraft_license":"CC0-1.0","_minecraft_downloads":10070,"_minecraft_follows":40,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"data-trades.zip","_minecraft_size_bytes":1674633,"_minecraft_version_count":28,"_minecraft_updated_at":"2026-05-16T06:01:11.344774Z","_minecraft_date_created":"2023-08-04T10:10:10.351386Z","_minecraft_date_modified":"2024-08-20T13:30:19.773677Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/data-trades","_minecraft_icon_attachment_id":54452,"_minecraft_imported_at":"2026-06-03T00:52:08+00:00","_minecraft_import_hash":"0e5f54bb2faa2efe583544d6f5d844e6","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[844,97,104,126,158,92],"mod_loader":[99],"minecraft_version":[56,36,37],"class_list":["post-54451","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-economy","mod_category-fabric","mod_category-forge","mod_category-management","mod_category-neoforge","mod_category-utility","mod_loader-fabric","minecraft_version-1-19-2","minecraft_version-1-20-1","minecraft_version-1-21-1"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Data Trades - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Data Trades - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Allows easy customization of villager trades using datapacks\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/data-trades\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/data-trades\\\/\",\"name\":\"Data Trades - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/data-trades\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/data-trades\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/data-trades-icon-4f2bf84a40b56fc0153da2b90730b5166713d0d5_96.webp\",\"datePublished\":\"2026-06-03T00:52:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/data-trades\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/data-trades\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/data-trades\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/data-trades-icon-4f2bf84a40b56fc0153da2b90730b5166713d0d5_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/data-trades-icon-4f2bf84a40b56fc0153da2b90730b5166713d0d5_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/data-trades\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Data Trades\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Data Trades - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/","og_locale":"en_US","og_type":"article","og_title":"Data Trades - Minecraft","og_description":"Allows easy customization of villager trades using datapacks","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/","name":"Data Trades - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/data-trades-icon-4f2bf84a40b56fc0153da2b90730b5166713d0d5_96.webp","datePublished":"2026-06-03T00:52:08+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/data-trades-icon-4f2bf84a40b56fc0153da2b90730b5166713d0d5_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/data-trades-icon-4f2bf84a40b56fc0153da2b90730b5166713d0d5_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/data-trades\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Data Trades"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/54451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/54452"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=54451"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=54451"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=54451"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=54451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}