Unclear Common Configuration: inferiumBiomeWhitelist, prosperityBiomeWhitelist, soulstoneBiomeWhitelist
domin-sweet opened this issue ยท 2 comments
Unclear Configuration Values: Determining Ore Spawns
In the Common configuration, the values for inferiumBiomeWhitelist, prosperityBiomeWhitelist, and soulstoneBiomeWhitelist don't have a well-described behavior when empty. It is unclear whether an empty whitelist represents not allowing the ore to spawn in any biomes, or if it represents the default ore spawn behavior for every biome.
An example of such confusion: AQM3 | Biome Whitelist Empty - Inferium and Prosperity Ores not generating
A minimalists' improvement would be to add a small description of the empty behavior along with the value label.
(along the lines of: "An empty list represents default ore spawn behaivor")
However, I have a more robust proposal that reduces the need for (potentially) lengthy labels.
Combining Ore Spawn Controls into a Single Comprehensive Data Structure
My proposal is to combine the existing whitelist capabilities into a single more complete data structure, to improve ease of use and intuitiveness.
The proposed data structure could look similar to the below example:
Key [Biome ID] (string) | Value [inferiumSpawns, prosperitySpawns, soulstoneSpawns] (ArrayList<boolean>) |
---|---|
** | [true, true, false] |
minecraft:river | [true, false, false] |
byg:nightshade_forest | [false, false, true] |
minecraft:hell | [false, true, true] |
This configuration would allow inferium and prosperity, but not soulstone, in every biome by default (row 1), then it restricts the minecraft:river biome to only spawn inferium (row 2), then it restrict an arbitrary external mod's biome to only spawn soulstone (row 3), and finally allows prosperity and soulstone, but not inferium, in the nether biome (row 4).
As is illustrtated using this example, this structure effectively allows the user to configure whitelisting and blacklisting in a clear but verbose manner. It would add to the clarity of the configuration to allow for at least the basic wildcard functionality, but more expansive wildcard capabilities could be developed as desired. Consider the following, where the spawns are configured for all the vanilla biomes, and all biomes in the arbitrary modpack, separately:
Key [Biome ID] (string) | Value [inferiumSpawns, prosperitySpawns, soulstoneSpawns] (ArrayList<boolean>) |
---|---|
minecraft:** | [true, true, true] |
byg:** | [false, false, false] |
minecraft:hell | [false, true, true] |
Final Notes:
I am looking forward to hearing what the team thinks of this proposal, and am open to contributing to such a change if it is reviewed positively. Also, I am a big fan of MysticalAgriculture, so I enjoy seeing all the improvements that the team introduces.
Am having issues with this as well though I tried adding biomes to the whitelist. Adding biomes to the Biome Whitelist and then exploring new chunks that have never been loaded does not generate inferium, prosperity, or soulstone.