Mystical Customization

by BlakeBr040.4M downloadsForge

Add and edit crops in Mystical Agriculture!

Mods1.20.xAddonsFarmingOres and ResourcesCurseForgeSource

Mystical Customization Guide: Adding & Editing Crops in Mystical Agriculture

Mystical Customization is an addon for Mystical Agriculture that puts you in control of the crop system. Create entirely new crops, define custom crop tiers and types, add new Mob Soul Types, and tweak every existing crop to your liking. All configuration is done through simple JSON files, making it an essential tool for modpack creators and players who want to tailor their Mystical Agriculture experience.

Overview

Mystical Customization is a pure configuration addon for Mystical Agriculture. It does not add any items, blocks, or recipes on its own. Instead, it gives you the power to create brand-new crops, crop tiers, crop types, and Mob Soul Types, as well as modify every existing one, all through JSON files in your config folder. You can also enable or disable Augments from Mystical Agriculture.

Everything the mod does happens at startup. When Minecraft loads, Mystical Customization reads your JSON configuration files from config/mysticalcustomization/ and registers new content or applies modifications before the game finishes loading. If any errors occur, they are logged and also displayed as chat messages when you join a world.

This mod is primarily aimed at modpack developers, but any player comfortable editing JSON files can use it. Whether you want to add a crop for a material from another mod, rebalance existing crop tiers, or disable crops you find overpowered, Mystical Customization is the tool for the job.

Prerequisites

Mystical Customization requires Mystical Agriculture to be installed. It hooks directly into Mystical Agriculture's crop registry, tier system, type system, mob soul type registry, and augment registry through the official API plugin system. Without Mystical Agriculture present, this mod does nothing.

You should have a basic understanding of how Mystical Agriculture works before diving into customization. Familiarity with crop tiers (Inferium through Supremium), crop types (Resource, Mob, etc.), and the seed crafting/infusion system will make the configuration process much smoother.

Getting Started

  1. 1

    Launch the game once to generate config folders

    After installing Mystical Customization, launch Minecraft and load into a world at least once. The mod automatically creates the config/mysticalcustomization/ directory along with empty template files: configure-crops.json, configure-tiers.json, configure-types.json, configure-mobsoultypes.json, and configure-augments.json. It also creates subdirectories for new content: crops/, tiers/, types/, and mobsoultypes/.

  2. 2

    Understand the two modes: Create vs. Configure

    Mystical Customization works in two distinct ways. To create new content, you place individual JSON files in the appropriate subdirectory (e.g., a new crop goes in crops/my_crop.json). To modify existing content, you edit the corresponding configure-*.json file in the main directory and reference existing IDs.

  3. 3

    Try a simple modification first

    Open configure-crops.json and try disabling a crop you don't want. For example, to disable the Diamond crop, add: { "mysticalagriculture:diamond": { "enabled": false } }. Save the file and restart Minecraft. The Diamond crop seeds, essence, and related items will no longer appear.

  4. 4

    Create your first custom crop

    Create a new file in the crops/ directory, for example my_custom_crop.json. At minimum, you need to specify a tier, a type, and an ingredient. The filename (without .json) becomes the crop's ID under the mysticalcustomization namespace. Restart Minecraft to see your new crop in action.

  5. 5

    Check for errors in chat

    When you join a world, Mystical Customization displays any configuration errors directly in chat. If you see a message starting with "Mystical Customization errors have occurred," check the details carefully. Errors are grouped by category (Crops, Crop Tier, Crop Type, Mob Soul Type, Augment) and will tell you exactly what went wrong, such as an invalid tier ID or a missing required field.

Restart Required

All configuration changes require a full Minecraft restart to take effect. The JSON files are read during the mod loading phase, which happens before any world is loaded. Simply reloading a world or using /reload will not apply your changes.

Directory Structure

The mod uses a clean folder layout inside your Minecraft instance's config directory. Understanding this structure is key to using Mystical Customization effectively.

Creating New Content (Subdirectories)

Each subdirectory holds JSON files that define brand-new entries. One JSON file equals one new entry. The filename (minus the .json extension) becomes the entry's ID under the mysticalcustomization namespace.

crops/ holds new crop definitions. tiers/ holds new crop tier definitions. types/ holds new crop type definitions. mobsoultypes/ holds new Mob Soul Type definitions.

Modifying Existing Content (Configure Files)

The configure files in the main directory let you edit properties of content that already exists in Mystical Agriculture or other addons. Each file is a JSON object where the keys are resource location IDs (like mysticalagriculture:diamond) and the values are objects containing only the properties you want to change.

configure-crops.json modifies existing crops. configure-tiers.json modifies existing crop tiers. configure-types.json modifies existing crop types. configure-mobsoultypes.json modifies existing Mob Soul Types. configure-augments.json modifies existing Augments.

Creating Custom Crops

Custom crops are the core feature of Mystical Customization. To create a new crop, place a JSON file in config/mysticalcustomization/crops/. The file requires two mandatory fields: tier (the crop tier ID, like mysticalagriculture:1) and type (the crop type ID, like mysticalagriculture:resource).

Crop Properties

