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
@antikx
1.7.x
thanks! Appreciate it! What are you building it for? 1.6.4? 1.7.X?
I've created a fork of this plugin, and it can be found here. Still waiting for bukkit staff to approve the file though
http://dev.bukkit.org/bukkit-plugins/worldschematics/
It does the same thing as worldfeatures, but does not contain the tools to create schematics. However, that can be easily done with the plugin worldedit.
Im gonna try and take over development of this plugin and update it. If anyone is interested in helping let me know.
I have put a moderate amount of effort into getting this working. I would love to fill my world with a variety of trees, forts, wrecked ships, ancient ruins and the like. I cannot get this to work.(1.7.9) It does not give me an error or a warning.
I am using a glass pyramid schematic.
Here is the *.yml file I have made: dontpaste:0 anywhereminY:60 anywheremaxY:70 chance:50 maxspawns:20
The issue lies somewhere in this, from the PlayerListener.java: if(event.getClickedBlock() != null) { Location blockLocation = event.getClickedBlock().getLocation(); if(event.getAction() == Action.RIGHT_CLICK_BLOCK) { WorldFeatures.getPlayerInfo(p).point2 = blockLocation; basement:3 biome:OCEAN randomrotate:true place:anywhere
It is loading fine, and editing the file. I originally had the master settings.yml file blank, and it filled it in automatically with these values:
1.7.9 Needs This!
Please update this plugin, its exactly want i wanted and looks awesome!
We need to rescue this plugin!
I hope this plugin doesn't die. :(
O M G If this plugin becomes fully compatible with 1.7, it'll be one of the most awesome plugin I ever saw in my life.
@Redbu111
work fine for me, I just want to know how to place structures in water.
Doesnt work anymore on 1.7.2 with newest worldedit builds :(
How can I spawn ships in water?
It seems a very good plugin, but don't work at all of 1.6.2, it's really sad. The tutorial video are not like the files, I try to change all things and nothing happened.. :(
1) Ok I found, the steps :
- /wf <name>
- /wf copy <name>
And the generation begin.
Please delete your or hide your old video.
2) But I don't understand at all how works the "spawn chance". Sometimes I have nothing during 50 chunks and then 10 shcematics on 3 chunks, damn..
The links to download are broken dude :(.
Ok link works here = http://www.curse.com/bukkit-plugins/minecraft/pickacard
Please update to 1.7.x
Does this work for 1.7.2?
@dkramer I would be happy to test some builds if you have some bug fixes for 1.6.4
Actually ignore my last, you've already answered this.
However, I still cant get it to generate anything without crashing my server. There is no error or log record, my players just get kicked with a Socket Closed error and my server output is frozen.
I am using BukkitGUI and FloatingIslandsWorldGen (http://dev.bukkit.org/bukkit-plugins/floating-island-world-generation/).
Any help is appreciated!
Could you possibly release a version for 1.6.2, or explain why my players get a socket disconnect when the server tries to spawn a structure?
Thanks :D