This is the part of the code that is responsible for generating asteroids in Galacticraft.
this.coreHandler.addBlock(new SpecialAsteroidBlock(Blocks.diamond_ore, (byte) 0, probability: 1, thickness: .2));
coreHandler - responsible for the generation of asteroid cores
Blocks.diamond_ore - block to be used in generation
(byte) 0 - this block’s metadata
probability: 1 - generation chance
thickness: .2 - the density or size of the core relative to the size of the asteroid
I can just substitute my blocks there and everything will work.
I’m trying to substitute in the existing generation instead of one block of ore, the generation of a vein from 4 different blocks as in GT6
UPD:
I don’t know yet if this will work.
I can’t write code for ore layers like in GT6: OreTop, OreBottom, OreBetween, OreSpread.
I’m trying to create something similar to yours:
WorldgenOresLarge
@SafeVarargs
public WorldgenOresLarge(String aName, boolean aDefault, boolean aIndicatorRocks, int aMinY, int aMaxY, int aWeight, int aDensity, int aSize, OreDictMaterial aTop, OreDictMaterial aBottom, OreDictMaterial aBetween, OreDictMaterial aSpread, List<WorldgenObject>... aLists) {
super(aName, aDefault, aLists);
mMinY = (short)Math.max(0, getConfigFile().get(mCategory, "MinHeight" , aMinY));
mMaxY = (short)Math.max(mMinY+5, getConfigFile().get(mCategory, "MaxHeight" , aMaxY));
mWeight = Math.max(1, getConfigFile().get(mCategory, "RandomWeight" , aWeight));
mDensity = (short)Math.max(1, getConfigFile().get(mCategory, "Density" , aDensity));
mDistance = Math.max(0, getConfigFile().get(mCategory, "DistanceFromSpawn", 0));
mSize = (short)Math.max(1, getConfigFile().get(mCategory, "Size" , aSize));
mIndicatorRocks = getConfigFile().get(mCategory, "IndicatorRocks" , aIndicatorRocks);
mTop = getConfigFile().get(mCategory, "OreTop" , aTop);
mBottom = getConfigFile().get(mCategory, "OreBottom" , aBottom);
mBetween = getConfigFile().get(mCategory, "OreBetween" , aBetween);
mSpread = getConfigFile().get(mCategory, "OreSpread" , aSpread);