Repository navigation
Modpack & custom integration
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).
-
Launch the game once. The mod will create
config/sporenexus/custom_mushrooms.json(empty) and an emptyconfig/sporenexus/textures/folder. -
Edit the file
custom_mushrooms.jsonand 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
}
]
}- 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 wholeconfig/sporenexus/folder with your modpack.
| 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": {
"mushroom_input": "sporenexus:mineral_fungus",
"resource_input": "minecraft:iron_nugget",
"secondary_input": "sporenexus:mineral_quartz"
}-
mushroom_inputis the fungus needed for the altar recipe of your ressource mushroom. If you use a custom item, it must have the tagsporenexus:fungusfor it to be able to go in the altar. -
resource_inputis 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_inputis 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": [
{ "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 (gravelissporenexus:gravel_resource_mushroom). With a:it is a modded block id. -
chanceis between 0 (excluded) and 1, default0.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.
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.
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).
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.
Spore Nexus
For modpack authors