Data Driven Villager Trades are unable to be fully modified.
#data/minecraft/trade_set/armorer
#level_1.json
{
"amount": 5.0,
"random_sequence": "minecraft:trade_set/armorer/level_1",
"trades": "#minecraft:armorer/level_1"
}
The change from 2.0 to 5.0 in this example does work as viewed in game.
However…
#data/minecraft/villager_trade/armorer/1/
#level_1.json{
"replace" :true,
"values": [
"minecraft:armorer/1/coal_emerald_new",
"minecraft:armorer/1/emerald_iron_leggings",
"minecraft:armorer/1/emerald_iron_boots",
"minecraft:armorer/1/emerald_iron_helmet",
"minecraft:armorer/1/emerald_iron_chestplate"
]
}Fails to use the 1st listed trade (Shown in the attached image, the `coal` trade should be 20 instead of 15
The individual trades for chainmail chestplates were able to be relocated to the recently named file and it’s dependencies locations, and appear in game. But the trade for coal, will not show.
The world was exited, saved, the game closed, and reloaded before attempting to observe changes.
As well, changing the "random_sequence": directory, makes no change in the appearance of trades. While the default is ‘random’ there appears no way to turn off/disable the random selection of trades.
In summary:
- Trade’s per Level of profession do change as expected
- New/Different Trades, coppied from else where, into different levels of profession do not appear in game
- Currently no ability to disable the ‘random_sequence’ as the location for it’s ‘source’ doesn’t contain a file dictating the order. As well, the file order found within isn’t reflected in game.
Attachments
Comments 3
Additional investigation showed
"amount":does alter the total number of trades per profession level. This doesn’t require addition of"replace" :true,Only trades, from the same profession can be swapped between levels. This requires the addition of
"replace" :true,to the start of the#data/minecraft/villager_trade/<profession>/<#>/ level_#.jsonExample: Chain Mail armor trades of the Armorer are able to be taken from later profession levels, and placed/offered as a Novice level.No trade with a different file name, than those provided by default, are viewed as valid. Despite the file names and folders being correct, the error given will always be:
Couldn't load tag minecraft:<profession>/level_# as it is missing following references: minecraft:<profession>/<#>/<trade.json> (from file/<datapack_folder_name>).
Thank you for helping us improve Minecraft! We saved your files: