Migration to 1.20.4

Migrate Farming for Blockheads data to 1.20.4+

Trying to migrate to 1.21.2?

This tool only migrates data that from versions prior to Minecraft 1.20.4 to the format required by Minecraft 1.20.4 up until including 1.21.1.

If you have data that was already migrated to 1.20.4 but need to use it in 1.21.2, try using the next migrator instead.

How to migrate Group Overrides

”Groups” have been replaced by presets, which included a renaming to be more consistent and guessable.

Instead of “Pam’s HarvestCraft 2 Trees Saplings” which has a million different ways of spelling and capitalizing it, the preset that represents this group is now called “pamhc2trees:saplings”, where pamhc2trees is the mod id.

If you want to simply enable or disable a preset, you can do so without an override now by adding it to either enabledOptionalPresets or disabledDefaultPresets.

If you want to change the default price of a preset’s items, you can override the preset’s data just like you would override any other data in a data pack, i.e. by placing a json file at the same location.

How to migrate Entry Overrides

Market Items are now defined using Minecraft’s recipe system, with each item being defined in its own individual file.

That means you can easily override these in a data pack by placing a file at the same location, or using a mod like CraftTweaker and its addJsonRecipe() function.

Note for Minecraft 1.20.6+

Minecraft 1.20.6 and above have replaced NBT in items with components. Reference the Minecraft Wiki for a list of components.

This example adds an enchantment as well as a localized custom name to an enchanted book:

{
  "type": "farmingforblockheads:market",
  "result": {
    "item": "minecraft:enchanted_book",
    "components": {
      "minecraft:stored_enchantments": {
        "levels": {"minecraft:wind_burst": 3}
      },
      "minecraft:custom_name": "[{\"translate\": \"enchantment.minecraft.wind_burst\"}, {\"text\": \" 3\"}]"
    }
  }
}