WorldGen
ATTENTION
As of spigot 1.8.3, WorldGen is broken. Mojang did a major rewrite of the worldgen files. It is possible to fix but its gonna take me some time.
Pls see this post for more details: http://dev.bukkit.org/bukkit-plugins/worldgen/?comment=102
ATTENTION
This Bukkit plugin is used to manually create or generate various world structures throughout your world. Supports permissions and the following structures:
- Ocean Monument
- Desert Temple
- Jungle Temple
- Mineshaft Complex
- Stronghold Complex
- Stronghold Portal Room
- NPC Village Complex
- Witch's Hut
- Nether Fortress Complex
Structures are generated at the current player's location and in some cases can be bounded to a maximum radius. Structure generation uses the internal Minecraft routines directly.
Credits
TheHUTMan, the real author of the project. He has since taken a break from the project but he is the brains behind it. Paxination, another plugin dev who helped correct some major compatibility issues we encountered between new releases of CB. Nisovin and JRArocks for the initial ideas for making villages. This version attempts to be agnostic to the current Bukkit version, and should work for newer releases so long as the basic API doesn't change (which it usually doesn't).
Sample Pictures
Here is a sample of generating a Desert Temple in grasslands :)
This may freak some people out ... a coven of witches! I generated 4 huts in close proximity. Might make a nice arena :)
More pictures can be found on the Images page.
Installation
Simply copy the WorldGen.jar into your Bukkit plugins folder. There currently are no configuration files for this plugin.
Commands
/worldgen [type] [radius=50]
[type] must be one of: village, witch, jungletemple, deserttemple, well, stronghold, mineshaft, shportal
[radius] defaults to 50, and for some items isn't used.
For more details, please see Commands
Note that the actual position of the generated structure may vary slightly from the users position due to chunk alignment requirements and how the underlying Minecraft generation methods actually operate. There is a bit of randomness involved as well.
Also, when generating some structures on flat worlds (or in worlds where there isn't sufficient land under your position) you may end up with structures floating above ground. This is a side-effect of how the minecraft objects generate the structures and mostly impacts things like mineshafts, strongholds, and nether fortresses. Desert temples also require a minimum amount of space under them to form the "trap" area.
Permissions
WorldGen supports the SuperPerms permission settings. The following permissions are available:
- worldgen.command: Allow user to run the worldgen command
- worldgen.command.deserttemple: Allow user to generate a desert temple
- worldgen.command.jungletemple: Allow user to generate a jungle temple
- worldgen.command.mineshaft: Allow user to generate a mineshaft complex
- worldgen.command.nether: Allow user to generate nether type complexes
- worldgen.command.stronghold: Allow user to generate a stronghold complex and rooms
- worldgen.command.village: Allow user to generate a village complex
- worldgen.command.witch: Allow user to generate a witch's hut
By default, ops are given worldgen.* permissions.
Cool! Great plugin...
@CommodoreAlpha Thanks for your comments!
Making my own structure generation would be quite complex and require more upkeep, especially for things like villages, strongholds, and mineshafts. As a side note, you CAN create just portal rooms currently. I'm trying to figure out how to do the same for other structure types (like individual village structures) which might help with this.
I've already been looking into possibilities on how to do this ... it's not trivial, but seems doable from a gross sense of mapping all the blocks in an area and then reverting that back if you choose to undo.
I used JRArocks original code snippet from his plugin page as a baseline to start my version of the plugin. At the time, his code was crashing due to dependencies on the bukkit version of the build, which I've managed to work around and make less dependent on the underlying class version structures in Bukkit/Minecraft. I didn't really use any of his actual code to start work with.
FWIW, you can change your speed with other plugins, namely Essentials has a /speed command that already does this. I'll consider adding something similar if it seems like its a good fit.
This plugin uses only Minecraft generation algorithims, right? I'm just wondering if it would be possible AND feasible to replicate those algorithims within this plugin, so that you can control the structure-generation itself.
There's two reasons I'm asking: one is that the current MC generation might be a little wonky (as mentioned in generating structures on FLAT) in "non-natural areas," and the other is that a server admin might want to generate a structure like a stronghold with certain parameters, say for some reason, multiple portal rooms.
Also, a "/worldgen undo" command would be helpful for... the more disastrous generations, though it could be tricky to implement. Maybe, I really don't know any code.
And you got some of the idea of village generation from a developer named JRArocks, right? I know his NPC Village Creator plugin, and it has an adjustable flyspeed command in it; I was wondering if you could implement that too in this plugin.
Oh, my server will open, just not using Worldgen.
@Tigerstripes
SuperPerms is the Bukkit permissions system. By default, if you are an OP, you should get access to all WorldGen commands. There are other plugins you can use to enhance how SuperPerms works, but that's not really anything plugin developers worry about. Just know that WorldGen uses the normal Bukkit permissions system ;)
Now, in regards to your server not opening, do you have a copy of your server's log file (just from the point of startup until it completes loading)? There isn't much going on during startup other than logging a message about initializing the plugin, which is a very basic process in regards to WorldGen. The complex code only really runs when someone issues commands. Normally during startup you should get a few lines like these near the start of the log:
This shows the server version and typically a list of plugins that are loading (WorldGen as you see is one of them).
Further along in the log you should then see WorldGen getting initialized:
That's pretty much it. If there is an exception being generated during that process, I'll see what I can figure out (it may be related to the version of the server you are running).
@Illumineko
There isn't any kind of undo unfortunately. This would take quite a bit of effort to make work, given the somewhat random nature of the process and that the underlying minecraft code doesn't deal with undo.
It's possible to use something like world edit to "copy" an entire area before doing a command and then using that as a backup. Or, if no other structures were in the area, you can simply use the WorldEdit /regen command in the area to revert back to the naturally generated landscape (just be sure you didn't have anything changed in the area first).
I was wondering if I can undo anything I've generated. Is this possible?
I've followed the instructions several times and my server won't open with WorldGen. I copied the WorldGen.jar file into my bukkit plugins folder, and then run my server. I'm not sure what SuperPerms is though, does that have anything to do with it?
@Saltiez
Well, first, witch huts ignore the radius parameter. The command will generate only one structure of the given type at (or near) your current location. The radius is only used currently for villages, strongholds, and fortresses to limit their max size. If you make it too big it ends up not mattering anyway as most structures will naturally stop at some point.
Some items are fussy about where you attempt to generate them, although which huts seemd to spawn rather easily wherever I was at. Have you tried different biomes or a different map?
Does this allow generating throughout the map? Like if i did /worldgen witch 10000 would it generate the hole world into a witches hut or just in some parts because for some reason my world doesn't generate structures even with the setting set to true.
@MCwolski
Ok, new version has been uploaded. Once approved, you'll get to generate nether fortresses. You can even make them in the overworld :)
@MCwolski
There are a number of "Nether" structures I'm trying to work out currently. If I get somewhere with it, I'll post it here.
@ZwingGX
Probably not, as island generation isn't a structure but part of the base biome ... which is something completely different.
FWIW, I'm working on adding a bunch of other "simple" structures to handle generation of things like: huge mushrooms, swamp trees, pumpkin patch, reeds along a shoreline, water lilies.
Niiiiiiiiiiiiiiiiiice plugin!
Btw, could you add a generation for Nether Fortress in nether world? :)
Awesome :)
could you add mushroom lsland ?
AWESOME
It's waiting approval. Hopefully up soon.
download?