Biome-Specific Caves: Less Gray Please!

Snapshot MC Home SnapshotMC Forums! Creative Circle Minecraft Suggestions Biome-Specific Caves: Less Gray Please!

Tagged: 

This topic contains 0 replies, has 1 voice, and was last updated by GameWyrm GameWyrm 1 week ago.

  • Creator
    Topic
  • #1741
    GameWyrm
    GameWyrm
    @gamewyrm

    (This originally appeared on the Minecraft Forum here)
    <p style=”text-align: center;”>Biome-Specific Cave Generation<br style=”box-sizing: inherit; color: #474747; font-family: Helvetica,Arial,&quot; helvetica neue&quot;,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: center; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;” /> Make caving a more varied experience!<u></u></p>
    The Problem

    On the title screen, there are two words melded into one stating the name of the game: Mine and Craft. If that is the case, then you would expect that this game would have a great deal of emphasis on those two things. However, they’re a bit more bland then you would expect. I’ve touched on crafting before, but now I want to make a suggestion to improve the ambient mining experience.

    Think of any cave in any part of the world. That cave in the plains? Full of stone on stone. The desert? Stone on stone. The jungle? Stone on–you get what I’m trying to say here. Every cave, no matter where it is, is exactly the same, and frankly it’s pretty boring. Wouldn’t it be nice if the underground was as varied as the overworld?

    The Solution

    I think the easiest and most streamlined way to add this would be to make the underground consist of different blocks and populating caves with biome-specific decoration items. This would make most biomes look distinct, as well as increase the desire to explore beyond your initial cave. In full, biomes will effect:

    The “main block” of the biome (i.e. stone)
    Decoration blocks that make the caves less boring (such as mushrooms)
    How high lava lakes generate, if at all
    The amount of ore that generates in the biome
    How common underground structures such as mineshafts, ravines, and dungeons are.
    For this suggestion, I will go over each biome one by one. Variants of a biome, such as Extreme Hills M, will be counted as the same as their parent biome. They are given in the same order that the wiki names them.

    Biomes

    Ice Plains and Ice Plains Spikes: Instead of stone, packed ice generates, with regular ice taking the place of dirt. The occasional underground boulder (an oblong sphere 3-7 blocks tall and 4-11 blocks long and wide) of stone can be found, and these boulders are guaranteed to have non-coal ore somewhere in them. Ores do generate in the ice and gold and diamond are slightly more common (by 20%), but the overall size of coal and iron veins are decreased by half. Patches of gravel spawn very rarely. Lava lakes do not generate and are all replaced by water lakes. New icicle blocks can spawn on ceilings, which, when the block they are under is destroyed, they fall and damage any entities underneath by 4 points (2 hearts). Like on the surface, all skeletons have an 80% chance to spawn as a stray.

    Cold Taiga and Cold Taiga M: The underground is filled with snow blocks, so you’d better bring a shovel. Boulders with ore spawn here as well, and are more common the deeper you go. Instead of dirt, bunches of packed ice spawn instead. Ore generation is normal, except diamonds and gold ore veins spawn 50% less frequently. Gravel spawns rarely. Dungeons and enemies spawn 20% less commonly. Strays replace 50% of all skeletons. Lava lakes spawn at only y8 or lower and are surrounded by stone. There are no decoration blocks in this biome.

    Frozen River and Cold Beach: Identical to Ice Plains.

    Extreme Hills, Extreme Hills M, Extreme Hills +, and Extreme Hills + M: This biome is composed mostly of stone, and is mostly unchanged, except andesite is 5x as common. Mushrooms are rarely found in low levels, and there are two new decoration blocks. Stalagmites generate on the top of stone blocks and increase fall damage that one takes by landing on it by 2 points (affected by feather falling; you do not take damage from a 3 block or less fall). When mined or the block under them is mined, a stalagmite will have a 20% chance to drop 1 cobblestone. Stalactites also spawn, which are functionally the same as icicles and drop 1 cobblestone with a 20% chance. Dungeons spawn with polished andesite walls.

    Taiga, Taiga M, Mega Taiga, and Mega Spruce Taiga: These generate normally, but occasional have a boulder generate without ore that is made of mossy cobblestone. Stalagmites and stalactites spawn.

    Stone Beach: Normal generation. Stalagmites and stalactites spawn.

    Plains and Sunflower Plains: Gravel is more common. Above y50, dirt can generate as a new grass variant called “cave grass” that doesn’t need light or to be exposed to the sky. Stalagmites and stalactites spawn.

    Forest: Cave grass replaces dirt at or above y45. Occasionally, a small, spherical room can occasionally generate where the floor is cave grass and 1-4 oak trees can generate. Lava lakes cannot generate near these rooms. Stalagmites and stalactites spawn.

    Flower Forest, Birch Forest, Birch Forest M, Roofed Forest, and Roofed Forest M: Identical to forest, but the room can generate with a variety of flowers (Flower Forest), 1-4 birch trees (Birch Forest and Birch Forest M), or 1-3 dark oak trees (Roofed Forest or Roofed Forest M). Stalagmites and stalactites spawn.

    Swampland and Swampland M: The underground is primarily dirt, with only boulders being a source of stone. Water lakes generate from surface to bedrock, and are much wider than normal. They also generate with lily pads. Vines will generate commonly on the sides of caves. Mushrooms generate at lower levels, and a new glowing mushroom block generates as well. It can’t be used for mushroom soup, but it gives off a light value of 6. Slimes spawn underground at a rate that is 50% higher than the rate on the surface, which is based off of the phase of the moon. There are also slime dungeons, which spawn slimes based on the phase of the moon.

    New moon: Size 1
    Crescent: Size 1 and 2
    Quarter: Size 2
    Gibbous: Size 2 and 4
    Full: Size 4. 1% of slimes spawned by the spawner will spawn as a massive size 8 slime, but only if space allows.

    Jungle, Jungle M, Jungle Edge, and Jungle Edge M: These biomes generate as dirt with the occasional stone boulder. Any dirt blocks with a transparent block above it generate as cave grass. Ravines are much more common, and you are practically guarenteed to have at least one underground ravine per jungle. Ravines are surrounded with vines, and small jungle trees generate from the base of the ravines. Lava never fills the bottom of ravines, but generates in lakes like normal. The occasional mushroom and glowing mushroom can be found as well. Dungeons are made surrounded by mossy and chiseled stone brick.

    River and Beach: Identical to Plains generation.

    Mushroom Island and Mushroom Island Shore: Identical to Jungle, but cave grass is replaced with mycelium, no vines grow, and jungle trees are replaced with giant mushrooms. All three kinds of mushrooms generate very commonly. Dungeons do not generate, and no hostile mobs naturally spawn.

    Desert and Desert M: Instead of stone, sandstone generates, and boulders can occasionally be found. Instead of dirt and gravel, patches of sand appear, and on these patches, you can occasionally find a cactus. Dungeons generate surrounded by carved sandstone. Lava lakes generate commonly from surface to bedrock. 80% of all zombies spawn as husks instead.

    Savanna and Savanna M: Generates similar to the Forest biome, but will rarely spawn a room with a single acacia tree.

    Mesa and Mesa (Bryce): Underground generates with layers of stained clay. Bolders filled with gold ore generate occasionally. Half of all zombies spawn holding a stone or iron pickaxe. Granite boulders can also be found. Dungeons spawn with polished granite walls.

    Mesa Plateau F, Mesa Plateau F M, Plateau, Plateau M, Hills, Plains M, Frozen Ocean, and Extreme Hills Edge: These are all variants of other biomes, and will generate the same as their parent biome.

    Ocean and Deep Ocean: These generate similar to regular caves, but they are all flooded and only spawn guardians. To make up for the added difficulty of navigation, diamond ore veins are twice as common. If a lava lake generates, a layer of obsidian generates on top of it.

    The Void: Generates like normal, a 33×33 stone platform with a single block of cobblestone in the center. What did you expect?

    Biome Transitions

    When two biomes meet, the two biomes meld together with their primary block. This is accomplished by making each block at a particular position generate either with nearby biomes or it’s own biome. First, the game scans the block three blocks north, west, south, and east, and sees if any of them are in a different biome than the biome of the block being generated. If they are, the generator attempts a transition. It then generates blocks to create a smooth transition using similar code to this:

    //create variables we can change

    int nx=x;

    int ny=y;

    int nz=z;

    //to prevent overflow, we reduce the value of these variables to less than 100 but greater than 0

    if(nx<1)nx=nx*-1+1;

    if(ny<1)ny=ny*-1+1;

    if(nz<1)nz=nz*-1+1;

    if(ny==nx)ny++;

    if(nx>=100)nx=nx%100;

    if(ny>=100)ny=ny%100;

    if(nz>=100)nz=nz%100;

    //we perform a calculation to determine the value of the currently generated block

    int biomeBlock=(seednxny*nz)%13;

    For those of you non-coders out there, this will create a number between 0-12 which is used to generate the block at any particular position. The number will cause the generator to create a block from the biome that is:

    0: itself
    1: one block south
    2: one block east
    3: one block north
    4: one block west
    5: two blocks south
    6: two blocks east
    7: two blocks north
    8: two blocks west
    9: three blocks south
    10: three blocks east
    11: three blocks north
    12: three blocks west.

    If the generator attempts to reference the biome of a block that has not yet generated, it guesses the biome based on regular biome generation algorithms.

    If an underground lake spawns on the border between two biomes, it will generate as a lava lake and be surrounded by stone unless both biomes can only generate water lakes or it is above both biomes’ max level for lava spawning, in which case it will generate a regular water lake.

    Well, that’s everything. If I missed a biome or if you have a question, feel free to tell me! I am also trying to find a good biome to make diorite more common in, so you are invited to give feedback on that.

You must be logged in to reply to this topic.