Back at version 2.6.2 for upload to BukkitDev

Also fixed Gradle keeping an old version in the plugin.yml.
Bump version again to 2.7.0-SNAPSHOT
Forge events need block coordinates

But Forge Modloader events need chunk coordinates...

Proof: (see for yourselfhow these mods handle the coords)

https://github.com/Vazkii/Botania/blob/da52e52d1707e596cf8c7307b3ebc40a7682a5d3/MODSRC/vazkii/botania/common/core/handler/BiomeDecorationHandler.java#L24

https://github.com/modmuss50/Transcraft/blob/71b89d89b209619c514c3068b0268d8b1704b8ea/src/main/java/modmuss50/mods/transcraft/WorldGen/FlowerGen.java#L15

https://github.com/Andy5823/Hardmode/blob/029e8ca9673f935ed12c8c46e23ab50dc5a1281c/common/Hardmode/WorldGen/HardmodeWorldGenHandler.java#L11

Anyways, this will cause other mods to work a lot better with Terrain
Control. See issues #209 and #282.
Another conflict between ForgeGradle and Shadow

The Forge version is not properly obfuscated, Shadow includes the
unobfuscated files in the combined jar.

A (temporary?) solution is to stop distributing the Forge version. The
release version still includes both the Bukkit, Forge and Common
classes, so there is still a Terrain Control file that works on Forge.

A few changes were needed to the Release version:
* Because ShadowJar is removed on the Forge version, the file
platforms/forge/distributions/TerrainControl-VERSION.jar no longer
exists. Now the file platforms/forge/libs/TerrainControl-VERSION.jar is
used instead. (This file doesn't try to include Common.) For consistency
platforms/bukkit/libs/TerrainControl-VERSION.jar is now used too, even
though ShadowJar is still active for Bukkit.
* The Common dependency now has an explicit include in the Release
version, as the Bukkit and Forge files in libs/ don't contain Common.
* Renamed the Release file to make clear that it includes Forge.
* Re-added an error message that notes which file failed in case Common
fails (line 70-72). Timethor originally addes this, but the change was
lost. (Merge commit?)
Add missing language file

This file was included in a few Terrain Control releases (like 2.5.3),
but it got lost because it was .gitignored.
Make it possible to disable population order checks

These are either the result of a bug in TC, or as is the case in #284, a
mod that is causing another chunk to populate. The setting
PopulationBoundsCheck (WorldConfig) will now disable the exception.

Fixes #284.
Limit temperature to 1.0 for colorizer

Hopefully fixes #286
Fix minMoisture and maxMoisture working on BiomeMode:Normal

For years, it has been documented as only doing something on
BiomeMode:OldGenerator, so let's fix that.
Fix ReplacedBlocks when two chunks are populated at once

In 4035249694073ed2b407bc85846cc20b05eedff2, it was made possible for
two chunks to populate at once. This was done to compensate for other
mods poking around in unloaded chunks, causing those chunks to be
populated during population.

The ReplacedBlocks code didn't account for this possibility. This caused
errors when the cache was null. The code has been rewritten a bit to
support this.
Debug lines for @Noumpas13

#287

Commit will be reverted once the build server builds this.
Fix biome cache getting corrupted

As usual, it's very difficult to find the cause of a bug. When you have
found it, it is trivial to fix.

Ini this case weird patterns of Mesa sand were sometimes generated by
the surface populator where there should be Plains grass. A Mesa biome
was nearby. I thought this would be a chunk rotation issue, or a case of
using unzoomed biomes instead of the zoomed ones. I was wrong.

When standing on those patches where the surface generator errored out,
sometimes /tc biome would report the surface block that accidentically
generated, sometimes it would report the biome that should have
generated.

I typed /tc biome, it returned Mesa, matching the weird spot on the
ground, but it should have been plains. I went to another patch of mesa
sand, and it returned Plains. Went back to the original spot, and not it
returned Plains.

This pointed to an error in the biome cache. I added debug lines
everywhere, which became so spammy that is wasn't useful at all. I
limited the debug lines to a single chunk (if
(chunkCoord.coordsMatch(0,3) { ...debug lines.. }). When creating a
cache block, the correct biomes were printed. Yet somehow the surface
generator and /tc biome got the wrong ids sometimes.

I added code to display exactly what was returned every time the cache
was accessed. The logs became extremely spammy again, but I noticed that
it returned different biome ids sometime. Something must be modifying
the cache blocks after they are created...

Returning a copy of the interal cache array fixes the problem.
Minor cleanup

While investigating 7c9d53cddfbf2e4b46cb66e212de4f5f1893a402, I found a
few easy things to improve in the code.

* Improved documentation of ownership of the biome arrays in
BiomeGenerator.
* Fixed typo in BiomeGenerator documentation (biome ud -> id).
* Removed unused WorldConfig variable in NormalBiomeGenerator.
* Replace some magic chunk size numbers with constants.
* Added BiomeConfig parameter to SurfaceGenerator, to avoid double
lookups and make code more flexible.
Switch to Spigot mirror for Bukkit

CraftBukkit has been taken down at its original location. Luckily Spigot
has a mirror of the latest (last?) CraftBukkit build.
Revert "Debug lines for @Noumpas13"

This reverts commit b6d71366c25f8cdb21d57b1e88bfa50b979cb825.
Add hidden PopulateUsingSavedBiomes setting

http://dev.bukkit.org/bukkit-plugins/terrain-control/forum/70486-pre-defined-world-painter-map-problem/

To implement virtual biomes, we had to query the biome generator to be
able to correctly populate virtual biomes. However, some people actually
want biomes to be read from the map files, for example to populate
biomes created by WorldPainter. A hidden setting has been added for
this.

See this wiki page for more information:
https://github.com/Wickth/TerrainControl/wiki/WorldPainter
Removed call to GameRegistry.generateWorld from Forge event manager.

Fixes #294. On my end, also fixes #209, given correct config options in
Underground Biomes.
Merge pull request #295 from talonos2/master

Removed call to GameRegistry.generateWorld from Forge event manager.
Update README.md

Jenkins is better gotten to using build.mctcp.com :D
More pernament solution for ee99320120c8de15f24fc4d0af5262e224b9ccc3

This method to include files in a jar is also used by Sponge:
https://github.com/SpongePowered/Sponge/blob/0f2ad25d854ec46af6bdfbd3e1dffae09176c34d/build.gradle#L81
Abstract the byte array in chunk generation away

Minecraft 1.8 doesn't pass around raw arrays anymore. Even in Minecraft
1.7 we needed to rewrite our arrays for Minecraft's format. This can be
made more efficient by introducing a ChunkBuffer interface, that
immediately writes to the preferred format for Bukkit/Forge.

The Forge implementation of ChunkBuffer now supports block data.
However, the Bukkit implementation does not. (Bukkit API limitation.)
For consistency, the config files still strip out block data
informatation from the Surface/Ground/StoneBlock settings. Once we
upgrade to Minecraft 1.8 the Bukkit implementation will be gone, and we
can remove this limitation from the config files.

However, any performance improvement is negated by the fact that we now
create lots of LocalMaterialData instances. Every time a material needs
to be checked a new one is created, which happens around 1000 times for
each chunk. (surface blocks, caves, canyons) The next commit will fix
this.