Redesigned the Crag biome and removed Crag Rock

This commit is contained in:
Forstride 2017-04-19 16:51:21 -04:00
parent 6ac5963e9e
commit d3d93cf5bf
17 changed files with 148 additions and 48 deletions

View file

@ -92,7 +92,10 @@ public class BOPBiomes
public static Optional<Biome> gravel_beach = Optional.absent();
// nether biomes
public static Optional<Biome> boneyard = Optional.absent();
public static Optional<Biome> corrupted_sands = Optional.absent();
public static Optional<Biome> fungi_forest = Optional.absent();
public static Optional<Biome> phantasmagoric_inferno = Optional.absent();
public static Optional<Biome> polar_chasm = Optional.absent();
public static Optional<Biome> undergarden = Optional.absent();
public static Optional<Biome> visceral_heap = Optional.absent();

View file

@ -125,7 +125,6 @@ public class BOPBlocks
public static Block stone_formations;
public static Block hard_ice;
public static Block dried_sand;
public static Block crag_rock;
public static Block mud_brick_block;
public static Block crystal;
public static Block other_slab;

View file

@ -0,0 +1,28 @@
/*******************************************************************************
* Copyright 2014-2017, the Biomes O' Plenty Team
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
******************************************************************************/
package biomesoplenty.common.biome.nether;
import biomesoplenty.api.block.BOPBlocks;
import biomesoplenty.api.block.IBlockPosQuery;
import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.api.generation.GeneratorStage;
import biomesoplenty.common.block.BlockBOPGrass;
import biomesoplenty.common.util.block.BlockQuery;
import biomesoplenty.common.world.generator.GeneratorSplatter;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
public class BiomeBoneyard extends BOPHellBiome
{
public BiomeBoneyard()
{
super("boneyard", new PropsBuilder("Boneyard").withGuiColour(0xA93C3E));
this.addWeight(BOPClimates.HELL, 20);
}
}

View file

@ -0,0 +1,37 @@
/*******************************************************************************
* Copyright 2014-2017, the Biomes O' Plenty Team
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
******************************************************************************/
package biomesoplenty.common.biome.nether;
import biomesoplenty.api.block.BOPBlocks;
import biomesoplenty.api.block.IBlockPosQuery;
import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.api.enums.BOPPlants;
import biomesoplenty.api.generation.GeneratorStage;
import biomesoplenty.common.block.BlockBOPGrass;
import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod;
import biomesoplenty.common.util.block.BlockQuery;
import biomesoplenty.common.world.generator.GeneratorFlora;
import biomesoplenty.common.world.generator.GeneratorSplatter;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
public class BiomeCorruptedSands extends BOPHellBiome
{
public BiomeCorruptedSands()
{
super("corrupted_sands", new PropsBuilder("Corrupted Sands").withGuiColour(0xA93C3E));
this.addWeight(BOPClimates.HELL, 20);
// splatter top blocks
IBlockPosQuery emptyNetherrack = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create();
this.addGenerator("soulsand_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(0.7F).generationAttempts(128).replace(emptyNetherrack).with(Blocks.SOUL_SAND.getDefaultState()).create());
this.addGenerator("thorns", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).with(BOPPlants.THORN).create());
}
}

View file

@ -0,0 +1,31 @@
/*******************************************************************************
* Copyright 2014-2017, the Biomes O' Plenty Team
*
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
*
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
******************************************************************************/
package biomesoplenty.common.biome.nether;
import biomesoplenty.api.block.BOPBlocks;
import biomesoplenty.api.block.IBlockPosQuery;
import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.api.generation.GeneratorStage;
import biomesoplenty.common.block.BlockBOPGrass;
import biomesoplenty.common.util.block.BlockQuery;
import biomesoplenty.common.world.generator.GeneratorSplatter;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
public class BiomePhantasmagoricInferno extends BOPHellBiome
{
public BiomePhantasmagoricInferno()
{
super("phantasmagoric_inferno", new PropsBuilder("Phantasmagoric Inferno").withGuiColour(0xA93C3E));
this.addWeight(BOPClimates.HELL, 20);
this.topBlock = BOPBlocks.ash_block.getDefaultState();
this.fillerBlock = BOPBlocks.ash_block.getDefaultState();
}
}

