WorldFeatures
WorldFeatures, A Plugin Inspired by this Reddit post. It automagically builds structures from schematics in a customizable way when the world is created.
Version: 3.03
Plugin name by tmcaffeine
Source (be warned, it still has some code from when I was a noobie)
Description:
Save .schematics to your Created folder in-game or download someone else's .schematics to be generated randomly when new chunks are formed. Each has its own customizable chance to spawn.
A video explaining how to set it up can be found here.
A test of the generation can be found here.
Dependency
You will need WorldEdit.jar in your plugins folder for this to work. You can get it at http://dev.bukkit.org/bukkit-plugins/worldedit/
Permissions:
You will need to use PermissionsBukkit or SuperPermsBridge to use these permissions. If you do not have either, it will default to your OP list.
- WorldFeatures.commands
This permission allows the player to use every command. Use this wisely.
Commands:
/wf <name> Creates a schematic named <name> of the selected cuboid. A cuboid can be selected by holding seeds or a customized item.
/wf copy <name> Copies and pastes this schematic from your Created folder into your ToUse folder. Your world will automatically start generating this structure without needing a reset.
Installation:
Insert WorldFeatures.jar into your plugins folder.
Customizing:
After starting up the server for the first time, a WorldFeatures folder will be made. Inside this will be three things:
- The "Created" folder - this is where the schematics you create in-game will go to.
- The "ToUse" folder - this is where you can place yours or someone else's created schematics. Every .schematic needs a matching .yml. This is explained below.
- "Settings.yml" This is explained below.
The Settings.yml has 2 things right now:
- wandmaterial - number - what should be held when selecting a cuboid for a schematic?
- chunkchance - number between 1 and 100 - chance is explained below.
Individual .ymls for schematics
Each schematic needs its own .yml in the ToUse folder (it should be named <schematicname>.yml). If you are loading a .schematic from elsewhere, copy and paste a .yml and change its name. In each .yml should be these things:
- dontpaste - The IDs of blocks that you do not want to paste from the schematic. The only ID that works right now is "0" to not paste air.
- anywhereminY/anywheremaxY - the minimum and maximum height the structure can spawn at if "place" is set to "anywhere"
- chance - When a chunk is loaded, it checks the chance of the chunk to generate something (by chunkchance in the Settings.yml). If it can, it runs through all the schematics and checks this number for each one. If multiple structures are chosen to generate on one chunk, it will randomly choose one of them to be generated. This means that this "chance" is relative and not an exact amount.
- maxspawns - the maximum amount of times this .schematic can spawn
- basement - if you have blocks that should be below-ground, this is the number of vertical blocks you want underground, so if I had a building of 30 blocks high, and I only wanted 10 to be above-ground, I would put '20' as the "basement".
- biome - can be "none" or any of these values:
- DESERT
- EXTREME_HILLS
- DESERT_HILLS
- FOREST_HILLS
- JUNGLE_HILLS
- TAIGA_HILLS
- SMALL_MOUNTAINS
- MUSHROOM_ISLAND
- MUSHROOM_SHORE
- FROZEN_OCEAN
- FROZEN_RIVER
- HELL
- ICE_MOUNTAINS
- ICE_PLAINS
- FOREST
- OCEAN
- PLAINS
- RAINFOREST
- RIVER
- SAVANNA
- SEASONAL_FOREST
- SHRUBLAND
- SWAMPLAND
- TAIGA
- TUNDRA
- BEACH
- JUNGLE
- randomrotate - should this schematic randomly rotate? Default is true.
- place can be set to any of these values:
- ground - the schematic will stick to the ground and not spawn over water
- anywhere - it can spawn anywhere within the .yml range of min and max
- air - it will only spawn in the air
- underground - it can only spawn underground
Changelog
3.0
- Finally updated!!
- "wandID" turned into "wandmaterial"
- More efficient world creation and .yml saving
- .ymls are different for the schematics as well. To see the difference, simply create a schematic with seeds and the /wf command in game
-
View User Profile
-
Send Message
Posted Nov 25, 2013I really hope this plugin remains updated
-
View User Profile
-
Send Message
Posted Nov 20, 2013How's it going? I noticed you uploaded a couple of updates a while but they never showed up in the file listing for this plugin.
-
View User Profile
-
Send Message
Posted Oct 17, 2013oh, and sorry to be a further pest... :) I know you mentioned it in your youtube video, but I'm confirming that I'm still finding that torches, redstone torches and ladders all seem to randomly pop off.
-
View User Profile
-
Send Message
Posted Oct 16, 2013I would like to use this on my MCPC+ server where I'm using biomes o' plenty. Would you know if the "biome" part of the yml will be compatible with the extra biomes or is it hard coded to only work with Vanilla biomes?
-
View User Profile
-
Send Message
Posted Oct 16, 2013Thanks, but it might simply be because I'm making the yml wrong. Could you please post an example yml of an air based one?
-
View User Profile
-
Send Message
Posted Oct 16, 2013@antikx Oh very interesting, I'll look into that!
-
View User Profile
-
Send Message
Posted Oct 16, 2013Hello, I'm struggling to get air based schematics to spawn. When the world generator tries, the server freezes. Could you please provide a sample of a working yml that has "place" set to "air"?
-
View User Profile
-
Send Message
Posted Oct 12, 2013@combustible_lemons
Hey lemons, are you xavier? If so, then yep! I decided to take a little break from game making to update this because of you asking on reddit. I may be able to test it with 1.5.2 later. Try the dropbox download that has the latest version and let me know if it doesn't work.
@McPixel
I've implemented this! I had to modify the source code of WorldEdit, but my tests have turned out well for it. From the new decription: "dontpaste - The IDs of blocks that you do not want to paste from the schematic. IDs can be found at http://goo.gl/dMKT2z. Separate these by a comma. For example, if I didn't want to paste the air and grass blocks from the schematic, I would put "dontpaste: 0, 2". Hopefully the new version gets approved for you!
So "pasteschematicair" has been removed, and the default "dontpaste" is 0 to remove the air.
-
View User Profile
-
Send Message
Posted Oct 12, 2013@dkramer
Hello again :D, i have new sugestion, can you do to spawn schematic with except blocks ? like air.
Except : - air - iron_ore - chest
-
View User Profile
-
Send Message
Posted Oct 12, 2013Oh, and would you be able to support 1.5.2? Virtually all modded servers run 1.5.2 at the moment. :)
-
View User Profile
-
Send Message
Posted Oct 12, 2013@dkramer Does this plugin being updated have anything to do with the fact that I contacted a bunch of dkramers asking for it to be updated? Regardless, thanks! :D Would you consider integration with Hyploot (custom loot) or KillTheBat (custom bosses)?
-
View User Profile
-
Send Message
Posted Oct 10, 2013@rmh4209
To be honest, I have very little experience with repositories, but I'll look into them
-
View User Profile
-
Send Message
Posted Oct 10, 2013dkramer, man, I dig this plugin. Would you consider putting the code up on GitHub or Bitbucket instead of just putting a source zip file link here?
One of the benefits that would give you is you could setup a Jenkins to make builds automagically for you.
-
View User Profile
-
Send Message
Posted Oct 10, 2013@dkramer
wow fast reponse, Thanks dude ^_^ :D . you are the best.
-
View User Profile
-
Send Message
Posted Oct 10, 2013@McPixel
Okiedokie! Now there is a "pasteschematicair" value in the schematic .ymls. True to paste schematic air blocks and false to not. This defaults to false. If version 3.02 isn't approved by the time you get back, the dropbox link has it.
-
View User Profile
-
Send Message
Posted Oct 10, 2013@McPixel
I wasn't sure if this was possible, but it looks like it is! I have the code done, just gotta test it.
-
View User Profile
-
Send Message
Posted Oct 10, 2013@dkramer
maybe you should to add config, ignore air or not ? :D
-
View User Profile
-
Send Message
Posted Oct 9, 2013Cheers. Thanks for the quick reply.
-
View User Profile
-
Send Message
Posted Oct 9, 2013@antikx
I tested the .jar it with 1.6.4 and 1.6.2 and it works for both! If you have any issues, let me know.
-
View User Profile
-
Send Message
Posted Oct 8, 2013Can't wait to try this plugin, but would you be so kind as to back port this to 1.6.2, please?