ATG is both my first mod (no java experience before this - be gentle :P) and my attempt to address some of the issues I see with vanilla terrain generation. Nonsensical biome positioning and lack of rolling terrain were my main motivations, though recent tweets from Jeb suggest that the biomes are being addressed in vanilla.

I started it back in 1.4.7, got it working in 1.5.2, and have now made it generalised and adaptable to other mods for 1.6.4. Things will change once more in 1.7, but that's a bridge to cross when we come to it.

How does it work?

ATG adds a new world type which entirely replaces the base method of creating the world.

Vanilla generation creates "blobs" of land within the world and assigns random biomes to each, shuffling them around a bit to add rivers and such. The height and shape of terrain within these areas is determined by the biome, not the rest of the world.

ATG completely changes this, instead creating height, temperature and moisture maps for the world and deriving the final biome based upon those. Higher areas are colder, areas away from the sea and where the temperature is high tend to be dryer.

Using the generator config, any biome from any mod can now be added to ATG. Mods which used to use the API to insert their biomes still can, as it means they will appear in the default configuration, and can add their own terrain altering GenMods to be used by their biomes.

Screenshots

These screenshots are now outdated and I will add some new ones showing BoP compatibility soon!

All screenshots here were taken on a server which has been running the mod for several months, so there were plenty of explored areas to choose from. Without EBXL, the terrain looks much the same, but with slightly different biome distribution (and no large trees).

A cold shoreline, with gravel and sandy gravel beaches.

Mountainside with EBXL trees and river.

Rivers don't always work as well as they might...

Swampy shoreline.

A rolling shrubland area.

Shrubland and EBXL meadows.

A snowy coast with steppe on the left.

A forested valley.

Another view of the same valley.

There are still a few issues with generation at the interface between deserts and hilly zones.

Steppe.

Tundra dotted with steppe.

Large mountain in a cold, dry area.

Swampy coastal inlet.

Flat terrain exists, but at higher altitudes than vanilla.

Swampy coasts cause small cliffs.

Mountain slopes can be very steep, but tend to not be sheer cliffs.

Volcano lava spout - these are found on the highest mountains and reach to bedrock.

(Dev versions and the API snapshot for each version can be found as attached sub-files if you need them)

Simply place the zip into your mods folder like any other forge mod, and then make sure to select "ATG - Alternate" as the world type when making a new world.

Simple as that!

Make sure to check the atg.cfg file in your config folder for options. If you want to run ATG on a server, set the level-type in the server.properties to "ATG" and start a new world (level-type changes only take effect when a new world is generated).

Added a fix for a vanilla/forge bug which makes villages check the wrong location for acceptable biomes. No more villages in the ocean unless you allow them with BoP or other such mods. Villages should now respect the per-biome settings of other mods.

Added an additional field per biome in biome-modifiers.cfg to disable village generation in specific biomes. This does not force their generation in biomes which would not normally support them, just prevents them generating if they normally would have.

No API changes, use API archive from 0.11.0.

0.11.0 for MC 1.7.10

Added generator config with extensive options for modifying the behaviour of the generator through the biome group system.

Fixed biome block replacement by giving agency for the changes (correctly) to the biome instead of the chunk provider.

Disabled sea level option because of the previous change not allowing access to the sea level any more.

0.10.0 for MC 1.7.2

This is a PORT version of the 1.6 generator to 1.7. THINGS WILL CHANGE, and world borders WILL NOT MATCH UP IN LATER VERSIONS! This version is for the impatient who want to play ATG in 1.7 before I do all the major feature updates that I've been intending. Stick with this version if you use it until you make another new world, because it'll mess up borders later. You have been warned!

It is strongly recommended that this version is not used in public mod packs because of the upcoming changes. This is especially directed at FTB!

Ported to 1.7.2

Added support for the various new biomes available in 1.7.

Removed Boreal Forest biome, as it is now obsolete.

Removed Savanna biome, as it is now obsolete.

Reworked the Tropical Shrubland biome - it now looks more like a transition between forest/savanna/jungle than a stumpy, balding jungle biome. Consequently, its temperature has dropped to be in line with the new savanna.

IGenModCoords has been merged with IGenMod, as I should have provided that functionality to begin with. Seemed like a good time to fix it properly.

Volcano grass colour has changed to take advantage of the new location aware biome colour functions.

Minor biome decoration tweaks to bring them in line with their 1.7 neighbours.

0.9.5 for MC 1.6.x

Fixed a seed error with the noise API functions, which caused it to give completely incorrect values.

Added IGenModCoords to the API, which has additional fields for x/z coords and the world. This will be the default IGenMod behaviour in 1.7.x going forward, so this class is only temporary.

Final version for Minecraft 1.6.x. All further updates will be for 1.7.x

0.9.4 for MC 1.6.x

Fixed height offset and multiplier config values - so they actually do something other than mangle the biome layout.

Added sea level config option to the main config to allow different water levels.

Added more information to the config options, so that they are (hopefully) less cryptic. Sorry for the confusion!

Added API access for the raw height/temperature/moisture values at an X/Z coordinate. This is expensive however, so please use it sparingly.

