These are world generation mods which I originally made for myself with the main feature being modified cave and ravine generation. The double and triple height versions increase the height/depth of terrain relative to the average ground level, with double-height adding 64 more blocks and triple-height adding 128, without otherwise changing terrain generation; the highest mountains in triple-height come within a few blocks of the world height limit.
Triple-height in particular increases the size of caves and ravines (double-height and original to a lesser extent), and together with double-height also modifies abandoned mineshafts so they generate higher up; ore distribution was also changed to reflect the increase in ground depth and/or changes in lava flood level in caves. Note that strongholds still generate at their normal depths, which can be as low as around y=10, as do diamond and redstone ores (reduced by 5 layers in the original mod and 2 in double-height); other ores, like iron, generate proportional to the increase in terrain height; for example, from 0-63 to 0-127 and 0-191 respectively for iron. I also made a few tweaks such as removing void fog (very prevalent otherwise since caves go down to y=6, 5 layers lower than normal) and increasing cloud height (Optifine can otherwise do these as well; note that the cloud height option in Optifine adjusts cloud height based off the new heights I set it to).
Also, double-height terrain has two versions, one with very large cave systems and another without, while triple-height terrain does away with them altogether but makes more changes to cave/ravine generation, with a greater range in cave/ravine sizes.
Updated 2/21: Triple-height terrain now has its own world type when you install the mod, as shown below; note that if you update the mod, you have to change generatorName to triple_height or new chunks will generate like a default world:
To install this mod, first make sure that you have ran 1.6.4 at least once so its files are downloaded, then copy the ".minecraft\versions\1.6.4" folder and rename the copy and the jar file inside to "1.6.4_mods", and replace "1.6.4.json" with the custom json provided above (the same file can be used with any mod; you can also use a different name if you change "id": "1.6.4_mods" inside the file, which must all match). Then, open the jar with an archive tool (7Zip, WinRar) and add the files within the zip you downloaded and delete META-INF (this is the same as installing any other non-modloader mod except for the json due to the 1.6+ launcher).
Note that I used this mod with Optifine (install in the same manner as described above by copying the contents of its jar over, not with its installer) but can't guarantee compatibility with any other mods, especially any that alter world generation, or Forge. In addition, I suggest adding the JVM argument -Xss1024K if you have a 32 bit system (64 bit uses this by default, 32 bit is 320K; increasing it further, but to no more than 2-4 MB, may also be helpful) since I occasionally get stack overflow crashes (MC-32168, due to very large water/lava flows) when generating new terrain without it; this is a pretty demanding mod due to 2-3x as much terrain generated per chunk and many more caves, with similar considerations to Amplified, but still much less demanding than newer versions.
Following are some screenshots and comparisons to normal world generation:
Normal generation vs. Double Height generation, as rendered with MCMap; note that the spawn point may change a bit but is within a few chunks in seeds I have tested (triple-height is similar but deeper):
As you can see here, terrain generation is identical other than being higher up and surface-based features being different (some things, like trees, don't use the world seed):
Comparison of with and without void fog, showing the reason for its removal (note that void particles are also removed, so if particles give you lag this can help a lot):
Comparison of caves between normal, double, and triple height generation:
Normal:
Double-height:
(note that even without the massive caves version of double-height cave systems can still become very large; this is actually a different world from the one shown above/MCMap renderings because that one had a massive cave system which I considered to be unrepresentative)
Triple-height (note, view at full size to compare maps, which all use the same scale):
Also, here is a supercolossal cave system in the massive caves version of double-height, followed by a large-scale (3008x4000) map:
Some screenshots of caves and ravines (some were taken using a texture pack, thus why water looks different in some):
Looking underground from the surface over a large cave system (note that even on Far render distance you can see fog in the lower caves):
Some giant caves:
And now some ravines:
This one looped around onto itself, leaving a floating pillar:
A very long drop (ravines can reach from the surface to bedrock, even in the triple-height version, although this is so rare that I've only found them by forcing the ravine height to the maximum value, but it is definitely possible):
A larger ravine as seen on Rei's Minimap, around 260 blocks long around the edge (one-way):
Here's another look at caves and ravines, taken by using the new spectator gamemode on my triple-height world:
Despite all of the caves, this is all you'll ever see at the surface, with a single cave opening per cave system (or more if several joined together), unless there is exposed stone or sand collapses into a cave/ravine:
These caves (generated separately from other caves) spiral downwards to bedrock, and cave systems have a minimum number of caves, virtually guaranteeing that they lead to something. There are also very long caves (up to about 560 blocks long, excluding bends) scattered around the map; while bigger on average, cave systems are also more separated and these caves act like a sort of "highway" between systems.
Note also that I do not plan to update this to 1.7 or beyond, at least for now, which poses problems because of the changes in terrain generation, which is now able to go to the world height limit; rarely, even in default (e.g. Savannah M) and I don't want to change the surface.
That said, you might want to try out these other mods I have made, including some for 1.7+:
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4; this is a very comprehensive mod and the only one listed here that I still regularly update.
The Meaning of Life, the Universe, and Everything.
Join Date:
6/2/2013
Posts:
140
Minecraft:
goteer10
Member Details
Cool mod for people that want the bigger world without giving their entire list of 1.6.4 mods , I won't use it because I'm not interested, but good idea
Edit: What I mean with "without giving their entire list of 1.6.4 mods" is that 1.7 has the AMPLIFIED world generation, that doubles the world height
Cool mod for people that want the bigger world without giving their entire list of 1.6.4 mods , I won't use it because I'm not interested, but good idea
Edit: What I mean with "without giving their entire list of 1.6.4 mods" is that 1.7 has the AMPLIFIED world generation, that doubles the world height
This isn't quite the same as Amplified; terrain generation is the same as vanilla (a few features are different, such as the position of lakes) except everything is 64 blocks higher, so no bigger mountains, deeper oceans, or anything like that. For example, this is a bit of the code that writes the terrain data into the array used to store the data; you can see that I just changed a multiplier (the array size was doubled from 32768 to 65536 elements) and added 64 to the calculated array index (note that I also did some optimizing; I added the xz variable and placed it outside the loop so that is is only calculated once; there are two outer loops for the x/z coordinates, var16 is the y-coordinate):
// Changed 128 to 256 and added 64 to array index; also optimized code by
// adding in xz to avoid recalculating (var9 * 16 + var8) * 256 in every loop
int xz = (var9 * 16 + var8) * 256;
for (int var16 = 127; var16 >= 0; --var16)
{
int var17 = xz + var16 + 64;
...
// Fills in lower 64 blocks with stone and one layer of bedrock at y = 0
for (int y = 63; y >= 1; --y)
{
par3ArrayOfByte[xz + y] = (byte)Block.stone.blockID;
}
par3ArrayOfByte[xz] = (byte)Block.bedrock.blockID;
Note that I also made much more significant changes to the code that actually converts the terrain data into block data (the array used when generating terrain is separate from the ones used to hold block data in a chunk); I had to split the code so that the Nether and End (still with 128 high terrain) generate normally (as for making the Nether 256 high, that would require changing the terrain generation algorithms; that is, the stuff that actually defines the shape of the terrain).
please guy i want your seed and your version of the double height mod , i would tottaly love these cave systems, also 2 questions.
Will this mod work with biomes o plenty?
will this mod work with forge mods that add ores?
I have no idea if it is compatible with BoP or ore-adding mods, since Forge adds in code that enables mods to add things in and that isn't present in the vanilla code and Forge won't try to patch modified classes, even if you add in -Dfml.ignorePatchDiscrepancies=true, which simply stops Forge from refusing to run the game. Note also that my personal version was made for the server side; I used Minecraft Land Generator to pre-generate a world because of performance issues generating terrain over the largest cave systems; otherwise, I only use a few modified classes while playing to ensure that elevation-specific mobs spawn normally (e.g. slimes normally spawn near sea level in swamps, I had to raise this by 64; by contrast, I doubled the range of slime chunks from (less than) 40 to 80).
That said, you could try it and use MCEdit to analyze a test world to see if custom ores were added in (you don't really have to know how to use MCEdit; just press Ctrl+A to select all and click the Analyze button; new blocks will show up as "Future Block!" with their respective block IDs). That said, I got a custom ore for a mod I use in by adding a new block in the Block.java class with the same numeric ID as in the Forge mod and adding the code to generate it into BiomeDecorator along with other ores (this requires editing and recompiling a class though and only works for a pre-generated world).
Also, even without the really big cave systems in my personal version, cave systems can still become very large, as you can see in the first example image I posted; here is what Unmined shows underground (I used a different world for my Unmined example because I considered this to be unrepresentative, although including this helps to show the variation):
Note that this is a 1:1 scale image (1 pixel = 1 block), which means that the cave system at the bottom stretches across at least 500 blocks, extending northeastwards for over 600 (the size is simply due to random placement making multiple systems merge together); the seed used for this world is 514952719897988976.
Also, I noticed that you can get a lot of lava springs near bedrock with this mod; for example there are 7 in one small area in this ravine (not all over though):
However, I only doubled the range they generate in, but didn't increase the number to compensate like I did with some other things, although the y-position is a highly non-linear function (it looks like most of them normally try to generate under lava; up to 20 will attempt to generate per chunk, as well as up to 50 water springs):
Also, check out that ravine as seen on Unmined (located at about -410, 90, with another nearby to show how they vary; there are also two much smaller ravines (not visible) located over it but not connected; they can generate up to about y=100; I also actually made them about 20% less common due to being bigger on average):
Yeah, one end of the ravine actually comes out of the side as it loops over onto itself.
One thing I want to add regarding Forge; I have been adding my own mods by adding them as a library, placing the class files into a jar (renaming the zip to a jar will work), following the instructions given here (add -1.6.4 to the end of the file name so it is now DoubleHeightTerrain-1.6.4.jar). The advantage of this method, besides being much easier to change mods (just change the mod jar), is that you don't need to make a backup of your Forge jar; you only have to remove the reference to the library from the JSON file if you don't want it anymore or it doesn't work.
Note again that I only did this to add a few classes so that mobs spawn correctly at the new altitudes, not with the entire mod shown here, although previously I added my cave generation mods, but without the changes to terrain generation, without problems (I don't use any other world generation mods though, aside from one that adds a new ore, and as mentioned above, I added it to the pre-generated world by adding the block ID; I also actually made the ore myself, so it was easy to copy the code over).
I could make a version for Forge, based off the Forge source, but this might only work for a specific Forge version; Forge modifies the base code so that mods can interact with it without directly modifying it; I'm not even sure if what I did is possible with an actual Forge mod (that is, one you put into the mods folder).
please guy i want your seed and your version of the double height mod , i would tottaly love these cave systems, also 2 questions.
With what I said in my previous reply in mind, here is a version that includes "supermassive" and "supercolossal" cave systems. But be aware that this can be VERY demanding; I may not have the fastest computer (only a 2.2 GHz dual-core AMD Athlon 64 X2, although note that Minecraft is single-threaded per server/client, so that fancy 8 core CPU won't be faster except for clock speed/architecture improvements), but I don't have any problems when flying around without them, aside from occasional chunks not rendering (the main reason I use Optifine, not even necessarily related to computer power). However, this is what happens when I try to do this with this version:
(here I am actually in a chunk that doesn't exist because it hasn't generated yet, similar to a chunk error, also the cause of the black sides since there is no lighting)
It also locks up the server while flying, as indicated by the pointer on a map freezing when I keep moving until I wait for it to catch up and the sun/mobs jumping around (no doubt if you had a single-core CPU it would also lock up the client/result in severe lag spikes), which is why I pre-generated a world with this. The reason why these place so much demand on the game is because they generate as single cave systems, unlike the example posted above, which is multiple smaller systems combined, plus the generation range is much larger, placing exponentially more demand on the game, as with render distance (that said, if I just walk the game doesn't freak out).
But anyway, this is what you get (there is a supermassive cave system to the southwest, making it even more demanding when both are in the generation range):
Note that normal cave systems and ravines don't generate inside of them, plus a border; they also generate at fixed 512 and 1024 block intervals along the X/Z axes (starting at 256 and 512 blocks from (0,0) in a grid with a random chance of generating at any point (1 in 8 for supermassive and 1 in 6 for supercolossal cave systems; or averaging one in 8,192 and one in 24,576 chunks respectively; otherwise, cave generation is the same).
Hey, I saw this thread and I instantly saw how cool this mod was. There is just one request that I had, would it be possible to add your generation to a new world type? I see the generation as being really cool, but I don't think I would want all my worlds to be that tall. I thought that could be a minor improvement. I don't know how hard that would be to implement, but just my thoughts. Thanks for reading, and your mod is real cool
Hey, I saw this thread and I instantly saw how cool this mod was. There is just one request that I had, would it be possible to add your generation to a new world type? I see the generation as being really cool, but I don't think I would want all my worlds to be that tall. I thought that could be a minor improvement. I don't know how hard that would be to implement, but just my thoughts. Thanks for reading, and your mod is real cool
You can create a separate profile for this mod, and keep the worlds created under it separate, which will also avoid accidentally opening it in a version without the mod; this is what happens if you do this and explore new areas:
Interestingly, abandoned mineshafts that partially generated under the mod fully generate normally but in midair, likely because the game saves structure data so they don't get cut off when the generation changes.
I don't have any experience in writing mods for Forge, although I have previously looked up how to make a Forge mod to replace vanilla terrain generation; a couple months ago I posted a thread asking if there were some way to do this but didn't get any replies (this before my more dramatic modifications to the actual terrain generation); the code does appear to provide the ability to at least replace the cave/ravine generation, but I don't see anything that might change more fundamental things like my changes to the chunk generation, although a previous poster linked to the Better World Generation mod, which is for Forge and certainly makes significant changes.
Having said that, if I modify the Forge source (basically the same as vanilla but with stuff added in so mods can modify it), it works without any problems, but possibly only for the same version of Forge that the source was from, although I doubt there are significant changes from version to version (versions of Forge, not Minecraft).
But as always, you can try adding it to the jar and test it to see if other mods work properly with it; I have added my own mods to Forge without problems by using the method described here for Optifine (this also means you can easily remove or change mods without actually messing with the Forge jar, or having to back it up, if not as simple as just placing it into the mods folder).
FWIW, here is a list of classes that I modified; most of them were modified to fix/adjust ranges of features/mobs; for example, normally trees in swamps don't generate above y=128 (changed to 256), slimes between levels 51-69 in swamps (64 added to both values); slime chunk spawning changed from below 40 to below 80, etc:
I guess at the least I could find out how to add in a new world type, which would then be saved in level.dat in some way (or a file with the world save), adding in code to the other classes so they behave as normal unless you use my generation (I guess that being able to configure individual things would also be nice; for example, keep iron ore generation the same as vanilla, making it harder to obtain; 64 blocks below sea level instead of at the surface).
Do you know if it is possible to create a world with a solid ground (no caves or ravines or any open spaces below the ground)?
That's easy; just disable the cave/ravine generation and remove underground lakes (restrict their y-range to near sea level) and even structures (perhaps not strongholds since you can't go the the End without them). I was even able to easily remove caves (I left everything else in) from 1.7 in another mod I made by using Java Bytecode editor to set their size to 0 (I found the code with the help of Java Decompiler and 1.6 source, using Windows grep to search for strings specific to the classes; only takes around 5-10 minutes to find, edit, and test them).
BTW, I've updated the mod a few times over the past few days to include optimizations; mostly removing calculations from inner loops and placing them outside the loops*; I also cut off 32 blocks from the vanilla terrain (which is all underground) and added it to the loop I made to fill in the lower parts with solid stone (that is, caves, ores, etc, are created after the terrain is initially generated as solid stone to the surface layers), and only write the lower 192 blocks of terrain data into the arrays used to store block data since it never exceeds 192.
*For example:
I changed this code in generateTerrain in ChunkProviderGenerate (removed irrelevant code and spaces so it doesn't wrap)...
for (int var10 = 0; var10 < var4; ++var10)
{
int var104 = var10 * 4;
for (int var11 = 0; var11 < var4; ++var11)
{
int var114 = var11 * 4 << 8;
for (int var12 = 0; var12 < var5; ++var12)
{
int var128 = var12 * 8;
for (int var31 = 0; var31 < 8; ++var31)
{
for (int var42 = 0; var42 < 4; ++var42)
{
int var43 = var42 + var104 << 12 | var114 | var128 + var31 + 64;
(the first one is vanilla; you can see what I changed in the second, aside from replacing repeated calculations with variables, and why the heck do they add zero in the last line in the vanilla code; I've also seen them multiplying by one as well)
I don't know if you already did or if any mod pack already has a mod like this but you should submit this to a mod pack like FTB or tekkit. Love the mod btw
I don't know if you already did or if any mod pack already has a mod like this but you should submit this to a mod pack like FTB or tekkit. Love the mod btw
I'm not sure it it would be compatible with those mods; these mods are not Forge mods, although I use them myself in Forge by adding them as a library without problems (see here), but I don't use any other world-generation changing mods (even if it were a Forge mod some of my changes likely break compatibility anyway; for example, I had to change the way chunks are handled in order to get terrain to properly generate above y=128). Mods that just add items and the like are all likely compatible, however.
Note that the mods that I use myself were also compiled using the Forge source for the same version I'm playing on, not sure how well different Forge versions (e.g. 9.11.1.965 vs 9.11.1.960) are compatible with each other though; I know that Optifine often mentions a very specific Forge version it is compatible with, I had no problems installing it in a different version though using the method linked to above, this in 1.6.2, before full Forge support.
Also, here is a list of all of the classes I modified; many only have small changes though; for example, in the scattered feature classes, I changed a number from 64 to 192 to correct for the new average ground level (otherwise, you can get odd things like underground desert temples):
(the version I use myself also modifies the mineshaft corridor and stronghold classes to remove torches, since I use a mapping utility that finds torches to show explored caves and only want to see what I've explored; I even modified the utility in question to sue a more realistic (smaller) range for areas displayed around torches)
Note also that MapGenCaves combines three separate classes into one (the original MapGenCaves, MapGenRavine and MapGenBase), with corresponding changes to how it is declared (e.g. in ChunkProviderGenerate it is normally "private MapGenBase caveGenerator = new MapGenCaves();" and I changed MapGenBase to MapGenCaves). This also means that any custom dimension that tries to access MapGenCaves will crash because it is referenced wrongly (I suppose I could change the name of my MapGenCaves class so it doesn't replace the vanilla one, but I never wrote these mods for compatibility).
Also of interest, I based these mods in part on FewerRavinesLessCaves (which can be set to do the opposite of its name) and Crazy Ravines and Caves; that is to say, I looked at their source code to see how they changed caves and ravines, though I've made many more modifications*. The Wedge mod also showed me how to generate terrain to the world height limit.
*For example, here is part of my ravine generating code (I also modified generateRavine itself):
// Controls the width of ravines
float f2 = this.rand.nextFloat() * this.rand.nextFloat() * 7.0F + 1.5F;
float width = (this.rand.nextFloat() * 2.0F + this.rand.nextFloat()) * f2;
if (width < 1.25F) width = 1.25F;
if (width > 15.0F) width = 15.0F;
// Controls the height/depth of ravines
// Ravines can be as deep as the entire ground layer from bedrock to surface (~200 blocks)
double height = (double)(this.rand.nextFloat() * 3.0F + this.rand.nextFloat() * this.rand.nextFloat() * this.rand.nextFloat() * 9.0F + 2.0F);
// Controls the length of ravines (range is 8 to 64). Note: Sum of numbers should be 4 more than
// desired max (each rand() removes one from max). Weighted towards shorter ravines; 11 gives
// ravines near vanilla length.
int length = this.rand.nextInt(this.rand.nextInt(this.rand.nextInt(this.rand.nextInt(40) + 11) + 1) + 8) + 8;
// Controls the curviness of ravines (range is 0.0617 to 0.2, default is 0.05), averaging higher in
// longer ravines to help avoid glitches due to going outside the gen range. Also removed check for
// water in ravine generation code to prevent glitched ravines.
float curviness = this.rand.nextFloat() * 0.1F + (float)length / 400.0F + 0.041667F;
if (curviness > 0.2F) curviness = 0.2F;
this.generateRavine(this.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2, width, f, f1, height, length, curviness);
For comparison, here is the very simple vanilla code (only including what I've modified):
Note that in this case the parameter "f2", which I replaced with "width", controls both width and height, but I separated these; the 3.0D at the end controls the average height (the two zeros between f1 and 3.0D appear to be a holdover from copying+pasting the cave generation code, which is very similar; I just removed those parameters while adding others).
Also, one thing I could do is make a version that doesn't modify terrain, similar to my "original cave mod" but incorporating all of the changes and features I added since (i.e. triple-height terrain). I've also thought of trying to add in a new world type so you can play on a world with my mod or a normal world (or just do as I mention below, with defaults being the same as vanilla).
Also of interest, you might want to check out my Superflat Caves mod (for 1.6.4 and 1.7.2), which adds caves to Superflat, including customization (in this case, I made a new class file for the Superflat cave/ravine generator, with only minor changes to a couple other classes; another interesting idea is to enable Superflat customization for default worlds so you can change everything, except, of course, block layers).
I made an update to triple-height terrain that makes strongholds always generate walls even when in the air, somewhat similar to abandoned mineshafts generating wood floors; this avoids strongholds becoming badly cut up by caves and ravines, as was the case in my world (I've only found one so far, so the other two, if I find them, will be intact).
Here are screenshots of one in Superflat and in a cave:
Also, a popular misconception is that caves and ravines cut apart structures; in reality, they generate during the initial terrain generation phase, before structures, ores, and other features; the cave/ravine generators can also only remove stone, dirt, and grass, hence the lack of cave openings in biomes (desert, mesa) with something other than dirt/grass at the surface.
I made a major update to triple-height terrain: Now a separate world type, so default/large biomes/superflat world generation is the same as vanilla, although this means you can only get default biome generation in triple-height, but you can safely load vanilla worlds without fear of corruption (note that if you made a triple-height world previously you need to change the generatorName, as seen below, to triple_height, if you update the mod):
These are world generation mods which I originally made for myself with the main feature being modified cave and ravine generation. The double and triple height versions increase the height/depth of terrain relative to the average ground level, with double-height adding 64 more blocks and triple-height adding 128, without otherwise changing terrain generation; the highest mountains in triple-height come within a few blocks of the world height limit.
Triple-height in particular increases the size of caves and ravines (double-height and original to a lesser extent), and together with double-height also modifies abandoned mineshafts so they generate higher up; ore distribution was also changed to reflect the increase in ground depth and/or changes in lava flood level in caves. Note that strongholds still generate at their normal depths, which can be as low as around y=10, as do diamond and redstone ores (reduced by 5 layers in the original mod and 2 in double-height); other ores, like iron, generate proportional to the increase in terrain height; for example, from 0-63 to 0-127 and 0-191 respectively for iron. I also made a few tweaks such as removing void fog (very prevalent otherwise since caves go down to y=6, 5 layers lower than normal) and increasing cloud height (Optifine can otherwise do these as well; note that the cloud height option in Optifine adjusts cloud height based off the new heights I set it to).
Also, double-height terrain has two versions, one with very large cave systems and another without, while triple-height terrain does away with them altogether but makes more changes to cave/ravine generation, with a greater range in cave/ravine sizes.
Downloads
Custom version json: https://www.dropbox.com/s/nzfl80bwx31pe1d/1.6.4_mods.json
Original cave mod, no modifications to terrain height: https://www.dropbox....inalCaveMod.zip
Double-height terrain; without supermassive/colossal cave systems: https://www.dropbox....ightTerrain.zip
Double-height terrain with supermassive/colossal cave systems: https://www.dropbox....assiveCaves.zip
Triple-height terrain: https://www.dropbox....ightTerrain.zip
Updated 2/21: Triple-height terrain now has its own world type when you install the mod, as shown below; note that if you update the mod, you have to change generatorName to triple_height or new chunks will generate like a default world:
To install this mod, first make sure that you have ran 1.6.4 at least once so its files are downloaded, then copy the ".minecraft\versions\1.6.4" folder and rename the copy and the jar file inside to "1.6.4_mods", and replace "1.6.4.json" with the custom json provided above (the same file can be used with any mod; you can also use a different name if you change "id": "1.6.4_mods" inside the file, which must all match). Then, open the jar with an archive tool (7Zip, WinRar) and add the files within the zip you downloaded and delete META-INF (this is the same as installing any other non-modloader mod except for the json due to the 1.6+ launcher).
Note that I used this mod with Optifine (install in the same manner as described above by copying the contents of its jar over, not with its installer) but can't guarantee compatibility with any other mods, especially any that alter world generation, or Forge. In addition, I suggest adding the JVM argument -Xss1024K if you have a 32 bit system (64 bit uses this by default, 32 bit is 320K; increasing it further, but to no more than 2-4 MB, may also be helpful) since I occasionally get stack overflow crashes (MC-32168, due to very large water/lava flows) when generating new terrain without it; this is a pretty demanding mod due to 2-3x as much terrain generated per chunk and many more caves, with similar considerations to Amplified, but still much less demanding than newer versions.
Following are some screenshots and comparisons to normal world generation:
Normal generation vs. Double Height generation, as rendered with MCMap; note that the spawn point may change a bit but is within a few chunks in seeds I have tested (triple-height is similar but deeper):
As you can see here, terrain generation is identical other than being higher up and surface-based features being different (some things, like trees, don't use the world seed):
Comparison of with and without void fog, showing the reason for its removal (note that void particles are also removed, so if particles give you lag this can help a lot):
Comparison of caves between normal, double, and triple height generation:
Double-height:
(note that even without the massive caves version of double-height cave systems can still become very large; this is actually a different world from the one shown above/MCMap renderings because that one had a massive cave system which I considered to be unrepresentative)
Triple-height (note, view at full size to compare maps, which all use the same scale):
Also, here is a supercolossal cave system in the massive caves version of double-height, followed by a large-scale (3008x4000) map:
Some screenshots of caves and ravines (some were taken using a texture pack, thus why water looks different in some):
Some giant caves:
And now some ravines:
This one looped around onto itself, leaving a floating pillar:
A very long drop (ravines can reach from the surface to bedrock, even in the triple-height version, although this is so rare that I&#39;ve only found them by forcing the ravine height to the maximum value, but it is definitely possible):
A larger ravine as seen on Rei's Minimap, around 260 blocks long around the edge (one-way):
Here's another look at caves and ravines, taken by using the new spectator gamemode on my triple-height world:
Despite all of the caves, this is all you'll ever see at the surface, with a single cave opening per cave system (or more if several joined together), unless there is exposed stone or sand collapses into a cave/ravine:
These caves (generated separately from other caves) spiral downwards to bedrock, and cave systems have a minimum number of caves, virtually guaranteeing that they lead to something. There are also very long caves (up to about 560 blocks long, excluding bends) scattered around the map; while bigger on average, cave systems are also more separated and these caves act like a sort of "highway" between systems.
Note also that I do not plan to update this to 1.7 or beyond, at least for now, which poses problems because of the changes in terrain generation, which is now able to go to the world height limit; rarely, even in default (e.g. Savannah M) and I don't want to change the surface.
That said, you might want to try out these other mods I have made, including some for 1.7+:
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4; this is a very comprehensive mod and the only one listed here that I still regularly update.
No Void Fog and Cave/Ravine Generation Mods (1.7.x) - removes void fog and disable, restore pre-1.7 cave generation, or add even more caves/ravines.
Superflat Caves (1.6.4/1.7.2) - adds caves to Superflat worlds, with new preset and configurations
Random Biomes (1.7.2), makes biomes generate randomly, like before 1.7, includes optional cave generation mod
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Edit: What I mean with "without giving their entire list of 1.6.4 mods" is that 1.7 has the AMPLIFIED world generation, that doubles the world height
Click Please!
Viva Argentina!
Anyway, epic ! work with forge ore dictionary ?
This isn't quite the same as Amplified; terrain generation is the same as vanilla (a few features are different, such as the position of lakes) except everything is 64 blocks higher, so no bigger mountains, deeper oceans, or anything like that. For example, this is a bit of the code that writes the terrain data into the array used to store the data; you can see that I just changed a multiplier (the array size was doubled from 32768 to 65536 elements) and added 64 to the calculated array index (note that I also did some optimizing; I added the xz variable and placed it outside the loop so that is is only calculated once; there are two outer loops for the x/z coordinates, var16 is the y-coordinate):
Before:
After:
Note that I also made much more significant changes to the code that actually converts the terrain data into block data (the array used when generating terrain is separate from the ones used to hold block data in a chunk); I had to split the code so that the Nether and End (still with 128 high terrain) generate normally (as for making the Nether 256 high, that would require changing the terrain generation algorithms; that is, the stuff that actually defines the shape of the terrain).
I have no idea if it is compatible with BoP or ore-adding mods, since Forge adds in code that enables mods to add things in and that isn't present in the vanilla code and Forge won't try to patch modified classes, even if you add in -Dfml.ignorePatchDiscrepancies=true, which simply stops Forge from refusing to run the game. Note also that my personal version was made for the server side; I used Minecraft Land Generator to pre-generate a world because of performance issues generating terrain over the largest cave systems; otherwise, I only use a few modified classes while playing to ensure that elevation-specific mobs spawn normally (e.g. slimes normally spawn near sea level in swamps, I had to raise this by 64; by contrast, I doubled the range of slime chunks from (less than) 40 to 80).
That said, you could try it and use MCEdit to analyze a test world to see if custom ores were added in (you don't really have to know how to use MCEdit; just press Ctrl+A to select all and click the Analyze button; new blocks will show up as "Future Block!" with their respective block IDs). That said, I got a custom ore for a mod I use in by adding a new block in the Block.java class with the same numeric ID as in the Forge mod and adding the code to generate it into BiomeDecorator along with other ores (this requires editing and recompiling a class though and only works for a pre-generated world).
Also, even without the really big cave systems in my personal version, cave systems can still become very large, as you can see in the first example image I posted; here is what Unmined shows underground (I used a different world for my Unmined example because I considered this to be unrepresentative, although including this helps to show the variation):
Note that this is a 1:1 scale image (1 pixel = 1 block), which means that the cave system at the bottom stretches across at least 500 blocks, extending northeastwards for over 600 (the size is simply due to random placement making multiple systems merge together); the seed used for this world is 514952719897988976.
Also, I noticed that you can get a lot of lava springs near bedrock with this mod; for example there are 7 in one small area in this ravine (not all over though):
However, I only doubled the range they generate in, but didn't increase the number to compensate like I did with some other things, although the y-position is a highly non-linear function (it looks like most of them normally try to generate under lava; up to 20 will attempt to generate per chunk, as well as up to 50 water springs):
Also, check out that ravine as seen on Unmined (located at about -410, 90, with another nearby to show how they vary; there are also two much smaller ravines (not visible) located over it but not connected; they can generate up to about y=100; I also actually made them about 20% less common due to being bigger on average):
Yeah, one end of the ravine actually comes out of the side as it loops over onto itself.
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Note again that I only did this to add a few classes so that mobs spawn correctly at the new altitudes, not with the entire mod shown here, although previously I added my cave generation mods, but without the changes to terrain generation, without problems (I don't use any other world generation mods though, aside from one that adds a new ore, and as mentioned above, I added it to the pre-generated world by adding the block ID; I also actually made the ore myself, so it was easy to copy the code over).
I could make a version for Forge, based off the Forge source, but this might only work for a specific Forge version; Forge modifies the base code so that mods can interact with it without directly modifying it; I'm not even sure if what I did is possible with an actual Forge mod (that is, one you put into the mods folder).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
With what I said in my previous reply in mind, here is a version that includes "supermassive" and "supercolossal" cave systems. But be aware that this can be VERY demanding; I may not have the fastest computer (only a 2.2 GHz dual-core AMD Athlon 64 X2, although note that Minecraft is single-threaded per server/client, so that fancy 8 core CPU won't be faster except for clock speed/architecture improvements), but I don't have any problems when flying around without them, aside from occasional chunks not rendering (the main reason I use Optifine, not even necessarily related to computer power). However, this is what happens when I try to do this with this version:
(here I am actually in a chunk that doesn't exist because it hasn't generated yet, similar to a chunk error, also the cause of the black sides since there is no lighting)
It also locks up the server while flying, as indicated by the pointer on a map freezing when I keep moving until I wait for it to catch up and the sun/mobs jumping around (no doubt if you had a single-core CPU it would also lock up the client/result in severe lag spikes), which is why I pre-generated a world with this. The reason why these place so much demand on the game is because they generate as single cave systems, unlike the example posted above, which is multiple smaller systems combined, plus the generation range is much larger, placing exponentially more demand on the game, as with render distance (that said, if I just walk the game doesn't freak out).
But anyway, this is what you get (there is a supermassive cave system to the southwest, making it even more demanding when both are in the generation range):
Note that normal cave systems and ravines don't generate inside of them, plus a border; they also generate at fixed 512 and 1024 block intervals along the X/Z axes (starting at 256 and 512 blocks from (0,0) in a grid with a random chance of generating at any point (1 in 8 for supermassive and 1 in 6 for supercolossal cave systems; or averaging one in 8,192 and one in 24,576 chunks respectively; otherwise, cave generation is the same).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
You can create a separate profile for this mod, and keep the worlds created under it separate, which will also avoid accidentally opening it in a version without the mod; this is what happens if you do this and explore new areas:
Interestingly, abandoned mineshafts that partially generated under the mod fully generate normally but in midair, likely because the game saves structure data so they don't get cut off when the generation changes.
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
I don't have any experience in writing mods for Forge, although I have previously looked up how to make a Forge mod to replace vanilla terrain generation; a couple months ago I posted a thread asking if there were some way to do this but didn't get any replies (this before my more dramatic modifications to the actual terrain generation); the code does appear to provide the ability to at least replace the cave/ravine generation, but I don't see anything that might change more fundamental things like my changes to the chunk generation, although a previous poster linked to the Better World Generation mod, which is for Forge and certainly makes significant changes.
Having said that, if I modify the Forge source (basically the same as vanilla but with stuff added in so mods can modify it), it works without any problems, but possibly only for the same version of Forge that the source was from, although I doubt there are significant changes from version to version (versions of Forge, not Minecraft).
But as always, you can try adding it to the jar and test it to see if other mods work properly with it; I have added my own mods to Forge without problems by using the method described here for Optifine (this also means you can easily remove or change mods without actually messing with the Forge jar, or having to back it up, if not as simple as just placing it into the mods folder).
FWIW, here is a list of classes that I modified; most of them were modified to fix/adjust ranges of features/mobs; for example, normally trees in swamps don't generate above y=128 (changed to 256), slimes between levels 51-69 in swamps (64 added to both values); slime chunk spawning changed from below 40 to below 80, etc:
BiomeDecorator
BiomeGenHills
BiomeGenJungle
Chunk
ChunkProviderGenerate
EntityBat
EntitySlime
EntitySquid
MapGenCaves
MapGenMineshaft
StructureMineshaftStart
WorldGenSwamp
WorldProvider
I guess at the least I could find out how to add in a new world type, which would then be saved in level.dat in some way (or a file with the world save), adding in code to the other classes so they behave as normal unless you use my generation (I guess that being able to configure individual things would also be nice; for example, keep iron ore generation the same as vanilla, making it harder to obtain; 64 blocks below sea level instead of at the surface).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
That's easy; just disable the cave/ravine generation and remove underground lakes (restrict their y-range to near sea level) and even structures (perhaps not strongholds since you can't go the the End without them). I was even able to easily remove caves (I left everything else in) from 1.7 in another mod I made by using Java Bytecode editor to set their size to 0 (I found the code with the help of Java Decompiler and 1.6 source, using Windows grep to search for strings specific to the classes; only takes around 5-10 minutes to find, edit, and test them).
BTW, I've updated the mod a few times over the past few days to include optimizations; mostly removing calculations from inner loops and placing them outside the loops*; I also cut off 32 blocks from the vanilla terrain (which is all underground) and added it to the loop I made to fill in the lower parts with solid stone (that is, caves, ores, etc, are created after the terrain is initially generated as solid stone to the surface layers), and only write the lower 192 blocks of terrain data into the arrays used to store block data since it never exceeds 192.
*For example:
...to this:
(the first one is vanilla; you can see what I changed in the second, aside from replacing repeated calculations with variables, and why the heck do they add zero in the last line in the vanilla code; I've also seen them multiplying by one as well)
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
I'm not sure it it would be compatible with those mods; these mods are not Forge mods, although I use them myself in Forge by adding them as a library without problems (see here), but I don't use any other world-generation changing mods (even if it were a Forge mod some of my changes likely break compatibility anyway; for example, I had to change the way chunks are handled in order to get terrain to properly generate above y=128). Mods that just add items and the like are all likely compatible, however.
Note that the mods that I use myself were also compiled using the Forge source for the same version I'm playing on, not sure how well different Forge versions (e.g. 9.11.1.965 vs 9.11.1.960) are compatible with each other though; I know that Optifine often mentions a very specific Forge version it is compatible with, I had no problems installing it in a different version though using the method linked to above, this in 1.6.2, before full Forge support.
Also, here is a list of all of the classes I modified; many only have small changes though; for example, in the scattered feature classes, I changed a number from 64 to 192 to correct for the new average ground level (otherwise, you can get odd things like underground desert temples):
BiomeDecorator
BiomeGenHills
BiomeGenJungle
Chunk
ChunkProviderGenerate
ComponentScatteredFeature
ComponentScatteredFeatureDesertPyramid
ComponentScatteredFeatureJunglePyramid
ComponentScatteredFeatureSwampHut
EntityBat
EntitySlime
EntitySquid
MapGenCaves
MapGenMineshaft
StructureMineshaftStart
WorldGenSwamp
WorldProvider
(the version I use myself also modifies the mineshaft corridor and stronghold classes to remove torches, since I use a mapping utility that finds torches to show explored caves and only want to see what I've explored; I even modified the utility in question to sue a more realistic (smaller) range for areas displayed around torches)
Note also that MapGenCaves combines three separate classes into one (the original MapGenCaves, MapGenRavine and MapGenBase), with corresponding changes to how it is declared (e.g. in ChunkProviderGenerate it is normally "private MapGenBase caveGenerator = new MapGenCaves();" and I changed MapGenBase to MapGenCaves). This also means that any custom dimension that tries to access MapGenCaves will crash because it is referenced wrongly (I suppose I could change the name of my MapGenCaves class so it doesn't replace the vanilla one, but I never wrote these mods for compatibility).
Also of interest, I based these mods in part on FewerRavinesLessCaves (which can be set to do the opposite of its name) and Crazy Ravines and Caves; that is to say, I looked at their source code to see how they changed caves and ravines, though I've made many more modifications*. The Wedge mod also showed me how to generate terrain to the world height limit.
*For example, here is part of my ravine generating code (I also modified generateRavine itself):
For comparison, here is the very simple vanilla code (only including what I've modified):
Note that in this case the parameter "f2", which I replaced with "width", controls both width and height, but I separated these; the 3.0D at the end controls the average height (the two zeros between f1 and 3.0D appear to be a holdover from copying+pasting the cave generation code, which is very similar; I just removed those parameters while adding others).
Also, one thing I could do is make a version that doesn't modify terrain, similar to my "original cave mod" but incorporating all of the changes and features I added since (i.e. triple-height terrain). I've also thought of trying to add in a new world type so you can play on a world with my mod or a normal world (or just do as I mention below, with defaults being the same as vanilla).
Also of interest, you might want to check out my Superflat Caves mod (for 1.6.4 and 1.7.2), which adds caves to Superflat, including customization (in this case, I made a new class file for the Superflat cave/ravine generator, with only minor changes to a couple other classes; another interesting idea is to enable Superflat customization for default worlds so you can change everything, except, of course, block layers).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Here are screenshots of one in Superflat and in a cave:
Also, a popular misconception is that caves and ravines cut apart structures; in reality, they generate during the initial terrain generation phase, before structures, ores, and other features; the cave/ravine generators can also only remove stone, dirt, and grass, hence the lack of cave openings in biomes (desert, mesa) with something other than dirt/grass at the surface.
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?