CleanroomGenerator
This plugin can be used by world managers such as MultiVerse (version 2.0+) as a Custom Chunk Generator to create customisable flat clean room style worlds.
Your world manager must support Custom Chunk Generation or this will not work. MultiVerse only supports it in version 2.0 and later.
Example usage with MultiVerse: /mvcreate cleanroom normal -g CleanroomGenerator:64|stone
This will create a new world named "cleanroom" with the layer 0 as bedrock and layers 1-64 as stone, thus giving 65 total layers (including bedrock). Block ids are also valid in place of block names.
You can also specify multiple layers such as: /mvcreate cleanroom normal -g CleanroomGenerator:10|stone|20|dirt|1|grass
This would create a new world named "cleanroom" with layer 0 as bedrock, layers 1-10 as stone, layers 11-30 as dirt, and layer 31 as grass thus giving 32 total layers (including bedrock).
If the generator id is prefixed with a "." character, layer0 will not be generated as bedrock by default, allowing you to create space maps, or have a different block at layer0. For space maps, the spawn is set to y=64 to allow some falling before damage is taken. Fly mods are recommended for this sort of map.
If the generator id is prefixed with a "^" character, the first layer will be generated at y=-64 rather than y=0. Note this can be combined with the previous option in any order, eg "^." or ".^" are the same.
Some more examples:
/mvcreate cleanroom normal -g CleanroomGenerator: - Creates a map with only layer0 as bedrock.
/mvcreate cleanroom normal -g CleanroomGenerator:. - Creates an empty 'space' map.
/mvcreate cleanroom normal -g CleanroomGenerator - Creates a map with layer0 as bedrock, followed by 64 stone (default when no generator id is specified).
/mvcreate cleanroom noraml -g CleanroomGenerator:1|minecraft:grass_block[snowy=true] - Creates a map with bedrock followed by snowy grass (this is an example of the modern format)
More examples can be found at the Wiki
Features:
- Customisable height and block types of cleanroom.
- Support for multiple layers.
- Commands like WorldEdit's regen will regenerate the correct blocks.
- World sizes are not restricted as is the case with mcedited cleanroom maps.
- Only generates chunks as required.
- Able to create infinite space maps (using "." as the generator id to skip generation of the bedrock).
- Supports arbitrary height worlds (to within what CraftBukkit/Minecraft supports) - tldr: Supports 128-height and 256-hight worlds.
- Supports modern block naming and data values like minecraft:grass_block[snowy=true]
Version 1.0.0 and earlier of this plugin used a comma (,) as a separator and a colon (:) to specify block data values. 1.1.0 and above use a | to avoid conflicting with modern block names and do not support block data values in favour of the modern block naming format.
Known Conflicting Plugins:
Any plugin which calls createWorld itself rather than letting your world manager plugin call it (with the appropriate parameters to specify WGEN) will cause issues. The following are known to cause conflicts, please let me know if you find any other plugins causing issues, or if any listed have been updated to no longer cause issues with custom WGENs.
- Creative Gates
I accept pull requests on GitHub. For bug or feature requests, please use the GitHub Issues Tracker for this project.
In my infinitely flat world, normal landscape is generating. I have updated to Minecraft 1.2.5 on RB 1.2.5 R1.0 and I am using Multiverse-Core 2.4 with the generation code. generator: CleanroomGenerator:8,stone,1,80
I have not tried creating a world in game using the MV create command, it may yield different results.
Sorry if this has been asked before, but can this generate an infinitely generating flat world? Or does it just make a very large flat area, and when you venture too far out, it generates normal minecraft world?
Also, if it does create an infinitely generating flat world, will using a program such as MCEdit to paste in blocks change anything about how the world generates?
@fireball1725
Ideally this would be done by enabling the default ore populator in the world. Unfortunately Bukkit does not provide a method that exposes the default populators for custom WGENs yet (at least not that I'm aware of, if someone knows how to utilize the default populators, please let me know!).
With the above out of the way, ideally there would be a way to enable populators from other arbitrary plugins as well which will be added as a feature using custom generator IDs when possible.
would it be possible to add a feature where a random ore could be inserted, for example, say i have 20,stone it would be nice to be able to add something to say randomly place ore in the area where the stone is.
@Spidiweb7
It should, what is the imported world? A cleanroom? How did you import it? Did you specify the generator during import? Define doesn't work?
does this work with imported worlds ? from my first attempt it appears not ? :/
@NikoKun
v1.0.0 is now out. :)
Glad to hear there's an update coming. I've been really impressed that this has still functioned mostly fine, for so long.
@lorenzo_p
The API used has been deprecated but not removed. At present for 128-high worlds it should work fine, but I'm updating it at present to support 256-high worlds as well as using the updated API which should allow for use of additional block types.
I was using this plugin on 1.2.3 with multiverse 2.4. I'm upgrading everything to 1.2.4 now, but I don't see any errors so far. seems to still be working fine.
Ehh, I was using the latest version at that time. It may have very well been 1.1, But my server is 1.2.3, Thanks though.
@KAGamerAlex
Well spotted... although perhaps he meant Minecraft 1.1. Even with MultiVerse 1.x (although I'm pretty sure it's not supported on the current versions of Bukkit) this plugin can be used along with editing your bukkit.yml file. But of course such an old version of MV could be the cause of many errors from that alone due to its age...
@MinecraftConnor
This plugin is compatible with Multiverse 2.0+ and you're using 1.1?
@Neo_Vortex
Zing! Thanks for this plugin!
@MinecraftConnor
If using CleanroomGenerator the blocks should generate the same infinitely in all directions.
If you can't use MultiVerse, you can still use this plugin by editing your bukkit.yml file, see http:wiki.bukkit.org/Bukkit.yml#.2AOPTIONAL.2A_worlds for some examples. This is also required if your default world is using a custom WGEN.
Hey, I run a moderately active skyblock server. But it only goes out about 400x400 and people have been going onto the normal world....
Is there a way to remove this with CleanRoomGen?
Multiverse is 1.1 and giving me Internal errors.
Please reply ASAP.
@BeastsMC
That is because it only affects newly generated chunks, not already generated ones (unless they were generated with the wrong WGEN already).
Use WorldEdit's regen command on an area and notice if it generates chunks correctly or not. If not then then disable CommandBook and restart your server and try regen again. If it generates the correct chunks, then CommandBook is at fault for loading the world itself when setting up teleports, rather than using the OnWorldLoad hooks as any decently written plugin should do and leave world management to your world management plugin.
@Neo_Vortex
Well, the areas where this happens isn't any place that people teleport. They are in the middle of nowhere, with nothing around. The only teleport function my players have is CommandBook's /call.
Youre plugin rocks!! I also used it, because I needed to make the underworld for school, so thanks for helping getting 10/10 for this part!!! Maybe updating the compatible builds would me nice for new people ;)
@Neo_Vortex
When updating my server I made a spreadsheet of how well plugins were doing with the 1.2.3 beta build. My entry for Cleanroom Generator?
'Like a boss.'
I love your plugin, thanks again. :)