Skip to content
DerFrZocker edited this page May 7, 2023 · 2 revisions

By default, Ore-Control does nothing. This is because there is no go to solution for every server. Each server has its own unique requirements, therefore Ore-Control aims to give as much freedom as possible to configuration the ore generation to ones liking. This comes with a learning curve in the beginning.

Structure

Ore-Control's structure is heavily inline with how vanillas system works - with some extras -, this allows Ore-Control to also support some data packs custom features. This means to work with Ore-Control effectively, it is imported to understand the basic structure on how the ores are generated in vanilla Minecraft. An ore feature is composed of two main components, a list of placement modifier, which determine the location of an ore vein and a generator which generates an ore vein at a location.

Placement Modifier

Each ore feature can have multiple different (or same) placement modifier to determine the location of an ore vein. The order of those placement modifiers is imported, as we learn later. Each placement modifier thereby takes a location, and returns between 0 and many locations. For example the count modifier simple takes the location it gets and returns the same location multiply times corresponding to the amount it was configurated to. Another example would be the square modifier which takes a location and sets the x and z location to a random value between 0 and 15 and returns it, this is to distribute the ores on the x and z plane in a chunk.
With those two we can also see why order is important. Let's assume we first use the square modifier on the location ( x = 0, y = 64, z = 0) since it returns the location with random x and z values we can get the location (x = 3, y = 64, z = 4), now lets put this location next into the count modifier, which we configurated to return the location 3 times. We now have the locations (x = 3, y = 64, z = 4), (x = 3, y = 64, z = 4) and (x = 3, y = 64, z = 4) which is not good since the ore would generate 3 times on the same spot.
So next lets try to first use the count modifier on (x = 0, y = 64, z = 0), as configurated it will return (x = 0, y = 64, z = 0), (x = 0, y = 64, z = 0) and (x = 0, y = 64, z = 0), if we now give those values to the square modifier it could return something like this: (x = 3, y = 64, z = 8), (x = 1, y = 64, z = 6) and (x = 14, y = 64, z = 7), as we can see this is a more desired outcome since it will generate the ore in 3 different locations. And this with only changing the order of those placement modifier.

Generator

Each feature can only have one generator. A generator generates the feature at each location the placement modifiers computed. The location given from the placement modifiers is thereby only the starting location of the feature. A classic example for a generator would be the standard ore generator which takes the location, size and type of block it should place and generates an ore vein.

Clone this wiki locally