The ingredient field defines the crafting material for the seed recipe. It accepts either an item key (for a specific item, optionally with nbt data) or a tag key (for an item tag). For example: { "item": "minecraft:emerald" } or { "tag": "forge:ingots/copper" }.

Colors can be set with a single color field (hex string like "ff5500") that applies to all parts, or with a colors object containing separate flower, essence, and seeds hex values for fine-grained control.

Custom textures can be specified through the textures object with keys for flower, essence, and seeds. If not specified, the crop defaults to the blank ingot-style textures that get tinted by the color values.

Additional optional properties include name (custom display name), enabled (true/false to toggle the crop), crux (a block ID that must be placed below the farmland for the crop to grow), glint (adds the enchantment shimmer effect to the items), biomes (an array of biome IDs the crop can only grow in), baseSecondaryChance (the chance for a secondary drop), and respectsEffectiveFarmland (whether the crop requires its tier's specific farmland).

Custom Essence Output

Use the essence property to make your crop drop a custom item instead of its default essence. Set it to any item ID like "minecraft:diamond" and the crop will directly drop that item when harvested, bypassing the essence-to-material crafting step entirely.

Recipe Control

Each crop has a recipes object that controls which automatic recipes Mystical Agriculture generates for its seeds. Three recipe types can be individually toggled: crafting (the Crafting Table seed recipe), infusion (the Infusion Altar seed recipe), and reprocessor (the Seed Reprocessor recipe). Set any of these to false to prevent that recipe from being generated. This is useful when you want to create custom recipes through a datapack instead of using the default patterns.

Crop JSON Properties

tier (required)Resource location of the crop tier
type (required)Resource location of the crop type
ingredientItem or tag for seed crafting material
color / colorsHex color(s) for flower, essence, seeds
texturesCustom texture resource locations
nameCustom display name string
enabledtrue/false to toggle the crop
cruxBlock ID required below farmland
glinttrue/false for enchantment shimmer
biomesArray of biome IDs for growth restriction
essenceCustom item to drop instead of essence
baseSecondaryChanceDouble value for secondary drop chance
respectsEffectiveFarmlandtrue/false for tier farmland requirement
recipesObject with crafting/infusion/reprocessor toggles

Creating Custom Crop Tiers

Crop tiers determine the growth behavior and difficulty of crops. Mystical Agriculture's default tiers range from 1 (Inferium) to 5 (Supremium), but you can create entirely new tiers. Place a JSON file in config/mysticalcustomization/tiers/ to define a new tier.

The required field is value (an integer that determines the tier's rank). The color field sets the hex color used for display purposes. Optional properties include name (custom display name), fertilizable (whether Bone Meal works on crops of this tier), secondarySeedDrop (whether harvesting can drop a second seed), baseSecondaryChance (the base chance for that secondary drop), farmland (the block ID of the required farmland for this tier), and essence (the item ID of the essence associated with this tier).

Farmland Must Be a FarmBlock

When setting a custom farmland block for a tier, the block must extend Minecraft's FarmBlock class. If you specify a block that is not farmland (like Stone or Dirt), the mod will log an error and the setting will be ignored. This validation happens during the common setup phase after all mods have loaded.

Creating Custom Crop Types

Crop types control the visual appearance of the crop plant as it grows. Mystical Agriculture uses types like Resource and Mob to differentiate crop stem textures. To create a new type, place a JSON file in config/mysticalcustomization/types/.

The required field is textures with a stem property pointing to a texture resource location. This determines what the growing crop looks like in the world. You can also set craftingSeed to an item ID that will be used as the base seed in crafting recipes for crops of this type. Custom types require a resource pack with the appropriate textures to display correctly.

Creating Custom Mob Soul Types

Mob Soul Types define which entities can be captured with a Soul Jar and used for mob-type crop seeds. To create a new Mob Soul Type, place a JSON file in config/mysticalcustomization/mobsoultypes/.

The required field is souls (a float value for how many soul kills are needed to fill the jar). You must also specify either entity (a single entity ID) or entities (an array of entity IDs) to associate with this soul type. If neither is provided, the mod will throw a syntax error.

Optional properties include color (hex color for display), name (custom display name), and enabled (true/false toggle).

Modifying Existing Content

Modification is where Mystical Customization really shines for modpack development. You can tweak any property of existing crops, tiers, types, Mob Soul Types, and Augments without replacing the entire definition. Only include the properties you want to change; everything else stays at its default value.

Modifying Crops

In configure-crops.json, you can change a crop's tier, type, ingredient, color, name, enabled state, crux block, glint effect, biome restrictions, essence item, secondary drop chance, farmland respect, and recipe generation. For example, to move the Iron crop to tier 3 and disable its crafting recipe: { "mysticalagriculture:iron": { "tier": "mysticalagriculture:3", "recipes": { "crafting": false } } }. To remove a crux requirement, set crux to null.

Modifying Crop Tiers

In configure-tiers.json, you can change a tier's display name, fertilizability, secondary seed drop behavior, base secondary chance, farmland block, and essence item. This is useful for rebalancing the entire tier system, for example making all tiers fertilizable or changing which essence they use.

Modifying Mob Soul Types

In configure-mobsoultypes.json, you can change the soul requirement, add or remove entities, change the color, rename the type, or disable it entirely. Adding and removing entities uses a special format: "entities": { "add": ["minecraft:drowned"], "remove": ["minecraft:zombie"] }. This lets you reassign mobs between soul types without replacing the entire definition.

Modifying Augments

In configure-augments.json, the only available modification is the enabled property. Set it to false to disable specific Augments from Mystical Agriculture's tinkering system.

Modifying Crop Types

In configure-types.json, you can change the craftingSeed item for an existing crop type. This changes which item is used as the base seed in crafting recipes for all crops of that type.

Complete Example: Adding a Custom Crop

Here is a full example of creating a custom Ruby crop. Create a file at config/mysticalcustomization/crops/ruby.json:

{ "tier": "mysticalagriculture:4", "type": "mysticalagriculture:resource", "ingredient": { "item": "gemmod:ruby" }, "color": "e02020", "name": "Ruby", "crux": "minecraft:diamond_block", "biomes": ["minecraft:badlands"], "recipes": { "crafting": true, "infusion": true, "reprocessor": true } }

This creates a tier 4 resource crop called "Ruby" that requires a Diamond Block crux, can only grow in the Badlands biome, uses a ruby item from another mod as its seed ingredient, and has all three recipe types enabled. The crop and its items will be colored red (e02020).

In-Game Commands

Mystical Customization adds two commands under /mysticalcustomization that require operator permissions (level 4). The /mysticalcustomization tiers command lists all registered crop tier IDs, including any custom tiers you've added. The /mysticalcustomization types command lists all registered crop type IDs. These are helpful for verifying that your custom tiers and types loaded correctly, and for finding the exact IDs to use in your configuration files.

Error Handling and Troubleshooting

Mystical Customization has a built-in error reporting system. All errors during JSON parsing are collected and categorized (Crops, Crop Tier, Crop Type, Mob Soul Type, Augment). When you log into a world, any errors are displayed directly in chat, grouped by category. This makes it easy to spot and fix issues without digging through log files.

Fatal errors (like a malformed JSON file that can't be parsed at all) will also be logged to the game's log file with a full stack trace. If a single crop fails to load, other crops will still load normally. The mod is designed to be resilient, so one bad configuration file won't prevent the rest from working.

Common JSON Mistakes

The most common errors are trailing commas (JSON does not allow them), missing quotes around keys or values, and using an invalid resource location for a tier, type, or item ID. Always validate your JSON files with an online JSON validator before restarting Minecraft. Also make sure color values do not include a # prefix; use just the hex digits like "ff5500".

Configuration File Reference

Create NewModify Existing
Cropscrops/*.jsonconfigure-crops.json
Tierstiers/*.jsonconfigure-tiers.json
Typestypes/*.jsonconfigure-types.json
Mob Soul Typesmobsoultypes/*.jsonconfigure-mobsoultypes.json
AugmentsNot supportedconfigure-augments.json

Frequently Asked Questions

Do I need a resource pack for custom crops?

Not necessarily. If you only set a color value, the mod applies that color as a tint to the default blank textures (ingot-style for flower and essence, generic for seeds). Your crop will work and be visually distinct. However, if you want a completely unique texture (like a gem shape instead of an ingot), you'll need a resource pack with custom textures and must specify them in the textures object.

Can I add crops for items from other mods?

Yes, this is one of the primary use cases. Set the ingredient field to the other mod's item (e.g., "item": "mekanism:ingot_osmium") and optionally set the essence field to make the crop directly drop that mod's item. You can also use item tags for broader compatibility (e.g., "tag": "forge:ingots/osmium"). Just make sure the other mod is installed so the item IDs are valid.

Why isn't my custom crop showing up?

Check the chat messages when you join a world for any error reports. The most common causes are: the JSON file has a syntax error, the tier or type ID doesn't match a registered tier/type, or the file is not in the correct directory. Remember that new crops go in the crops/ subdirectory (one file per crop), not in configure-crops.json (which is only for modifying existing crops). Also make sure you fully restarted Minecraft after making changes.

Can I disable specific crops from Mystical Agriculture?

Yes. In configure-crops.json, add the crop's ID with "enabled": false. For example: { "mysticalagriculture:diamond": { "enabled": false } }. This removes the crop's seeds, essence, and related items from the game. The same approach works for Mob Soul Types and Augments using their respective configure files.

What are crux blocks and how do they work?

A crux is a block that must be placed directly below the farmland for the crop to grow. It acts as an additional growth requirement beyond just the farmland tier. For example, setting "crux": "minecraft:diamond_block" means the player must place a Diamond Block under the farmland. You can set a crux to null in configure-crops.json to remove an existing crux requirement.

Does Mystical Customization work with Mystical Agradditions?

Yes. Mystical Customization can modify crops, tiers, and soul types added by any Mystical Agriculture addon, including Mystical Agradditions. The mod specifically checks for Mystical Agradditions when handling certain special crops like Insanium. You can also create custom crops that use tiers or types added by addons, as long as you reference the correct resource location IDs.

Draft preview — this guide has not been reviewed or published yet.