Added API event for intercepting and overriding the biome group at a location. Listen for it on the terrain bus.

Added optional "generate" argument to the API function for adding biome groups. Setting it to false will prevent the added biome group from being generated by normal means, but still register it. Useful in conjunction with the overriding event.

Reworked the way the generator creates chunks in an attempt to lower memory load. It was meant to make generation faster, but it didn't make any visible difference.

0.9.3 for MC 1.6.x

Yet another attempt to squash NPEs and other such bugs. Hopefully they're gone for good this time, thanks to fixing a biome group size mismatch. Future errors - should they still exist - should fail gracefully now, printing some info and a stack trace to the console instead of crashing.

Climate mode option to always centre 0,0 on a temperate zone.

Climate mode option to disable looping, in two forms: 1 full cycle is cold-hot-cold, with cold either side, or 1 full cycle is cold-hot, with cold and hot either side.

Experimental ImageMap mode which can take an image and make a map from it. Not complete - use at your own risk. Info in the config.

API method for getting the biome groups that a biome inhabits. Not 100% on this one, will probably revisit.

No support for non-generating biome groups or group overrides yet - sorry!

0.9.2 for MC 1.6.x

Thaumcraft Magical Forest support.

Added config options for noise field scale - increasing these for temp and moisture will expand the area covered by biome types. In-group sizing still to come.

Added new dynamic config to individually disable and change the rarity of biomes. Please note that it gets ALL biomes, and some may not be affected by their settings if they either aren't registered with ATG, or are special cases (volcano).

Methods for changing the distributions of boulders and rocks within biomes added to the API.

0.9.1 for MC 1.6.x

Attempted fix for NPE crash bugs in the biome picker.

API unchanged.

0.9.0 for MC 1.6.x

Massive rework of core systems to allow dynamic biome placement.

Generalised biome mod support.

Village generation tweak.

Emeralds at high elevation to offset the lack of the Extreme Hills biome.

API available for modders to add their own biomes to ATG.

Addition of climate mode, which simulates looped poles and equators.

0.3.0 for MC 1.6.2

Cursory direct port to 1.6.2, possibly buggy.

0.2.1 for MC 1.5.2

EBXL dependency fix.

0.2.0 for MC 1.5.2

Initial release.

Mod compatibility and issuesIMPORTANT:

ATG 0.9.0+ is NOT compatible with worlds generated in 0.3.0 and earlier due to changes in biome allocation and the removal of plateaus as distinct biomes.

ATG is incompatible with Better World Generation, though frankly why you would have both at once is quite beyond me.

Biome conflics are possible and happen silently, but all biome IDs are changeable in the configuration file, along with the ATG world type. The defaults are:

World id 9 Biome ids 1.6: 150-159 Biome ids 1.7+: 141-148

Twilight Forest will cause a conflict out of the box, so please make sure that if you use it, you change the biome IDs in either mod so they don't collide.

ATG is supported by directly by EBXL and Highlands, and includes small compatibility modules for Buildcraft's oil biomes and TC4's magical forest. This means their biomes will appear by default in the generator config, but you can add your own or make any changes that you wish.

All mods which add non-biome terrain generation features such as Thaumcraft, Buildcraft, IC2 and so forth work as expected, only mods that add whole new biomes require config modification. Buildcraft's oil biomes will spawn in the world, but they're rare, so keep your eyes peeled!

Supporting ATG

The best way that you can support ATG is by using it, offering suggestions on how I might improve it, and spreading the word!

If you want to add ATG to a mod pack, then as long as it doesn't make money, that's fine by me. You don't need to ask permission, but it'd be nice (though not necessary) to drop me a message to say hi.

As per the forum guidelines, I can confirm that ATG does not contain any "call home" or version checking functionality and sends no additional data to outside destinations.

