Skip to content

Modpack & custom integration

Okamiz edited this page Oct 19, 2026 · 2 revisions

Custom resource mushrooms (for modpack authors)

Welcome Modpacks Creators! Spore Nexus lets you add your own resource mushrooms without touching the mod: no resource pack, no datapack, no code. You createa each mushroom in one JSON file inside your instance's config/ folder, and the mod generates its block, models, textures, names (for now english) and recipes by itself. It works the same on NeoForge and Fabric, and the new mushrooms will show up in JEI and Jade like the built-in ones (if you have these mods installed).

Quick start

  1. Launch the game once. The mod will create config/sporenexus/custom_mushrooms.json (empty) and an empty config/sporenexus/textures/ folder.

  2. Edit the file custom_mushrooms.json and add a mushroom:

(for this exemple, we will make a Tin Mushroom)

{
  "mushrooms": [
    {
      "id": "tin",
      "name": "Tin",
      "color": "#B8C4CC",
      "fragment_result": "othermod:tin_ingot",
      "fragment_count": 2
    }
  ]
}
  1. Restart the game (a world reload is not enough, new blocks and items are registered at startup so you'll need to restart.).

You now have a Tin Resource Mushroom block and Tin Fragments item in the Spore Nexuscreative tabs. If you haven't provided textures, the mod will generate Tinted textures based on the color you put in the json file. Four fragments in a 2x2 crafting grid give 2 othermod:tin_ingot (fragment_count).

Multiplayer: the server and every client must use the same custom_mushrooms.json, because the mushrooms are real registered blocks and items. Textures, names and recipes only need to be correct on the machine that generates them (see "What is generated" below), but the safest setup is to ship the whole config/sporenexus/ folder with your modpack.

All fields

Field Required Default Description
id yes Lowercase letters, digits and _ only. Gives the block <id>_resource_mushroom and the item <id>_fragments. Must not clash with a built-in mushroom (it is ignored with an error if it does).
fragment_result yes Item id obtained by crafting the fragments (2x2). Any registered item, from any mod.
fragment_count no 1 How many of fragment_result you get. 1 to 64.
name no derived from id (my_ore becomes My Ore) English display name. Shown as <name> Resource Mushroom and <name> Fragments. No quotes, backslashes or line breaks.
color no #FFFFFF #RRGGBB. Tints the generated textures.
growth_ticks no 1800 Base growth time in ticks (20 ticks = 1 second). Minimum 20. Soil and accelerators speed it up like for built-in mushrooms.
essence no fungal_essence Item dropped when harvesting, 1 to 2 of them, 45% chance.
extra_drop no none Item dropped when harvesting, 1 of them, 15% chance.
altar no none Adds a Spore Nexus altar recipe that creates this mushroom (see below).
mutations no none Lets this mushroom grow from two other mushrooms (see below).

Harvesting always drops 1 to 3 fragments (100% chance). If nothing else is defined, breaking the block drops the block itself (like the built-in mushrooms).

altar

"altar": {
  "mushroom_input": "sporenexus:mineral_fungus",
  "resource_input": "minecraft:iron_nugget",
  "secondary_input": "sporenexus:mineral_quartz"
}
  • mushroom_input is the fungus needed for the altar recipe of your ressource mushroom. If you use a custom item, it must have the tag sporenexus:fungus for it to be able to go in the altar.
  • resource_input is the input for the 4 resource slots of the altar. You can put one item and it will be 4 of this one, or 4 items ("resource_input": ["mymod:item","mymod:item","mymod:item","mymod:item"]).
  • secondary_input is the same as above but for the 4 slots left.

Without an altar section no altar recipe is generated: you can still add one yourself with a normal datapack.

mutations

"mutations": [
  { "parent_a": "gravel", "parent_b": "stone", "chance": 0.06 },
  { "parent_a": "copper", "parent_b": "othermod:custom_resource_mushroom" }
]
  • A parent without : is the short id of a Spore Nexus mushroom, built-in or custom (gravel is sporenexus:gravel_resource_mushroom). With a : it is a modded block id.
  • chance is between 0 (excluded) and 1, default 0.05 (5% chance). Built-in mushrooms use roughly 0.04 to 0.10.
  • The result is always the mushroom you are defining.
  • You can list several mutations for the same mushroom.

Mutation rules are the same as for built-in mushrooms: the two parents grow close to each other, and when the last one matures there is one roll. If it succeeds, the new mushroom appears at growth stage 0 on a free spore soil block next to both parents, in the dark (< 7 light level). Parents are not consumed. Jade tells the player whether a mutation is ready.

Custom textures

By default the mod tints a grayscale template with your color. To use your own art, drop PNG files in config/sporenexus/textures/:

File Size Used for
<id>_cap.png 32x32 The mushroom cap
<id>_fragments.png 16x16 The fragments item

For example tin_cap.png and tin_fragments.png. You can override one without the other.

The cap texture is a layout atlas, not a simple square, so start from an existing one. Open the mod's jar (it is a zip file) and copy a texture from assets/sporenexus/textures/block/mushroom/ (for instance stone_cap.png), or the grayscale template assets/sporenexus/textures/template/cap_base.png, and repaint it.

A file with the wrong size or that is not a valid PNG is ignored (an error is logged) and the tinted texture is used instead.

What is generated?

At every startup the mod writes a pack to config/sporenexus/generated_pack/ and loads it automatically (resources and data, nothing to enable). It contains models, blockstates, textures, names and recipes for your mushrooms.

Do not edit this folder: it is deleted and rewritten at each launch. Put your changes in custom_mushrooms.json and config/sporenexus/textures/ instead. Looking at the generated files is useful to understand what the mod did.

Removing a mushroom from the config or changing it's id WILL DELETE IT from the game and player inventory.

Names are generated in English only (other languages fall back to English).

Troubleshooting

All messages are in logs/latest.log, tagged SporeNexus.

Message What it means
Invalid .../custom_mushrooms.json: custom mushrooms were NOT loaded The file is not valid JSON (missing comma or bracket...). Nothing is loaded.
Custom mushroom entry #N is malformed An entry has a value of the wrong type (for example "growth_ticks": "fast"). Only that entry is ignored.
invalid id Use only a-z, 0-9 and _.
clashes with a built-in one Your id is already used by a Spore Nexus mushroom.
is defined twice Two entries share an id.
'<field>' points to the item '...' which does not exist Typo, or the mod providing that item is not installed. Checked when a world starts.
mutation #N is invalid A mutation lacks parent_a/parent_b, or chance is not in ]0, 1].
invalid 'altar' section mushroom_input, resource_input or secondary_input is missing or invalid.
Texture ... must be 32x32 pixels A custom texture has the wrong size.
Couldn't parse data file 'sporenexus:<id>_from_fragments' Minecraft's own message when fragment_result does not exist. The recipe is skipped.

If a mushroom looks like the purple and black "missing texture" cube, look for errors about the texture or the models just above in the log.

Clone this wiki locally