View file

@ -52,27 +52,22 @@ public class BiomeUndergarden extends BOPHellBiome
// splatter top blocks
IBlockPosQuery emptyNetherrack = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create();
this.addGenerator("overgrown_netherrack_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(1.0F).generationAttempts(128).replace(emptyNetherrack).with(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK)).create());
this.addGenerator("overgrown_netherrack_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(0.7F).generationAttempts(128).replace(emptyNetherrack).with(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK)).create());
// flowers
GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.0F);
this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator);
flowerGenerator.add("burning_blossom", 4, (new GeneratorFlora.Builder().with(BOPFlowers.BURNING_BLOSSOM).scatterYMethod(ScatterYMethod.BELOW_GROUND).create()));
// grasses
GeneratorWeighted grassGenerator = new GeneratorWeighted(2.0F);
this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator);
grassGenerator.add("mediumgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
flowerGenerator.add("burning_blossom", 4, (new GeneratorFlora.Builder().with(BOPFlowers.BURNING_BLOSSOM).create()));
// trees
GeneratorWeighted treeGenerator = new GeneratorWeighted(5.0F);
this.addGenerator("trees", GeneratorStage.TREE, treeGenerator);
treeGenerator.add("twiglet", 3, (new GeneratorTwigletTree.Builder()).minHeight(2).maxHeight(2).log(BlockBOPLeaves.paging.getVariantState(BOPTrees.HELLBARK)).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.HELLBARK)).create());
treeGenerator.add("twiglet", 3, (new GeneratorTwigletTree.Builder()).placeOn(this.topBlock).minHeight(2).maxHeight(2).log(BlockBOPLeaves.paging.getVariantState(BOPTrees.HELLBARK)).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.HELLBARK)).create());
// shrooms
this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPMushroom.MushroomType.TOADSTOOL).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.6F).with(Blocks.RED_MUSHROOM.getDefaultState()).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(Blocks.BROWN_MUSHROOM.getDefaultState()).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create());
this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create());
this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.6F).with(Blocks.RED_MUSHROOM.getDefaultState()).create());
this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create());
}
}

View file

@ -57,6 +57,6 @@ public class BiomeVisceralHeap extends BOPHellBiome
// blood pools
this.addGenerator("blood_pools", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.5F).waterLakeForBiome(this).liquid(BOPBlocks.blood).frozenLiquid((IBlockState)null).create());
this.addGenerator("eyebulbs", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.7F).with(BlockBOPDoublePlant.DoublePlantType.EYEBULB).scatterYMethod(ScatterYMethod.BELOW_GROUND).create());
this.addGenerator("eyebulbs", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(1.0F).with(BlockBOPDoublePlant.DoublePlantType.EYEBULB).create());
}
}

View file

