MMD OreSpawn

MMD OreSpawn

11M Downloads

Restructuring the JSON Format

D3nnis3n opened this issue · 2 comments

commented

I'll blatantly use CoFH world example to explain what i'm wishing:

  "antimony-51": {
  	"biome": "all",
  	"cluster-count": 2,
  	"dimension": {
  		"restriction": "whitelist",
  		"value": [
  			0
  		]
  	},
  	"distribution": "uniform",
  	"enabled": "true",
  	"generator": {
  		"block": "basemetals:antimony_ore",
  		"cluster-size": 9,
  		"material": {
  			"name": "minecraft:stone",
  			"properties": {
  				"variant": "stone"
  			}
  		}
  	},
  	"max-height": 48,
  	"min-height": 32,
  	"retrogen": false
  },

As you can see:

  1. It starts with a identifier. This is important. It allows me to find a ore fast by search. It allows for sorting and personal Preference. I do usually not know the Name of the block, but i do know my identifier - as i use the Name of ore or especially in this case the Name of the ore in english and it's element number.

  2. There is a Dimension area. You can set a whitelist or a blacklist for every single ore to specifiy in which dimensions it does spawn. You just put in the Dimension ID and you're good to go. This is pretty useful when you got a lot of man-made dimensions, e.g. together with Advanced rocketry, but do not want to use their oreconfig but a single, central one. Whitelist / Blacklist allows for flexibility. Flexibility allows you to easily adapt ores to new dimensions. And you don't have Things three to one hundred times, when you Need to specifiy each ore again in each Dimension. If you want to have antimony spawnrates different in other dimensions you can just add Antimony-51-Dimension ID. An other possibility would be the following

  • ORE Identifier
    • DIMENSION1
      • SPAWNCONFIG
    • DIMENSION 2
      • SPAWNCONFIG
    • GENERALCONFIG
  1. There is an "enabled" tag. It allows you to prepare or conserve parts of the configuration without having it in effect. Which allows for flexibility, central managment and temporary adjustments.

  2. Note how easy the variables are to understand and how easy it is to write that shit. Not too many indents, simple and sleek.

  3. See the retrogen Option? It allows for defining retrogeneration for every single ore you configured seperatley. VERY useful Feature.

  4. Allow Variance for both cluster-count and cluster-size, eg:

  • CLUSTER COUNT 5

or

  • CLUSTER COUNT
    • min 3
    • max 5

(7. This is just personal opinion. You like using camelCase. I prefer the naming of the CoFH Variables much, as i seem to more easily are able to remember them.)

Also note how i want 2 veins with 9 blocks to appear. Note that cofh world will not give me that as those numbers are no block numbers but seem to be anything else 🗡

commented

This has mostly been accomplished, missing things are included here: #90

commented

The top-level changes will need a major step in version... Not an issue as OreSpawn 3.2 isn't released yet.