Terrain Control
Pictures (top to bottom, left to right):Floating island by LanToaster, Arches by mysource, Extreme Hills by IRSmoh, Island by Piginabag, Alternative Nether by IRSmoh
TerrainControl is an advanced world generator. Through various configuration files it gives the user control over almost every aspect of Minecraft terrain generation, with no knowledge of Java required. It can be used on Bukkit or Forge servers and on singleplayer with Forge. TerrainControl is the successor to the old PhoenixTerrainMod, which was based on the popular BiomeTerrainMod.
Quote:Spigot 1.8
All updates for Spigot 1.8 won't be posted here, but on the Spigot forums instead: http://www.spigotmc.org/resources/terraincontrol.2214/
See you there!
Features
- Control horizontal and vertical noise of terrain generation
- Control terrain height and volatility per biome
- Generating biome maps from images
- Control the size of biomes, islands and continents
- Custom biomes
- Many options for caves, canyons
- Control vanilla structures like mineshafts, strongholds and villages
- Full control of ores, plants, dungeons, ponds and many more
- Custom trees and other objects (BO2 and BO3)
- Block replacement
- Visual settings like custom foliage colors (TerrainControl client required)
...and many more!
whitespace hack
Metrics
As of Terrain Control 2.4.13, the plugin sends some stats to mcstats.org, a service by Hidendra and others. You can view the stats here. Terrain Control won't upload your configs, it will only send your BiomeMode along with some information of your computer. You can toggle it off by setting opt-out
to true
in the metrics config file. More information is available on this wiki page.
Showcase
Pictures
Videos
Also check out the showcase thread in our forums!
How to use
TerrainControl is more complex than most Bukkit plugins, so it may take a while to get into - but the results are worth it. If you want to create your own world, be sure to check our documentation. If you have done some reading and still have problems using TerrainControl, just post to our forums and we'll try to figure it out.
Tutorials
Installation guide |
TerrainControl Wiki | First steps
TerrainControl Analysis | mysource's tutorial
Tutorial Videos
Useful tools
- TerrainControl User Interface
- BetterBOB for creating BO2-objects
- Notepad ++ for easier editing of config files
- Minutor for viewing generated maps
- Eihort for viewing your generated maps
- WorldBorder for pregenerating your map
- BO3-Tweaks by Elzaar and LanToaster. Command-line application to tweak BO3-objects.
- BO3Tools for ingame creation of BO3-objects
- ClimateChanger for mass-changing biome ids in an existing world
- BiomeEdit.py to edit biomes side by side.
Team
Active staff | hack to display table correctly |
---|---|
Khoorn | Maintainer, Coding |
Timethor | Coding |
Rutger Kok | Coding |
Burckhart | Support, Documentation |
Retired staff | |
Mysource | Support, Documentation |
Cayorion | Coding |
Additional Credits | |
Bucyruss | Creator of the BiomeTerrainMod |
R-T-B | Creator of PhoenixTerrainMod |
More contributors on GitHub | |
Users contributing to the wiki are found here |
Get involved!
Commit code on GitHub | Contribute to the wiki | Share your configuration
Report bugs and request features on GitHub
Downloads
You'll always find the newest approved stable builds here. As of 2.4, the files will work on both Bukkit and Forge servers (without the need of something like MCPC+) and on singleplayer with Forge. Installation instructions can be found here.
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Development builds at mctcp.com
You can find all user-created world configurations, biomes and custom objects that are currently available here.
Important - please do not post your questions in the comments section below, head to the forums instead! We do not answer questions here as it would only result in chaos. Feel free to use the wall for general comments!
@Cim0n Be sure use spaces not tabs in bukkit.yml
@MCFUser5585029
Yes
@ledhead900 When CB will be ported to 1.0
@Khoorn
Minecraft 1.0 has been released
When can we expect a working version of this to match the new biome in 1.0, I need this to get my server up for 1.0
Does this make it possible to enter the rarity of ores?
When I edit bukkit.yml server won't even start. It says something about wrong string/column in bukkit.yml I've copied those 3 lines from your post to end of bukkit.yml
settings:
spawn-radius: 16
permissions-file: permissions.yml
update-folder: update
ping-packet-limit: 100
aliases:
icanhasbukkit:
- version
database:
username: bukkit
isolation: SERIALIZABLE
driver: org.sqlite.JDBC
password: walrus
url: jdbc:sqlite:{DIR}{NAME}.db
worlds:
world:
generator: TerrainControl
Will post logs later. Got some problems with that atm.
Forbert - use latest CB. Not 1185.
Edited the bukkit.yml and everything, now the server won't even let me log on. Thanks for the help Khoorn.
2011-11-18 13:20:07 [INFO] Starting minecraft server version Beta 1.8.1 2011-11-18 13:20:07 [INFO] Loading properties 2011-11-18 13:20:07 [INFO] Starting Minecraft server on *:27565 2011-11-18 13:20:08 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-1067-g6301507-b1185jnks (MC: 1.8.1) 2011-11-18 13:20:08 [INFO] TerrainControl v1.1.2 is now enabled 2011-11-18 13:20:08 [INFO] Preparing level "TERRAIN01" 2011-11-18 13:20:08 [INFO] Default game type: 0 2011-11-18 13:20:08 [INFO] TerrainControl: settings for 'TERRAIN01' loaded 2011-11-18 13:20:08 [INFO] TerrainControl: mode Normal enabled for 'TERRAIN01' 2011-11-18 13:20:08 [INFO] New max size: 400 2011-11-18 13:20:08 [INFO] New max size: 784 2011-11-18 13:20:08 [INFO] New max size: 1764 2011-11-18 13:20:08 [INFO] New max size: 5476 2011-11-18 13:20:08 [INFO] New max size: 18496 2011-11-18 13:20:08 [INFO] New max size: 19044 2011-11-18 13:20:08 [INFO] TerrainControl: world seed is 45 2011-11-18 13:20:08 [SEVERE] java.lang.NoSuchMethodError: net.minecraft.server.WorldChunkManager.getBiomes([Lnet/minecraft/server/BiomeBase;IIII)[Lnet/minecraft/server/BiomeBase; 2011-11-18 13:20:08 [SEVERE] at com.Khorn.TerrainControl.Generator.ChunkProviderTC.generateTerrain(ChunkProviderTC.java:123) 2011-11-18 13:20:08 [SEVERE] at com.Khorn.TerrainControl.Generator.ChunkProviderTC.generate(ChunkProviderTC.java:494) 2011-11-18 13:20:08 [SEVERE] at org.bukkit.craftbukkit.generator.CustomChunkGenerator.getOrCreateChunk(CustomChunkGenerator.java:31) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:72) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.World.getChunkAt(World.java:300) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.World.getTypeId(World.java:247) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.World.isEmpty(World.java:251) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.World.a(World.java:218) 2011-11-18 13:20:08 [SEVERE] at com.Khorn.TerrainControl.Generator.ChunkProviderTC.canSpawn(ChunkProviderTC.java:524) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.World.canSpawn(World.java:102) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.World.c(World.java:202) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.World.<init>(World.java:150) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.WorldServer.<init>(WorldServer.java:27) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348) 2011-11-18 13:20:08 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417) 2011-11-18 13:20:08 [SEVERE] Unexpected exception java.lang.NoSuchMethodError: net.minecraft.server.WorldChunkManager.getBiomes([Lnet/minecraft/server/BiomeBase;IIII)[Lnet/minecraft/server/BiomeBase; at com.Khorn.TerrainControl.Generator.ChunkProviderTC.generateTerrain(ChunkProviderTC.java:123) at com.Khorn.TerrainControl.Generator.ChunkProviderTC.generate(ChunkProviderTC.java:494) at org.bukkit.craftbukkit.generator.CustomChunkGenerator.getOrCreateChunk(CustomChunkGenerator.java:31) at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:72) at net.minecraft.server.ChunkProviderServer.getOrCreateChunk(ChunkProviderServer.java:106) at net.minecraft.server.World.getChunkAt(World.java:300) at net.minecraft.server.World.getTypeId(World.java:247) at net.minecraft.server.World.isEmpty(World.java:251) at net.minecraft.server.World.a(World.java:218) at com.Khorn.TerrainControl.Generator.ChunkProviderTC.canSpawn(ChunkProviderTC.java:524) at net.minecraft.server.World.canSpawn(World.java:102) at net.minecraft.server.World.c(World.java:202) at net.minecraft.server.World.<init>(World.java:150) at net.minecraft.server.WorldServer.<init>(WorldServer.java:27) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348) at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
You edit bukkit.yml ? Seems plugin is not enabled for world.
What would make this EPIC is some sort of api or settings to get spout custom blocks generated into the world, vanilla minecraft worlds with oil lakes and new ores!
17 achievements
12:51:37 [INFO] Starting minecraft server version Beta 1.8.1
12:51:37 [INFO] Loading properties
12:51:37 [INFO] Starting Minecraft server on 5.170.233.103:25565
12:51:37 [WARNING] **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
12:51:37 [WARNING] The server will make no attempt to authenticate usernames. Be
ware.
12:51:37 [WARNING] While this makes the game possible to play without internet a
ccess, it also opens up the ability for hackers to connect with any username the
y choose.
12:51:37 [WARNING] To change this, set "online-mode" to "true" in the server.set
tings file.
12:51:38 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-1131
-g86b7fa8-b1337jnks (MC: 1.8.1)
12:51:38 [INFO] TerrainControl v1.1.2 is now enabled
12:51:38 [INFO] Preparing level "world"
12:51:38 [INFO] Default game type: 0
12:51:38 [INFO] Preparing start region for level 0 (Seed: -1378695651991841859)
12:51:38 [INFO] [WorldGenCtrl] v2.5 Loaded
12:51:39 [INFO] [dynmap] Using Bukkit Permissions (superperms) for access contro
l
12:51:39 [INFO] [dynmap] Loaded 12 shaders.
12:51:39 [INFO] [dynmap] Loaded 82 perspectives.
12:51:39 [INFO] [dynmap] Loaded 7 lightings.
12:51:39 [INFO] [dynmap] Loaded 1 maps of world 'world'.
12:51:39 [INFO] [dynmap] Dynmap WebServer started on null:8123
12:51:39 [INFO] [dynmap] version 0.24 is enabled
12:51:39 [INFO] Server permissions file permissions.yml is empty, ignoring it
12:51:39 [INFO] Done (0,128s)! For help, type "help" or "?" And another one. Deleted world folder and TC folder from plugins. 161 recipes
17 achievements
12:53:44 [INFO] Starting minecraft server version Beta 1.8.1
12:53:44 [INFO] Loading properties
12:53:44 [INFO] Starting Minecraft server on 5.170.233.103:25565
12:53:44 [WARNING] **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
12:53:44 [WARNING] The server will make no attempt to authenticate usernames. Be
ware.
12:53:44 [WARNING] While this makes the game possible to play without internet a
ccess, it also opens up the ability for hackers to connect with any username the
y choose.
12:53:44 [WARNING] To change this, set "online-mode" to "true" in the server.set
tings file.
12:53:45 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-1131
-g86b7fa8-b1337jnks (MC: 1.8.1)
12:53:45 [INFO] TerrainControl v1.1.2 is now enabled
12:53:45 [INFO] Preparing level "world"
12:53:45 [INFO] Default game type: 0
12:53:45 [INFO] New max size: 400
12:53:45 [INFO] New max size: 784
12:53:45 [INFO] New max size: 1764
12:53:45 [INFO] New max size: 5476
12:53:45 [INFO] New max size: 18496
12:53:45 [INFO] New max size: 19044
12:53:45 [INFO] Placed stronghold in INVALID biome at (21, -34)
12:53:45 [INFO] Preparing start region for level 0 (Seed: -1378695651991841859)
12:53:46 [INFO] Preparing spawn area: 12%
12:53:47 [INFO] Preparing spawn area: 28%
12:53:48 [INFO] Preparing spawn area: 44%
12:53:49 [INFO] Preparing spawn area: 60%
12:53:50 [INFO] Preparing spawn area: 73%
12:53:51 [INFO] Preparing spawn area: 89%
12:53:52 [INFO] [WorldGenCtrl] v2.5 Loaded
12:53:52 [INFO] [dynmap] Using Bukkit Permissions (superperms) for access contro
l
12:53:52 [INFO] [dynmap] Loaded 12 shaders.
12:53:52 [INFO] [dynmap] Loaded 82 perspectives.
12:53:52 [INFO] [dynmap] Loaded 7 lightings.
12:53:52 [INFO] [dynmap] Loaded 1 maps of world 'world'.
12:53:52 [INFO] [dynmap] Dynmap WebServer started on null:8123
12:53:52 [INFO] [dynmap] version 0.24 is enabled
12:53:52 [INFO] Server permissions file permissions.yml is empty, ignoring it
12:53:52 [INFO] Done (0,746s)! For help, type "help" or "?"
>tc check world
12:54:01 [INFO] TerrainControl: settings does not exist, creating defaults
12:54:01 [INFO] TerrainControl: settings for 'world' loaded
12:54:01 [INFO] Done!
>tc list
12:54:59 [INFO] TC is not enabled for this world
>tc check world
12:55:10 [INFO] BOB Plugin Registered: mephestrial-s-palm.bo2
12:55:10 [INFO] BOB Plugin Registered: murphys_oak.bo2
12:55:10 [INFO] BOB Plugin Registered: murphy_prettypine.bo2
12:55:10 [INFO] BOB Plugin Registered: murphy_rainforest_normaltree.bo2
12:55:10 [INFO] BOB Plugin Registered: murphy_redwood.bo2
12:55:10 [INFO] BOB Plugin Registered: murphy_redwood2.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_bush.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_deadoak1.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_deadoaktrunk1.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_islanderstatue.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_leaningpalmshort.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_oak1.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_pine.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_pinetallfat.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_pinetallskinny.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_shrub.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_squarestonehead.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_tallredwood.bo2
12:55:10 [INFO] BOB Plugin Registered: wessex_tallredwood2.bo2
12:55:10 [INFO] TerrainControl: settings for 'world' loaded
12:55:10 [INFO] Done! Also, ingame BOBobjects work even when they dont spawn at new generated chunks.
I mean that /tc spawn command works.
@Cim0n Post logs anyway... I cant help you without it
@Khoorn
Same as Forbert. No errors in logs but TC is not working. CB1337
I am having trouble getting this plugin to work. Everything looks like a normal generated MC level. I've used BTM/PTM in the past on SSP, and have followed the provided directions, but nothing is changing.
Server logs show no errors. Any chance of getting a more in depth explanation of the features and how to use them?
Thanks for continuing this mod, I really appreciate it.
@Cim0n Any logs ?
Plugin is'not working for me. Lost about 5 hours on attempts to make it work and all is worse. First noticed that it's not working when BOBobjects doesnt spawned when I generated new world (i use WorldGenerationControl plugin. And yes, I've tried without all another plugins). Then I tried to make ocean world with 'LandSize:0' option. And again the world was like default. >.< Finally, i tried to change all possible options and always the same default world.
@RTB2011
Oh yes i mean use schematics like you say .. Was hard week and i thought i explain about schematics :(
Underwater ores ( sand and clay by default) not custom objects :/
Yeah Khorn, I'll start a new thread. Already have. :)
I'll take a look at that soon. And yeah, rewrite as much as you darn well please. I was about to do the same when I left, actually. Poor coding practices and lack of comments in the early days left us with a really hard to maintain product. ;)
About BO2 files: Here's an idea: Keep support for them, but make them legacy, and instead accept schematics natively. for every .schematic, have a support file with the old header information (name it .support or something). It would be simple text and you could even write a little "schematic import" utility to write the basic header settings. Alternatively, people could just drag and drop schematics and accept some kind of defaults.
Just curious: Did you ever get underwater spawning working? That was hard for me.
Well first of all,
You're doing an amazing job, please keep working on this plugin
then I'm wondering how to set the configuration, you do not explain witch line means what ... nor how to make our world be our very own world...
could you make a page of this ?
- edit - Ok nervind, I did not download it and then I did not realised that all the informations I need are in the config file... maybe you still must do a page explaining what we can do and how ! a lot of people (like me) could think, If I download this plugin I won't understand how to set my plugin ...
so, I still think you should make a page so that people could start thinking how their world will be before they download your plugin (and then they will download it because they see it match with what they wana do
@eg_bruge_hud
Set biome chances in all other biomes to 0 And if you want make world without ocean - set LandSize:10 in main world config
Hi guys! Is there a way to make the world be only one sort of terrain? Say i wanted a huge rainforesty kind of map, how would i configure the generator?
@RTB2011 Oh hey RTB ! Welcome back to minecraft :)
First - why i change name to TC - because i lost control of PTM here ( second man is totally gone ) Second - i am worked alone .. so specs is in my mind :( You can see my code here .. i think you may use this code with small changes in SSP and SMP. Like ChunkProviderGenerate in SSP is Generator / ChunkProviderTC and Generator / ObjectSpawner here. And if you dont understand something - ask me with pm :) Also i am remake about 90% code from you and Bucyruss .. old is some variable names and bo2 section. Oh and i am thinking about to migrate from bo2 to schematics..
So you can do with my code everything and if you will work with SSP and SMP versions it will be awesome. :) You will start new thread on minecraft forums like old PTM ?