@ -9,21 +9,33 @@
package biomesoplenty.common.biome.overworld;
import biomesoplenty.api.block.BOPBlocks;
import biomesoplenty.api.block.IBlockPosQuery;
import biomesoplenty.api.config.IBOPWorldSettings;
import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType;
import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.api.enums.BOPPlants;
import biomesoplenty.api.generation.GeneratorStage;
import biomesoplenty.common.block.BlockBOPGrass;
import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod;
import biomesoplenty.common.util.block.BlockQuery;
import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock;
import biomesoplenty.common.world.generator.GeneratorBlobs;
import biomesoplenty.common.world.generator.GeneratorGrass;
import biomesoplenty.common.world.generator.GeneratorOreSingle;
import biomesoplenty.common.world.generator.GeneratorSplatter;
import biomesoplenty.common.world.generator.GeneratorSplotches;
import biomesoplenty.common.world.generator.GeneratorWeighted;
import net.minecraft.block.BlockTallGrass;
import net.minecraft.init.Blocks;
public class BiomeGenCrag extends BOPOverworldBiome
{
public BiomeGenCrag()
{
super("crag", new PropsBuilder("Crag").withGuiColour(5209457).withTemperature(0.5F).withRainfall(0.5F).withWaterColor(944693));
super("crag", new PropsBuilder("Crag").withGuiColour(5209457).withTemperature(0.5F).withRainfall(0.5F));
// terrain
this.terrainSettings.avgHeight(80).heightVariation(80, 200).minHeight(40).sidewaysNoise(0.7F);
this.terrainSettings.avgHeight(100).heightVariation(80, 200).minHeight(40).sidewaysNoise(0.7F);
this.canSpawnInBiome = false;
this.canGenerateVillages = false;
@ -31,18 +43,27 @@ public class BiomeGenCrag extends BOPOverworldBiome
this.beachBiomeLocation = null;
this.fogColor = 0xA06F45;
this.addWeight(BOPClimates.COLD_SWAMP, 1);
this.spawnableCreatureList.clear();
this.spawnableWaterCreatureList.clear();
this.topBlock = BOPBlocks.crag_rock.getDefaultState();
this.fillerBlock = BOPBlocks.crag_rock.getDefaultState();
this.skyColor = 4944498;
this.topBlock = Blocks.GRAVEL.getDefaultState();
this.fillerBlock = Blocks.STONE.getDefaultState();
this.avgDirtDepth = 8;
// gravel, cobblestone, overgrown stone
IBlockPosQuery surface = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create();
this.addGenerator("overgrown_stone_patches", GeneratorStage.SAND, (new GeneratorSplotches.Builder()).amountPerChunk(24).splotchSize(16).placeOn(surface).replace(surface).with(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_STONE)).scatterYMethod(ScatterYMethod.AT_SURFACE).create());
this.addGenerator("cobblestone_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(4.0F).replace(surface).with(Blocks.COBBLESTONE.getDefaultState()).create());
this.addGenerator("stone_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(4.0F).replace(surface).with(Blocks.STONE.getDefaultState()).create());
// grasses
GeneratorWeighted grassGenerator = new GeneratorWeighted(4.0F);
this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator);
grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).generationAttempts(128).create());
grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create());
grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create());
grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).generationAttempts(128).create());
// gem
this.addGenerator("emeralds", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(Blocks.EMERALD_ORE.getDefaultState()).create());

View file

@ -119,11 +119,11 @@ public class BlockBOPMushroom extends BlockBOPDecoration
case TOADSTOOL:
return BlockQueries.fertileOrNetherrack.matches(world, pos.down());
case GLOWSHROOM:
return (BlockQueries.sustainsCave.matches(world, pos.down()) || world.getBlockState(pos.down()).getBlock() == Blocks.STONE);
return (BlockQueries.sustainsCave.matches(world, pos.down()) || BlockQueries.sustainsNether.matches(world, pos.down()) || world.getBlockState(pos.down()).getBlock() == Blocks.STONE);
case SHADOW_SHROOM:
return BlockQueries.endish.matches(world, pos.down());
default:
return BlockQueries.fertile.matches(world, pos.down());
return BlockQueries.fertileOrNetherrack.matches(world, pos.down());
}
}

View file

@ -369,7 +369,7 @@ public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHo
case SPECTRALFERN:
return BlockQueries.spectralMoss.matches(world, pos.down());
case THORN:
return BlockQueries.litFertileOrDry.matches(world, pos.down());
return BlockQueries.fertileOrNetherrack.matches(world, pos.down());
case CATTAIL:
return BlockQueries.litFertileWaterside.matches(world, pos.down());
case RIVERCANE:

View file

