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.
Great plugin! I just got the generation working here by setting generator to Cleanroomgenerator in bukkit.yml. But I saw something strange, not sure if a bug or this is normal: http://s28.postimg.org/iiwxev26l/2014_06_01_07_55_47.png (in one of the edges - the empty spaces are NOT bad chunks, its just not rendered)
Is this normal? I'm just afraid about corrupted chunks that can cause me problems later on, since I'm running a server with clean room main map.
I keep on getting this error when ever I join the server.
[17:24:43 INFO]: 4rch4r1n[/] logged in with entity id 0 at ([worl d] -49.03675909613342, 5.480710876331692, -24.40527144718726) [17:24:43 ERROR]: Encountered an unexpected exception java.lang.IllegalArgumentException: n must be positive at java.util.Random.nextInt(Random.java:300) [?:1.7.0_21] at net.minecraft.server.v1_7_R3.BiomeDecorator.a(SourceFile:122) [craft bukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.BiomeDecorator.a(SourceFile:27) [craftb ukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.BiomeBase.a(SourceFile:364) [craftbukki t.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.BiomeForest.a(SourceFile:138) [craftbuk kit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.ChunkProviderGenerate.getChunkAt(SourceF ile:432) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.craftbukkit.v1_7_R3.generator.NormalChunkGenerator.getChun kAt(NormalChunkGenerator.java:49) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084j nks] at net.minecraft.server.v1_7_R3.ChunkProviderServer.getChunkAt(ChunkProv iderServer.java:247) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.Chunk.a(Chunk.java:823) [craftbukkit.ja r:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.craftbukkit.v1_7_R3.chunkio.ChunkIOProvider.callStage2(Chu nkIOProvider.java:51) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.craftbukkit.v1_7_R3.chunkio.ChunkIOProvider.callStage2(Chu nkIOProvider.java:13) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at org.bukkit.craftbukkit.v1_7_R3.util.AsynchronousExecutor$Task.finish( AsynchronousExecutor.java:188) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks ] at org.bukkit.craftbukkit.v1_7_R3.util.AsynchronousExecutor.finishActive (AsynchronousExecutor.java:347) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnk s] at org.bukkit.craftbukkit.v1_7_R3.chunkio.ChunkIOExecutor.tick(ChunkIOEx ecutor.java:34) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:6 07) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:2 60) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:5 58) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java :469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6 28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-b3084jnks] [17:24:43 ERROR]: This crash report has been saved to: C:\Users\Sawyer\Desktop\P ixel Parkour\.\crash-reports\crash-2014-05-31_17.24.43-server.txt
@itsEzreal
I don't see any stack trace pointing at CRG, so I doubt it. A similar issue has occurred before in an earlier beta release where Bukkit broke custom world generator support after a Minecraft update but it got fixed shortly afterwards. I'd raise it with the Bukkit folk (assuming they don't already know about it).
I love this plugin but only recently I have been getting internal error's with the map which crash my server. Here is the error.
25.04 18:56:07 [Server] ERROR This crash report has been saved to: /./crash-reports/crash-2014-04-25_18.56.07-server.txt 25.04 18:56:07 [Server] INFO at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:618) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java:459) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at net.minecraft.server.v1_7_R2.MinecraftServer.u(MinecraftServer.java:548) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at net.minecraft.server.v1_7_R2.DedicatedServer.v(DedicatedServer.java:250) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at net.minecraft.server.v1_7_R2.MinecraftServer.v(MinecraftServer.java:597) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at org.bukkit.craftbukkit.v1_7_R2.chunkio.ChunkIOExecutor.tick(ChunkIOExecutor.java:34) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at org.bukkit.craftbukkit.v1_7_R2.util.AsynchronousExecutor.finishActive(AsynchronousExecutor.java:347) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at org.bukkit.craftbukkit.v1_7_R2.util.AsynchronousExecutor$Task.finish(AsynchronousExecutor.java:188) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at org.bukkit.craftbukkit.v1_7_R2.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:13) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at org.bukkit.craftbukkit.v1_7_R2.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:51) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at net.minecraft.server.v1_7_R2.Chunk.a(Chunk.java:832) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at net.minecraft.server.v1_7_R2.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:246) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at org.bukkit.craftbukkit.v1_7_R2.generator.NormalChunkGenerator.getChunkAt(NormalChunkGenerator.java:49) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at net.minecraft.server.v1_7_R2.ChunkProviderGenerate.getChunkAt(SourceFile:432) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at net.minecraft.server.v1_7_R2.BiomeBase.a(SourceFile:364) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at net.minecraft.server.v1_7_R2.BiomeDecorator.a(SourceFile:27) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks] 25.04 18:56:07 [Server] INFO at net.minecraft.server.v1_7_R2.BiomeDecorator.a(SourceFile:122) [craftbukkit3033.jar:git-Bukkit-1.7.2-R0.3-9-g8e87ff5-b3033jnks]
Do you think it has anything to do with CRG?
@Deps7
I can confirm that this does happen to work for 1.7.2 and 1.7.5
Work on 1.7.2? Please respond!
Nevermind, I figured it out.
I have the problem that everytime I try to create a custom flat map, the world has a bunch of different biomes all over the place. But I need just the one standard Biome for a creative world. How do I do this?
@Dudemister1999
I don't have that node in my bukkit.yml. Are you using a modded craftbukkit?
@Dudemister1999
Good to hear you got it working. :)
EDIT: I fixed my issue, I just set the generator to CleanroomGenerator in bukkit.yml. Working so far!
I get an error trying to generate new chunks.
http://pastebin.com/AfPNMP1h
I know for a fact that it is CRG, because when I remove it the world generates normally without error.
It has always worked reliably for me.
If you do not want to use multiverse, just go into your bukkit.yml file, and at the bottom put this:
worlds:
worldname:
generator: CleanroomGenerator:.
#This is for an empty world.
worlds:
IslandWorld:
generator: CleanroomGenerator:
#Only Layer 0 as bedrock.
worlds:
IslandWorld:
generator: CleanroomGenerator:5,wool:2
#Layer Zero bedrock and 5 layers of Magenta wool.
Get what i am saying?
That might help a little.
CleanRoomGenerator no long works reliably. Thankfully the vanilla superflat generator does exactly the same thing as CleanroomGenerator (and a bit more).
does it work with 1.7.2 and does it work with multi world
@SCArisa
Should do.
This plugin works on 1.7.2 servers?
Hello Neo_Vortex, is there CleanroomGenerator 1.6.2 it?
@Slippery_Pete
Simple is best! Do one job and do it well. :)
@Neo_Vortex
Thanks for the help, I'll keep it in mind for next time, but for now, I've just created a singleplayer world and imported it. Very well made plugin, Maybe even the second best I've seen.
@Slippery_Pete
So just use a generator id of "3,stone,10,sandstone"?
Ie with multiverse: /mvcreate rrclean -g CleanroomGenerator:3,stone,10,sandstone
The reason I made this is so you can completely customise the top-to-bottom layer your world is made up of. :D