Feature Request: Soil aliases
Syndaryl opened this issue ยท 1 comments
Some mods add new soil types that are either only aesthetic variations on vanilla soil (biomes o plenty) or are enhanced/fertilized/whatever versions of vanilla soil (hatchery, farming for blockheads).
For example, Biomes O Plenty adds loamy and sandy soil that can be tilled into loamy and sandy farmland, while hatchery allows you to upgrade farmland to fertilized farmland, or to create fertilized soil which you then till into fertilized farmland. Farming for blockheads has a similar concept.
All these farmlands are intended to be (and manage to be) interchangeable with vanilla farmland - vanilla crops and mod crops plant on them without special modification.
Adding these mods farmland as new soil types is already supported, but they're considered unique and vanilla crops (or pams crops, or whatever) won't plant on them once you put cropsticks down.
My current work-around is a mass-search-replace in the defaults folder to upgrade every plant that plants on farmland_soil to
"soils": [
"farmland_soil",
"fertilized_farmland_healthy_soil",
"fertilized_farmland_rich_soil",
"fertilized_farmland_stable_soil",
"fertilized_farmland_hatchery_soil",
"loamy_farmland_soil",
"sandy_farmland_soil"
]
but every time I get an update or add a new mod with new crops this is going to need to be fussed with again.
It would be nice to be able to list the new soil types as an alias of farmland_soil so everything that already plants on farmland_soil can plant on loamy_farmland_soil without further modification.
You can just add to the variants section of the soil definition of the farmland_soil.
I.e.
{
"path": "vanilla/soils/farmland_soil.json",
"enabled": true,
"id": "farmland_soil",
"name": "Farmland",
"varients": [
{
"item": "minecraft:farmland",
"meta": 0,
"tags": "",
"ignoreMeta": true,
"ignoreTags": [
"*"
],
"useOreDict": true
},
{
"item": "<mod_id>:fertilized_farmland_healthy_soil",
"meta": 0,
"tags": "",
"ignoreMeta": true,
"ignoreTags": [
"*"
],
"useOreDict": true
}
]
}