use of rtg.api.world.deco.helper.DecoHelperThisOrThat in project Realistic-Terrain-Generation by Team-RTG.
the class RealisticBiomeVanillaRoofedForest method initDecos.
@Override
public void initDecos() {
DecoMushrooms decoMushrooms = new DecoMushrooms();
decoMushrooms.setChance(4);
decoMushrooms.setMaxY(90);
decoMushrooms.setRandomType(DecoMushrooms.RandomType.ALWAYS_GENERATE);
this.addDeco(decoMushrooms);
TreeRTG mucronataTree = new TreeRTGRhizophoraMucronata(3, 4, 13f, 0.32f, 0.1f);
mucronataTree.setLogBlock(BlockUtil.getStateLog2(1));
mucronataTree.setLeavesBlock(BlockUtil.getStateLeaf2(1));
mucronataTree.setMinTrunkSize(2);
mucronataTree.setMaxTrunkSize(3);
mucronataTree.setMinCrownSize(10);
mucronataTree.setMaxCrownSize(18);
mucronataTree.setNoLeaves(false);
this.addTree(mucronataTree);
DecoTree mangroveTree = new DecoTree(mucronataTree);
mangroveTree.setTreeType(DecoTree.TreeType.RTG_TREE);
mangroveTree.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
mangroveTree.setTreeConditionChance(1);
mangroveTree.setStrengthFactorForLoops(12f);
mangroveTree.setMaxY(110);
mangroveTree.setScatter(new DecoTree.Scatter(16, 0));
this.addDeco(mangroveTree);
TreeRTG pentandraTree = new TreeRTGCeibaPentandra(13f, 3, 0.32f, 0.1f);
pentandraTree.setLogBlock(BlockUtil.getStateLog2(1));
pentandraTree.setLeavesBlock(BlockUtil.getStateLeaf2(1));
pentandraTree.setMinTrunkSize(2);
pentandraTree.setMaxTrunkSize(3);
pentandraTree.setMinCrownSize(10);
pentandraTree.setMaxCrownSize(18);
pentandraTree.setNoLeaves(false);
this.addTree(pentandraTree);
DecoTree ceibaPentandraTree = new DecoTree(pentandraTree);
ceibaPentandraTree.setTreeType(DecoTree.TreeType.RTG_TREE);
ceibaPentandraTree.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
ceibaPentandraTree.setTreeConditionChance(1);
ceibaPentandraTree.setStrengthFactorForLoops(12f);
ceibaPentandraTree.setMaxY(110);
ceibaPentandraTree.setScatter(new DecoTree.Scatter(16, 0));
this.addDeco(ceibaPentandraTree);
TreeRTG roseaTree = new TreeRTGCeibaRosea(16f, 5, 0.32f, 0.1f);
roseaTree.setLogBlock(BlockUtil.getStateLog2(1));
roseaTree.setLeavesBlock(BlockUtil.getStateLeaf2(1));
roseaTree.setMinTrunkSize(2);
roseaTree.setMaxTrunkSize(3);
roseaTree.setMinCrownSize(10);
roseaTree.setMaxCrownSize(18);
roseaTree.setNoLeaves(false);
this.addTree(roseaTree);
DecoTree ceibaRoseaTree = new DecoTree(roseaTree);
ceibaRoseaTree.setTreeType(DecoTree.TreeType.RTG_TREE);
ceibaRoseaTree.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
ceibaRoseaTree.setTreeConditionChance(1);
ceibaRoseaTree.setStrengthFactorForLoops(12f);
ceibaRoseaTree.setMaxY(110);
ceibaRoseaTree.setScatter(new DecoTree.Scatter(16, 0));
this.addDeco(ceibaRoseaTree);
DecoFallenTree decoFallenTree = new DecoFallenTree();
decoFallenTree.getDistribution().setNoiseDivisor(80f);
decoFallenTree.getDistribution().setNoiseFactor(60f);
decoFallenTree.getDistribution().setNoiseAddend(-15f);
decoFallenTree.setLogCondition(NOISE_GREATER_AND_RANDOM_CHANCE);
decoFallenTree.setLogConditionChance(16);
decoFallenTree.setLogConditionNoise(0f);
decoFallenTree.setLogBlock(BlockUtil.getStateLog2(1));
decoFallenTree.setLeavesBlock(BlockUtil.getStateLeaf2(1));
decoFallenTree.setMinSize(4);
decoFallenTree.setMaxSize(9);
this.addDeco(decoFallenTree, this.getConfig().ALLOW_LOGS.get());
DecoShrub darkOakShrub = new DecoShrub();
darkOakShrub.setLogBlock(BlockUtil.getStateLog2(1));
darkOakShrub.setLeavesBlock(BlockUtil.getStateLeaf2(1));
darkOakShrub.setMaxY(100);
darkOakShrub.setStrengthFactor(8f);
DecoShrub oakShrub = new DecoShrub();
oakShrub.setLogBlock(Blocks.LOG.getDefaultState());
oakShrub.setLeavesBlock(Blocks.LEAVES.getDefaultState());
oakShrub.setMaxY(100);
oakShrub.setStrengthFactor(8f);
this.addDeco(new DecoHelperThisOrThat(4, DecoHelperThisOrThat.ChanceType.NOT_EQUALS_ZERO, darkOakShrub, oakShrub));
DecoBoulder decoBoulder = new DecoBoulder();
decoBoulder.setBoulderBlock(Blocks.MOSSY_COBBLESTONE.getDefaultState());
decoBoulder.setChance(16);
decoBoulder.setMaxY(80);
decoBoulder.setStrengthFactor(2f);
this.addDeco(decoBoulder);
DecoCobwebs decoCobwebs = new DecoCobwebs();
decoCobwebs.setChance(1);
decoCobwebs.setMinY(63);
decoCobwebs.setMaxY(76);
decoCobwebs.setStrengthFactor(24f);
decoCobwebs.setAdjacentBlock(BlockUtil.getStateLog2(1));
decoCobwebs.setMinAdjacents(2);
this.addDeco(decoCobwebs, this.getConfig().ALLOW_COBWEBS.get());
DecoBaseBiomeDecorations decoBaseBiomeDecorations = new DecoBaseBiomeDecorations();
decoBaseBiomeDecorations.setNotEqualsZeroChance(2);
decoBaseBiomeDecorations.setMaxY(100);
this.addDeco(decoBaseBiomeDecorations);
DecoGrass decoGrass = new DecoGrass();
decoGrass.setMaxY(100);
decoGrass.setStrengthFactor(20f);
this.addDeco(decoGrass);
DecoDeadBush decoDeadBush = new DecoDeadBush();
decoDeadBush.setMaxY(100);
decoDeadBush.setChance(2);
decoDeadBush.setStrengthFactor(2f);
this.addDeco(decoDeadBush);
}
use of rtg.api.world.deco.helper.DecoHelperThisOrThat in project Realistic-Terrain-Generation by Team-RTG.
the class RealisticBiomeVanillaJungleM method initDecos.
@Override
public void initDecos() {
// Blend of the WorldGenMegaJungle collection and some tall RTG Mangrove trees.
TreeRTG mucronataTree = new TreeRTGRhizophoraMucronata(4, 5, 13f, 0.32f, 0.2f);
mucronataTree.setLogBlock(BlockUtil.getStateLog(3));
mucronataTree.setLeavesBlock(BlockUtil.getStateLeaf(3));
mucronataTree.setMinTrunkSize(3);
mucronataTree.setMaxTrunkSize(4);
mucronataTree.setMinCrownSize(10);
mucronataTree.setMaxCrownSize(27);
this.addTree(mucronataTree);
DecoTree mangroves = new DecoTree(mucronataTree);
mangroves.setLoops(3);
mangroves.setTreeType(DecoTree.TreeType.RTG_TREE);
mangroves.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
mangroves.setTreeConditionChance(2);
mangroves.setMaxY(160);
DecoTree megaJungle = new DecoTree(new WorldGenMegaJungle(false, 10, 27, BlockUtil.getStateLog(3), BlockUtil.getStateLeaf(3)));
megaJungle.setLogBlock(BlockUtil.getStateLog(3));
megaJungle.setLeavesBlock(BlockUtil.getStateLeaf(3));
megaJungle.setMinTrunkSize(3);
megaJungle.setMaxTrunkSize(4);
megaJungle.setMinCrownSize(10);
megaJungle.setMaxCrownSize(27);
megaJungle.setLoops(3);
megaJungle.setTreeType(DecoTree.TreeType.WORLDGEN);
megaJungle.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
megaJungle.setTreeConditionChance(2);
megaJungle.setMaxY(160);
DecoHelperThisOrThat decoHelperThisOrThat = new DecoHelperThisOrThat(3, DecoHelperThisOrThat.ChanceType.NOT_EQUALS_ZERO, megaJungle, mangroves);
this.addDeco(decoHelperThisOrThat);
// Add some palm trees for variety.
TreeRTG nuciferaTree = new TreeRTGCocosNucifera();
nuciferaTree.setMinTrunkSize(7);
nuciferaTree.setMaxTrunkSize(9);
nuciferaTree.setMinCrownSize(6);
nuciferaTree.setMaxCrownSize(8);
this.addTree(nuciferaTree);
DecoTree palmCustom = new DecoTree(nuciferaTree);
palmCustom.setLoops(1);
palmCustom.setTreeType(DecoTree.TreeType.RTG_TREE);
palmCustom.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
palmCustom.setTreeConditionChance(3);
palmCustom.setMaxY(160);
this.addDeco(palmCustom);
// Another pass of the WorldGenMegaJungle collection for extra jungleness.
this.addDeco(decoHelperThisOrThat);
// Jungle logs.
DecoFallenTree decoFallenTree = new DecoFallenTree();
decoFallenTree.setLoops(1);
decoFallenTree.getDistribution().setNoiseDivisor(100f);
decoFallenTree.getDistribution().setNoiseFactor(5f);
decoFallenTree.getDistribution().setNoiseAddend(0.8f);
decoFallenTree.setLogCondition(NOISE_GREATER_AND_RANDOM_CHANCE);
decoFallenTree.setLogConditionNoise(0f);
decoFallenTree.setLogConditionChance(3);
decoFallenTree.setLogBlock(BlockUtil.getStateLog(3));
decoFallenTree.setLeavesBlock(BlockUtil.getStateLeaf(3));
decoFallenTree.setMinSize(4);
decoFallenTree.setMaxSize(9);
this.addDeco(decoFallenTree, this.getConfig().ALLOW_LOGS.get());
// At this point, let's hand over some of the decoration to the base biome, but only about 85% of the time.
DecoBaseBiomeDecorations decoBaseBiomeDecorations = new DecoBaseBiomeDecorations();
decoBaseBiomeDecorations.setNotEqualsZeroChance(6);
decoBaseBiomeDecorations.setLoops(1);
this.addDeco(decoBaseBiomeDecorations);
// A combo-deal of lilypads and vines. (This could probably be pulled out into individual decos.)
DecoJungleLilypadVines decoJungleLilypadVines = new DecoJungleLilypadVines();
this.addDeco(decoJungleLilypadVines);
// A combo-deal of grass and vines. (This could probably be pulled out into individual decos.)
DecoJungleGrassVines decoJungleGrassVines = new DecoJungleGrassVines();
this.addDeco(decoJungleGrassVines);
// Flowers.
DecoFlowersRTG decoFlowersRTG = new DecoFlowersRTG();
// Only orange tulips fit in with the colour scheme.
decoFlowersRTG.setFlowers(new int[] { 5 });
decoFlowersRTG.setChance(4);
decoFlowersRTG.setMaxY(120);
decoFlowersRTG.setStrengthFactor(2f);
this.addDeco(decoFlowersRTG);
// Tall cacti on red sand - matches the colour scheme nicely.
DecoJungleCacti decoJungleCacti = new DecoJungleCacti();
decoJungleCacti.setStrengthFactor(8f);
decoJungleCacti.setMaxY(120);
decoJungleCacti.setSandOnly(false);
decoJungleCacti.setExtraHeight(7);
decoJungleCacti.setSandMeta((byte) 1);
this.addDeco(decoJungleCacti, this.getConfig().ALLOW_CACTUS.get());
// Mossy boulders for the green.
DecoBoulder decoBoulder = new DecoBoulder();
decoBoulder.setBoulderBlock(Blocks.MOSSY_COBBLESTONE.getDefaultState());
decoBoulder.setChance(16);
decoBoulder.setMaxY(95);
decoBoulder.setStrengthFactor(2f);
this.addDeco(decoBoulder);
// Grass filler.
DecoGrass decoGrass = new DecoGrass();
decoGrass.setMaxY(128);
decoGrass.setStrengthFactor(12f);
this.addDeco(decoGrass);
}
use of rtg.api.world.deco.helper.DecoHelperThisOrThat in project Realistic-Terrain-Generation by Team-RTG.
the class RealisticBiomeVanillaJungle method initDecos.
@Override
public void initDecos() {
// Blend of the WorldGenMegaJungle collection and some tall RTG Mangrove trees.
TreeRTG mucronataTree = new TreeRTGRhizophoraMucronata(4, 5, 13f, 0.32f, 0.2f);
mucronataTree.setLogBlock(BlockUtil.getStateLog(3));
mucronataTree.setLeavesBlock(BlockUtil.getStateLeaf(3));
mucronataTree.setMinTrunkSize(3);
mucronataTree.setMaxTrunkSize(4);
mucronataTree.setMinCrownSize(10);
mucronataTree.setMaxCrownSize(27);
this.addTree(mucronataTree);
DecoTree mangroves = new DecoTree(new TreeRTGRhizophoraMucronata(4, 5, 13f, 0.32f, 0.2f));
mangroves.setLoops(3);
mangroves.setTreeType(DecoTree.TreeType.RTG_TREE);
mangroves.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
mangroves.setTreeConditionChance(2);
mangroves.setMaxY(160);
DecoTree megaJungle = new DecoTree(new WorldGenMegaJungle(false, 10, 27, BlockUtil.getStateLog(3), BlockUtil.getStateLeaf(3)));
megaJungle.setLogBlock(BlockUtil.getStateLog(3));
megaJungle.setLeavesBlock(BlockUtil.getStateLeaf(3));
megaJungle.setMinTrunkSize(3);
megaJungle.setMaxTrunkSize(4);
megaJungle.setMinCrownSize(10);
megaJungle.setMaxCrownSize(27);
megaJungle.setLoops(3);
megaJungle.setTreeType(DecoTree.TreeType.WORLDGEN);
megaJungle.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
megaJungle.setTreeConditionChance(2);
megaJungle.setMaxY(160);
DecoHelperThisOrThat decoHelperThisOrThat = new DecoHelperThisOrThat(3, DecoHelperThisOrThat.ChanceType.NOT_EQUALS_ZERO, megaJungle, mangroves);
this.addDeco(decoHelperThisOrThat);
// Add some palm trees for variety.
TreeRTG nuciferaTree = new TreeRTGCocosNucifera();
nuciferaTree.setMinTrunkSize(7);
nuciferaTree.setMaxTrunkSize(9);
nuciferaTree.setMinCrownSize(6);
nuciferaTree.setMaxCrownSize(8);
this.addTree(nuciferaTree);
DecoTree palmCustom = new DecoTree(nuciferaTree);
palmCustom.setLoops(1);
palmCustom.setTreeType(DecoTree.TreeType.RTG_TREE);
palmCustom.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
palmCustom.setTreeConditionChance(3);
palmCustom.setMaxY(160);
this.addDeco(palmCustom);
// Another pass of the WorldGenMegaJungle collection for extra jungleness.
this.addDeco(decoHelperThisOrThat);
// Jungle logs.
DecoFallenTree decoFallenTree = new DecoFallenTree();
decoFallenTree.setLoops(1);
decoFallenTree.getDistribution().setNoiseDivisor(100f);
decoFallenTree.getDistribution().setNoiseFactor(5f);
decoFallenTree.getDistribution().setNoiseAddend(0.8f);
decoFallenTree.setLogCondition(NOISE_GREATER_AND_RANDOM_CHANCE);
decoFallenTree.setLogConditionNoise(0f);
decoFallenTree.setLogConditionChance(3);
decoFallenTree.setLogBlock(BlockUtil.getStateLog(3));
decoFallenTree.setLeavesBlock(BlockUtil.getStateLeaf(3));
decoFallenTree.setMinSize(4);
decoFallenTree.setMaxSize(9);
this.addDeco(decoFallenTree, this.getConfig().ALLOW_LOGS.get());
// At this point, let's hand over some of the decoration to the base biome, but only about 85% of the time.
DecoBaseBiomeDecorations decoBaseBiomeDecorations = new DecoBaseBiomeDecorations();
decoBaseBiomeDecorations.setNotEqualsZeroChance(6);
decoBaseBiomeDecorations.setLoops(1);
this.addDeco(decoBaseBiomeDecorations);
// A combo-deal of lilypads and vines. (This could probably be pulled out into individual decos.)
DecoJungleLilypadVines decoJungleLilypadVines = new DecoJungleLilypadVines();
this.addDeco(decoJungleLilypadVines);
// A combo-deal of grass and vines. (This could probably be pulled out into individual decos.)
DecoJungleGrassVines decoJungleGrassVines = new DecoJungleGrassVines();
this.addDeco(decoJungleGrassVines);
// Flowers.
DecoFlowersRTG decoFlowersRTG = new DecoFlowersRTG();
// Only orange tulips fit in with the colour scheme.
decoFlowersRTG.setFlowers(new int[] { 5 });
decoFlowersRTG.setChance(4);
decoFlowersRTG.setMaxY(120);
decoFlowersRTG.setStrengthFactor(2f);
this.addDeco(decoFlowersRTG);
// Tall cacti on red sand - matches the colour scheme nicely.
DecoJungleCacti decoJungleCacti = new DecoJungleCacti();
decoJungleCacti.setStrengthFactor(8f);
decoJungleCacti.setMaxY(120);
decoJungleCacti.setSandOnly(false);
decoJungleCacti.setExtraHeight(7);
decoJungleCacti.setSandMeta((byte) 1);
this.addDeco(decoJungleCacti, this.getConfig().ALLOW_CACTUS.get());
// Mossy boulders for the green.
DecoBoulder decoBoulder = new DecoBoulder();
decoBoulder.setBoulderBlock(Blocks.MOSSY_COBBLESTONE.getDefaultState());
decoBoulder.setChance(16);
decoBoulder.setMaxY(95);
decoBoulder.setStrengthFactor(2f);
this.addDeco(decoBoulder);
// Grass filler.
DecoGrass decoGrass = new DecoGrass();
decoGrass.setMaxY(128);
decoGrass.setStrengthFactor(12f);
this.addDeco(decoGrass);
}
use of rtg.api.world.deco.helper.DecoHelperThisOrThat in project Realistic-Terrain-Generation by Team-RTG.
the class RealisticBiomeVanillaJungleHills method initDecos.
@Override
public void initDecos() {
// Blend of the WorldGenMegaJungle collection and some tall RTG Mangrove trees.
TreeRTG mucronataTree = new TreeRTGRhizophoraMucronata(4, 5, 13f, 0.32f, 0.2f);
mucronataTree.setLogBlock(BlockUtil.getStateLog(3));
mucronataTree.setLeavesBlock(BlockUtil.getStateLeaf(3));
mucronataTree.setMinTrunkSize(3);
mucronataTree.setMaxTrunkSize(4);
mucronataTree.setMinCrownSize(10);
mucronataTree.setMaxCrownSize(27);
this.addTree(mucronataTree);
DecoTree mangroves = new DecoTree(mucronataTree);
mangroves.setLoops(3);
mangroves.setTreeType(DecoTree.TreeType.RTG_TREE);
mangroves.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
mangroves.setTreeConditionChance(2);
mangroves.setMaxY(160);
DecoTree megaJungle = new DecoTree(new WorldGenMegaJungle(false, 10, 27, BlockUtil.getStateLog(3), BlockUtil.getStateLeaf(3)));
megaJungle.setLogBlock(BlockUtil.getStateLog(3));
megaJungle.setLeavesBlock(BlockUtil.getStateLeaf(3));
megaJungle.setMinTrunkSize(3);
megaJungle.setMaxTrunkSize(4);
megaJungle.setMinCrownSize(10);
megaJungle.setMaxCrownSize(27);
megaJungle.setLoops(3);
megaJungle.setTreeType(DecoTree.TreeType.WORLDGEN);
megaJungle.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
megaJungle.setTreeConditionChance(2);
megaJungle.setMaxY(160);
DecoHelperThisOrThat decoHelperThisOrThat = new DecoHelperThisOrThat(3, DecoHelperThisOrThat.ChanceType.NOT_EQUALS_ZERO, megaJungle, mangroves);
this.addDeco(decoHelperThisOrThat);
// Add some palm trees for variety.
TreeRTG nuciferaTree = new TreeRTGCocosNucifera();
nuciferaTree.setMinTrunkSize(7);
nuciferaTree.setMaxTrunkSize(9);
nuciferaTree.setMinCrownSize(6);
nuciferaTree.setMaxCrownSize(8);
this.addTree(nuciferaTree);
DecoTree palmCustom = new DecoTree(nuciferaTree);
palmCustom.setLoops(1);
palmCustom.setTreeType(DecoTree.TreeType.RTG_TREE);
palmCustom.setTreeCondition(DecoTree.TreeCondition.RANDOM_CHANCE);
palmCustom.setTreeConditionChance(3);
palmCustom.setMaxY(160);
this.addDeco(palmCustom);
// Another pass of the WorldGenMegaJungle collection for extra jungleness.
this.addDeco(decoHelperThisOrThat);
// Jungle logs.
DecoFallenTree decoFallenTree = new DecoFallenTree();
decoFallenTree.setLoops(1);
decoFallenTree.getDistribution().setNoiseDivisor(100f);
decoFallenTree.getDistribution().setNoiseFactor(5f);
decoFallenTree.getDistribution().setNoiseAddend(0.8f);
decoFallenTree.setLogCondition(NOISE_GREATER_AND_RANDOM_CHANCE);
decoFallenTree.setLogConditionNoise(0f);
decoFallenTree.setLogConditionChance(3);
decoFallenTree.setLogBlock(BlockUtil.getStateLog(3));
decoFallenTree.setLeavesBlock(BlockUtil.getStateLeaf(3));
decoFallenTree.setMinSize(4);
decoFallenTree.setMaxSize(9);
this.addDeco(decoFallenTree, this.getConfig().ALLOW_LOGS.get());
// At this point, let's hand over some of the decoration to the base biome, but only about 85% of the time.
DecoBaseBiomeDecorations decoBaseBiomeDecorations = new DecoBaseBiomeDecorations();
decoBaseBiomeDecorations.setNotEqualsZeroChance(6);
decoBaseBiomeDecorations.setLoops(1);
this.addDeco(decoBaseBiomeDecorations);
// A combo-deal of lilypads and vines. (This could probably be pulled out into individual decos.)
DecoJungleLilypadVines decoJungleLilypadVines = new DecoJungleLilypadVines();
this.addDeco(decoJungleLilypadVines);
// A combo-deal of grass and vines. (This could probably be pulled out into individual decos.)
DecoJungleGrassVines decoJungleGrassVines = new DecoJungleGrassVines();
this.addDeco(decoJungleGrassVines);
// Flowers.
DecoFlowersRTG decoFlowersRTG = new DecoFlowersRTG();
// Only orange tulips fit in with the colour scheme.
decoFlowersRTG.setFlowers(new int[] { 5 });
decoFlowersRTG.setChance(4);
decoFlowersRTG.setMaxY(120);
decoFlowersRTG.setStrengthFactor(2f);
this.addDeco(decoFlowersRTG);
// Tall cacti on red sand - matches the colour scheme nicely.
DecoJungleCacti decoJungleCacti = new DecoJungleCacti();
decoJungleCacti.setStrengthFactor(8f);
decoJungleCacti.setMaxY(120);
decoJungleCacti.setSandOnly(false);
decoJungleCacti.setExtraHeight(7);
decoJungleCacti.setSandMeta((byte) 1);
this.addDeco(decoJungleCacti, this.getConfig().ALLOW_CACTUS.get());
// Mossy boulders for the green.
DecoBoulder decoBoulder = new DecoBoulder();
decoBoulder.setBoulderBlock(Blocks.MOSSY_COBBLESTONE.getDefaultState());
decoBoulder.setChance(16);
decoBoulder.setMaxY(95);
decoBoulder.setStrengthFactor(2f);
this.addDeco(decoBoulder);
// Grass filler.
DecoGrass decoGrass = new DecoGrass();
decoGrass.setMaxY(128);
decoGrass.setStrengthFactor(12f);
this.addDeco(decoGrass);
}
use of rtg.api.world.deco.helper.DecoHelperThisOrThat in project Realistic-Terrain-Generation by Team-RTG.
the class RealisticBiomeVanillaPlains method initDecos.
@Override
public void initDecos() {
//Sparse wheat
DecoCrop decoCropWheat = new DecoCrop();
decoCropWheat.setSize(8);
decoCropWheat.setDensity(5);
decoCropWheat.setChance(this.getConfig().WHEAT_CHANCE.get());
decoCropWheat.setType(3);
decoCropWheat.setWater(false);
decoCropWheat.setMinY(this.getConfig().WHEAT_MIN_Y.get());
decoCropWheat.setMaxY(this.getConfig().WHEAT_MAX_Y.get());
this.addDeco(decoCropWheat, this.getConfig().ALLOW_WHEAT.get());
// Very sparse shrubs.
DecoShrub decoShrubOak = new DecoShrub();
decoShrubOak.setLogBlock(Blocks.LOG.getDefaultState());
decoShrubOak.setLeavesBlock(Blocks.LEAVES.getDefaultState());
decoShrubOak.setMaxY(110);
decoShrubOak.setLoops(1);
decoShrubOak.setChance(36);
this.addDeco(decoShrubOak);
// The occasional flower.
DecoFlowersRTG decoFlowersRTG = new DecoFlowersRTG();
decoFlowersRTG.setFlowers(new int[] { 0, 2, 3, 4, 5, 6, 7, 8, 9 });
decoFlowersRTG.setMaxY(128);
decoFlowersRTG.setStrengthFactor(2f);
this.addDeco(decoFlowersRTG);
// Lots of grass, but not as much as vanilla.
DecoGrass decoGrass = new DecoGrass();
decoGrass.setMinY(60);
decoGrass.setMaxY(128);
decoGrass.setLoops(6);
this.addDeco(decoGrass);
// Very rare fat oak/birch trees.
TreeRTG roburTree1 = new TreeRTGQuercusRobur();
roburTree1.setLogBlock(Blocks.LOG.getDefaultState());
roburTree1.setLeavesBlock(Blocks.LEAVES.getDefaultState());
roburTree1.setMinTrunkSize(3);
roburTree1.setMaxTrunkSize(5);
roburTree1.setMinCrownSize(7);
roburTree1.setMaxCrownSize(9);
this.addTree(roburTree1);
DecoTree oakTrees = new DecoTree(roburTree1);
oakTrees.setTreeType(DecoTree.TreeType.RTG_TREE);
oakTrees.setTreeCondition(DecoTree.TreeCondition.NOISE_GREATER_AND_RANDOM_CHANCE);
oakTrees.setDistribution(new DecoTree.Distribution(100f, 6f, 0.8f));
oakTrees.setTreeConditionNoise(0.4f);
oakTrees.setTreeConditionChance(48);
TreeRTG roburTree2 = new TreeRTGQuercusRobur();
roburTree2.setLogBlock(BlockUtil.getStateLog(2));
roburTree2.setLeavesBlock(BlockUtil.getStateLeaf(2));
roburTree2.setMinTrunkSize(3);
roburTree2.setMaxTrunkSize(5);
roburTree2.setMinCrownSize(7);
roburTree2.setMaxCrownSize(9);
this.addTree(roburTree2);
DecoTree birchTrees = new DecoTree(roburTree2);
birchTrees.setTreeType(DecoTree.TreeType.RTG_TREE);
birchTrees.setTreeCondition(DecoTree.TreeCondition.NOISE_GREATER_AND_RANDOM_CHANCE);
birchTrees.setDistribution(new DecoTree.Distribution(100f, 6f, 0.8f));
birchTrees.setTreeConditionNoise(0.4f);
birchTrees.setTreeConditionChance(48);
this.addDeco(new DecoHelperThisOrThat(4, DecoHelperThisOrThat.ChanceType.NOT_EQUALS_ZERO, oakTrees, birchTrees));
// Vanilla trees look awful in this biome, so let's make sure they don't generate.
//DecoBaseBiomeDecorations decoBaseBiomeDecorations = new DecoBaseBiomeDecorations();
//this.addDeco(decoBaseBiomeDecorations);
}
Aggregations