@ -14,6 +14,7 @@ import static biomesoplenty.api.biome.BOPBiomes.bayou;
import static biomesoplenty.api.biome.BOPBiomes.birch_forest_extension;
import static biomesoplenty.api.biome.BOPBiomes.birch_forest_hills_extension;
import static biomesoplenty.api.biome.BOPBiomes.bog;
import static biomesoplenty.api.biome.BOPBiomes.boneyard;
import static biomesoplenty.api.biome.BOPBiomes.boreal_forest;
import static biomesoplenty.api.biome.BOPBiomes.brushland;
import static biomesoplenty.api.biome.BOPBiomes.chaparral;
@ -23,6 +24,7 @@ import static biomesoplenty.api.biome.BOPBiomes.cold_taiga_extension;
import static biomesoplenty.api.biome.BOPBiomes.cold_taiga_hills_extension;
import static biomesoplenty.api.biome.BOPBiomes.coniferous_forest;
import static biomesoplenty.api.biome.BOPBiomes.coral_reef;
import static biomesoplenty.api.biome.BOPBiomes.corrupted_sands;
import static biomesoplenty.api.biome.BOPBiomes.crag;
import static biomesoplenty.api.biome.BOPBiomes.dead_forest;
import static biomesoplenty.api.biome.BOPBiomes.dead_swamp;
@ -74,6 +76,7 @@ import static biomesoplenty.api.biome.BOPBiomes.orchard;
import static biomesoplenty.api.biome.BOPBiomes.origin_island;
import static biomesoplenty.api.biome.BOPBiomes.outback;
import static biomesoplenty.api.biome.BOPBiomes.overgrown_cliffs;
import static biomesoplenty.api.biome.BOPBiomes.phantasmagoric_inferno;
import static biomesoplenty.api.biome.BOPBiomes.plains_extension;
import static biomesoplenty.api.biome.BOPBiomes.polar_chasm;
import static biomesoplenty.api.biome.BOPBiomes.prairie;
@ -124,7 +127,10 @@ import biomesoplenty.api.biome.IExtendedBiome;
import biomesoplenty.api.config.IConfigObj;
import biomesoplenty.api.enums.BOPClimates;
import biomesoplenty.common.biome.nether.BOPHellBiome;
import biomesoplenty.common.biome.nether.BiomeBoneyard;
import biomesoplenty.common.biome.nether.BiomeCorruptedSands;
import biomesoplenty.common.biome.nether.BiomeFungiForest;
import biomesoplenty.common.biome.nether.BiomePhantasmagoricInferno;
import biomesoplenty.common.biome.nether.BiomePolarChasm;
import biomesoplenty.common.biome.nether.BiomeUndergarden;
import biomesoplenty.common.biome.nether.BiomeVisceralHeap;
@ -421,7 +427,10 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry
addIslandBiome(mangrove, 10);
// nether biomes
boneyard = registerNetherBiome(new BiomeBoneyard());
corrupted_sands = registerNetherBiome(new BiomeCorruptedSands());
fungi_forest = registerNetherBiome(new BiomeFungiForest());
phantasmagoric_inferno = registerNetherBiome(new BiomePhantasmagoricInferno());
polar_chasm = registerNetherBiome(new BiomePolarChasm());
undergarden = registerNetherBiome(new BiomeUndergarden());
visceral_heap = registerNetherBiome(new BiomeVisceralHeap());

View file

@ -70,7 +70,6 @@ public class ModBlocks
farmland_1 = registerBlock( BlockBOPFarmland.paging.getBlock(1), "farmland_1", null);
stone = registerBlock( new BlockBOPStone(), "stone" );
crag_rock = registerBlock( (new BlockBOPGeneric()), "crag_rock" );
dried_sand = registerBlock( (new BlockBOPGeneric()).addSupportedPlantType(EnumPlantType.Desert), "dried_sand"); dried_sand.setHarvestLevel("pickaxe",0);
hard_ice = registerBlock( (new BlockBOPGeneric(Material.PACKED_ICE, SoundType.STONE)).setHardness(0.75F), "hard_ice" );
ash_block = registerBlock( new BlockBOPAsh(), "ash_block" );

View file

@ -1,5 +0,0 @@
{
"variants": {
"normal": { "model": "biomesoplenty:crag_rock" }
}
}

View file

@ -470,7 +470,6 @@ tile.willow_wood_slab.name=Willow Wood Slab
tile.willow_stairs.name=Willow Wood Stairs
tile.hard_ice.name=Hardened Ice
tile.dried_sand.name=Dried Sand
tile.crag_rock.name=Crag Rock
tile.mud_brick.name=Mud Bricks
tile.crystal.name=Celestial Crystal

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "biomesoplenty:blocks/crag_rock"
}
}

View file

@ -1,10 +0,0 @@
{
"parent": "biomesoplenty:block/crag_rock",
"display": {
"thirdperson": {
"rotation": [ 10, -45, 170 ],
"translation": [ 0, 1.5, -2.75 ],
"scale": [ 0.375, 0.375, 0.375 ]
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 769 B