Search in sources :

Example 1 with TreeRTGRhizophoraMucronata

use of rtg.api.world.gen.feature.tree.rtg.TreeRTGRhizophoraMucronata 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);
}
Also used : TreeRTGCeibaPentandra(rtg.api.world.gen.feature.tree.rtg.TreeRTGCeibaPentandra) TreeRTGCeibaRosea(rtg.api.world.gen.feature.tree.rtg.TreeRTGCeibaRosea) TreeRTG(rtg.api.world.gen.feature.tree.rtg.TreeRTG) DecoHelperThisOrThat(rtg.api.world.deco.helper.DecoHelperThisOrThat) TreeRTGRhizophoraMucronata(rtg.api.world.gen.feature.tree.rtg.TreeRTGRhizophoraMucronata)

Example 2 with TreeRTGRhizophoraMucronata

use of rtg.api.world.gen.feature.tree.rtg.TreeRTGRhizophoraMucronata 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);
}
Also used : WorldGenMegaJungle(net.minecraft.world.gen.feature.WorldGenMegaJungle) TreeRTGCocosNucifera(rtg.api.world.gen.feature.tree.rtg.TreeRTGCocosNucifera) TreeRTG(rtg.api.world.gen.feature.tree.rtg.TreeRTG) DecoHelperThisOrThat(rtg.api.world.deco.helper.DecoHelperThisOrThat) TreeRTGRhizophoraMucronata(rtg.api.world.gen.feature.tree.rtg.TreeRTGRhizophoraMucronata)

Example 3 with TreeRTGRhizophoraMucronata

use of rtg.api.world.gen.feature.tree.rtg.TreeRTGRhizophoraMucronata 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);
}
Also used : WorldGenMegaJungle(net.minecraft.world.gen.feature.WorldGenMegaJungle) TreeRTGCocosNucifera(rtg.api.world.gen.feature.tree.rtg.TreeRTGCocosNucifera) TreeRTG(rtg.api.world.gen.feature.tree.rtg.TreeRTG) DecoHelperThisOrThat(rtg.api.world.deco.helper.DecoHelperThisOrThat) TreeRTGRhizophoraMucronata(rtg.api.world.gen.feature.tree.rtg.TreeRTGRhizophoraMucronata)

Example 4 with TreeRTGRhizophoraMucronata

use of rtg.api.world.gen.feature.tree.rtg.TreeRTGRhizophoraMucronata 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);
}
Also used : WorldGenMegaJungle(net.minecraft.world.gen.feature.WorldGenMegaJungle) TreeRTGCocosNucifera(rtg.api.world.gen.feature.tree.rtg.TreeRTGCocosNucifera) TreeRTG(rtg.api.world.gen.feature.tree.rtg.TreeRTG) DecoHelperThisOrThat(rtg.api.world.deco.helper.DecoHelperThisOrThat) TreeRTGRhizophoraMucronata(rtg.api.world.gen.feature.tree.rtg.TreeRTGRhizophoraMucronata)

Example 5 with TreeRTGRhizophoraMucronata

use of rtg.api.world.gen.feature.tree.rtg.TreeRTGRhizophoraMucronata in project Realistic-Terrain-Generation by Team-RTG.

the class DecoCollectionRoofedForest method mucronataTrees.

private DecoTree mucronataTrees(int minY, int maxY) {
    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(8);
    mucronataTree.setMaxCrownSize(16);
    mucronataTree.setNoLeaves(false);
    this.addTree(mucronataTree);
    return new DecoTree(mucronataTree).setTreeType(DecoTree.TreeType.RTG_TREE).setDistribution(forestDistribution).setTreeCondition(DecoTree.TreeCondition.NOISE_BETWEEN_AND_RANDOM_CHANCE).setTreeConditionNoise(distributionNoiseMin).setTreeConditionNoise2(distributionNoiseMax).setTreeConditionChance(5).setStrengthFactorForLoops(10f).setMinY(minY).setMaxY(maxY).setScatter(new DecoTree.Scatter(16, 0));
}
Also used : TreeRTG(rtg.api.world.gen.feature.tree.rtg.TreeRTG) TreeRTGRhizophoraMucronata(rtg.api.world.gen.feature.tree.rtg.TreeRTGRhizophoraMucronata)

Aggregations

TreeRTG (rtg.api.world.gen.feature.tree.rtg.TreeRTG)6 TreeRTGRhizophoraMucronata (rtg.api.world.gen.feature.tree.rtg.TreeRTGRhizophoraMucronata)6 DecoHelperThisOrThat (rtg.api.world.deco.helper.DecoHelperThisOrThat)4 WorldGenMegaJungle (net.minecraft.world.gen.feature.WorldGenMegaJungle)3 TreeRTGCocosNucifera (rtg.api.world.gen.feature.tree.rtg.TreeRTGCocosNucifera)3 TreeRTGCeibaPentandra (rtg.api.world.gen.feature.tree.rtg.TreeRTGCeibaPentandra)1 TreeRTGCeibaRosea (rtg.api.world.gen.feature.tree.rtg.TreeRTGCeibaRosea)1