-
Notifications
You must be signed in to change notification settings - Fork 27
Design
This page contains notes and ideas related to the design of Custom Ore Generation.
A <Dimension>
tag could limit a distribution to a given dimension, like <Biome>
does for biomes. This would require either an id
, name
, isSurface
, or symbol
attribute. If a <Dimension>
tag is not specified, then wildcard is assumed. Note that the wildcard means every world, including Mystcraft dimensions, which might be undesirable. To support different settings depending on the dimension, this could have <Setting>
elements as its children. This is probably simpler in many cases to using inheritance.
The original COG supported the original Mystcraft design, where symbols were added in some quantity to a book, and distributions were sensitive to the symbol count, through expressions. Now that Mystcraft books are written according to a grammar, with modifier symbols, etc, it has become more complicated.
We would need the following:
- A
<MystcraftSymbolModifier>
element that defines a modifier symbol, with child<Setting>
elements with expressions that transform the_default_
value, - A
<MystcraftSymbol>
element with instability (as before), rarity, and a list of modifier element references that apply to the symbol, - Each distribution would have one or more references to symbols that generate the distribution.
Extend <Replaces>
to add the attributes above
, below
, north
, south
, west
and east
. They will be block descriptors that restrict on the type of block one space over in the given direction. This would allow things like placing a block on a surface (e.g., rock below, air above), or ensuring that an ore deposit is hidden in stone.
Like the biome sets, except define a set of block descriptors. The <BlockSet>
elements could be referenced from distributions using <ReplaceSet>
and <OreBlockSet>
.