TERMS AND CONDITIONS 0. USED TERMS MOD - modification, plugin, a piece of software that interfaces with the Minecraft client to extend, add, change or remove original capabilities. MOJANG - Mojang AB OWNER - Alex "TTFTCUTS" Spinks, Original author(s) of the MOD. Under the copyright terms accepted when purchasing Minecraft (http://www.minecraft.net/copyright.jsp) the OWNER has full rights over their MOD despite use of MOJANG code. USER - End user of the mod, person installing the mod.

1. LIABILITY THIS MOD IS PROVIDED 'AS IS' WITH NO WARRANTIES, IMPLIED OR OTHERWISE. THE OWNER OF THIS MOD TAKES NO RESPONSIBILITY FOR ANY DAMAGES INCURRED FROM THE USE OF THIS MOD. THIS MOD ALTERS FUNDAMENTAL PARTS OF THE MINECRAFT GAME, PARTS OF MINECRAFT MAY NOT WORK WITH THIS MOD INSTALLED. ALL DAMAGES CAUSED FROM THE USE OR MISUSE OF THIS MOD FALL ON THE USER.

2. USE Use of this MOD to be installed, manually or automatically, is given to the USER without restriction.

3. REDISTRIBUTION This MOD may be freely distributed in mod packs provided that they do not make money. Individual hosting and mirroring of this MOD is strongly discouraged (though not forbidden) in favour of linking to the official forum thread (http://www.minecraftforum.net/topic/1932156-). ANY attempts to make money off of this MOD (selling, selling modified versions, adfly, sharecash, etc.) are STRICTLY FORBIDDEN, and the OWNER may claim damages or take other action to rectify the situation.

4. DERIVATIVE WORKS/MODIFICATION This mod is provided freely and may be decompiled and modified for private use, either with a decompiler or a bytecode editor. Public distribution of modified versions of this MOD require advance written permission of the OWNER and may be subject to certain terms.

Special Thanks

I'd like to give a massive shout out to ScottKillen, who helped me during development with advice and some excellent examples of the Forge terrain generation hooks that he added. He helped me to understand the particulars of the vanilla generator and how best to change things.

And this is what I feel world gen should be. Nice. Would love to see as you add in configs as well as support for mods like BoP. Just astounding. Can't wait for more updates on this, as well as seeing it in 1.6.

Also, what is your stance on modpacks? I would just LOVE to add this to my private server modpack once you update it.

Edit2: Found the problem, I derped bigtime with relation to checking if the mod was there in the first place! (checked the variable for whether the module was enabled instead of the function to check that AND if EBXL was loaded...)

Edit2: Found the problem, I derped bigtime with relation to checking if the mod was there in the first place! (checked the variable for whether the module was enabled instead of the function to check that AND if EBXL was loaded...)

I've uploaded 0.2.1 with the fix. Sorry for the issues!

Great! Congratulations on making your first mod so awesome by the way. I've been trying at java for a few years now and I could never make something like this!

Edit: Does the mod add new biomes? I do not have extrabiomes or any mod that adds new biomes, but I get biomes like shrubland and volcano.

wow this is AWSOME! have never seen anything like it the pictures look realy cool and i see you have extra biomes support but can you add biomes o plenty support to before making an dynamic system? (or after) would be realy cool to take on my server but it have biomes o plenty installed... (its a private server)

wow this is AWSOME! have never seen anything like it the pictures look realy cool and i see you have extra biomes support but can you add biomes o plenty support to before making an dynamic system? (or after) would be realy cool to take on my server but it have biomes o plenty installed... (its a private server)

Making a dynamic system would mean that any biome mod would be supported, including BoP. The only real reason I haven't added support is that the server we play on uses EBXL instead. Seemed a waste if I was going to rewrite it to support everything anyway.

WOW, this really looks fantastic!!! Great job!! I wish I could use it for 1.6.2, my 1.5.2 is too developed to star over. But will definitely be watching this one!! I really love how the mountains seem to gradually increase in height with out the sheer cliffs!! Keep up the great work, and congrats on your 1st mod!!
I've been waiting for a reason to dump BoP and you may have just given it to me

The terrain generation screenshots look just breathtaking! I may test this out on a stripped-down version of my current modlist - I currently run Twilight Forest, and I'm wondering if ATG will affect TF as it adds biomes (to its own dimension though).

Speaking of dimensions, what does the End and Nether look like with ATG installed? Any sweeping terrain changes there?

Also, I'm quite curious as to how mob spawning works with the new biome generation. Currently, mob spawning systems (CMS, MSC, JAS) depend heavily on biome type to determine what spawns where. Are the biomes still fully functional? For example the Autumn Woods inside the forest - that would be a separate biome according to the game (like in the F3 screen it tells you the current biome)? What about the tundra dotted with steppe?

Sorry for so many questions. The terrain change is so radical from what I've seen before that it makes me wonder at all the changes. It looks absolutely beautiful though!

Rollback Post to RevisionRollBack

The config files are your friends! Get to know them, and shape your world!

The terrain generation screenshots look just breathtaking! I may test this out on a stripped-down version of my current modlist - I currently run Twilight Forest, and I'm wondering if ATG will affect TF as it adds biomes (to its own dimension though).

Speaking of dimensions, what does the End and Nether look like with ATG installed? Any sweeping terrain changes there?

Also, I'm quite curious as to how mob spawning works with the new biome generation. Currently, mob spawning systems (CMS, MSC, JAS) depend heavily on biome type to determine what spawns where. Are the biomes still fully functional? For example the Autumn Woods inside the forest - that would be a separate biome according to the game (like in the F3 screen it tells you the current biome)? What about the tundra dotted with steppe?

Sorry for so many questions. The terrain change is so radical from what I've seen before that it makes me wonder at all the changes. It looks absolutely beautiful though!

Twilight forest shouldn't interfere at all. Additional biomes that aren't in my routine are just ignored, there shouldn't be direct compatibility issues.

The nether and the end are the same. ATG only changes the way the overworld generates, much like the difference between a normal and "large biomes" world, but more sweeping.

Mob spawning works the same. Biomes are often smaller and more patchy, because of not requiring to be part of one of the larger "blobs" like in vanilla. The EBXL autumn trees are the one exception, as they replace clumps of forest trees instead of being a different biome. Basically the point to take home is that other than the autumn trees, where it looks different is a different biome.