StructureAPI
The StructureAPI
~ Loading and placing schematics has NEVER been SO EASY ~
The StructureAPI is that provides a convenient way to load and place schematics. Players can pick these schematics (also referred to as plans) from a menu and place them in the world. Scroll down to 'Quick Start' or watch the 'Quick Demo' to know more about how to setup your server with plans. StructureAPI aims to provide servers with a wide range of tools to place structures.
For older versions...
see structureapi 2.1.0 for the old page
Upgrading from 2.0.0 or 2.1.0? READ THIS!!
If you haven't created a backup yet CREATE BACKUPS OF YOUR SETTLERCRAFT-CORE DIRECTORY!!!. This update will upgrade the database and THERE IS NOW WAY BACK, NO DOWNGRADE POSSIBLE. Unless ofcourse you made backups ^^
Current Features
- Generate plans from schematics
- Loading plans into a fancy menu
- Select plans from a menu
- Buy plans from a menu (requires Vault)
- Build a structure or continue construction of a existing one
- Demolish a structure
- Rollback structures (since 2.2.0)
- Stop construction or demolition of a structure
- Structures don't overlap each other
- Substructures, structures may be placed inside other structures (configurable to enable/disable)
Quick Demo (2.0.0)
Quick Start
- Download schematics from any website (for example minecraft-schematics.com)
- Place the downloaded schematics within "plugins/SettlerCraft-StructureAPI/generate"
- Start the server or execute the command "stt generate plans" in the server console
- Place the schematics together with the generate XML in "plugins/SettlerCraft-StructureAPI/plans"
- Restart or reload the server
- Plans are now available in the menu, you can open the menu by either using the /stt menu or /stt shop
Note: There is a small requirement for loading the schematics into SettlerCraft. All schematics need to be placed in neutral position which means the schematic needs to be aligned to the east (front pointing to west), unless you don't care about it's orientation. You can do this by simply using the command '/stt rotate [structureid][degrees]' which will rotate a schematic permanently.
Commands (2.2.0)
See github commands for StructureAPI 2.2.x
Permissions
See github permissions for StructureAPI 2.2.x
Installation
See github installation for installing StructureAPI 2.2.x or higher
Required plugins/dependencies
- SettlerCraft-Core - Core functionality of SettlerCraft, contains a distribution of Neo4j database
- SettlerCraft-MenuAPI - Menu library of SettlerCraft
- WorldEdit 6.1
- AsyncWorldEdit - version 2.2.x (Note: you will need both AsyncWorldEdit and AsyncWorldEditInjector)
Optional Hooks
- StructureAPI-WorldGuard - WorldGuard support (requires worldguard 6.1)
- StructureAPI-HolographicDisplays - Hologram support (requires HolographicDisplays 2.1.x)
- StructureAPI-Towny - Support for Towny (since SettlerCraft-2.1.0) and ofcourse requires Towny. Mayors are able to place structures in the wildernis and players won't be able to place structures on or across plots they don't own.
- Vault 1.5.x
Optional Client Plugins (LiteLoader)
Developers
Project is under heavy development. Current implementation is very subject to change, extending this project will most likely break your code. A proper API and documentation is planned after this project has moved to Spigot.
https:github.com/chingo247/StructureAPI
Proper documentation is still in progress... Sorry! Also the API is still very subject to change.
Upcoming Features
- WorldGuard Default flags for structures
- Manual construction - Feed blocks to structures and make them grow
Found a bug ?
Report it here! and I'll try to fix it as soon as possible!
Ideas?
Ideas? Feel free to post below or PM me if u want!
@chingo247
Sure did if possible :) be cool to have it so it can't smash through the main town areas in the server and we can limit to town plots
I just noticed an error in the description of permissions on this page. The permissions all start with "settlercraft." not "settler.", fixed it.
@chingo247
That is correct. Thanks!
@Hmmcrunchy
You also wanted me to add some towny support right? ^^
@Liger_XT5 You're talking about this right?
I will see what I can do to offer support for Towny too. I first want to focus on the structure placing part. I wanted to add and implement a town plugin myself, but I can't deny the fact that Towny is a very popular plugin.
I will dive into their code and see what I can do. I will have a lot of time on my hands in a few weeks and will definitely come up with a solution by then.
I see this is mostly for Worldguard, I don't suppose there is anything for protections in a TownyAdvanced Plot?
@Hmmcrunchy
Thanks, if you stumble upon any error/bugs please notify me, i'll fix them ASAP ;) Also I will be updating more frequently ^^
@chingo247
Cool will update my server and check this out :)
Sorry guys, I mixed up the latest release if the StructureAPI (with the fixes... -.-") I had to reupload
Released!
[ UPDATE ]
Almost finished preparations for 2.x.x, I'll continue tomorrow
[ UPDATE ]
I've finished testing, I'll start with release tomorrow. It could take up to 2 evenings before I get it ready. I need to make a video tutorial to explain the features. Also the whole project page on bukkit needs to be updated...
Here's a little preview of my efforts on improving placement of large schematics: Placing extremely large schematics
Loadtime from 20 seconds to +- 1 second (SettlerCraft-1.x would crash)
[ UPDATE ] Entering last phase of polishing for version 2.0.0, there are a few bugs left which are unacceptable and a few optimizations that need to be done.
@steam323
No problem, if you are having trouble to get a workaround (for the redstone), you know where to find me ;)
@chingo247
its fine. and no its when I used the commands directly involved in world edit like "paste" for an example. I'm asking you to fix it cause it might not be something you can fix. So I will try find a way. Thank you for being patient with me.
Cheers.//
@steam323
I haven't experienced any glitches yet when canceling a paste and I am pasting very large schematics, but then again I am using the AsyncWorldEdit's classes directly.
Also I haven't experienced any problems with redstone (yet), but if you could supply me the schematic that is causing problems, I might be able to work something out ;)
@chingo247
Well pasting larger builds with async is difficult cause you sometimes canceling the paste(meaning in the wrong place) sometimes glitches. it also messes up redstone lamps. for what I was going to be using it for user a lot of redstone lamps and they don't always turn on after paste. Actually most of the time they don't work at all. But if you can't(as it seems it would be to much of a hassle) I'll try some sort of workaround if I find one.
@steam323
I don't think dropping AsyncWorldEdit is a good idea. Although I don't really know what you mean by interferring with WorldEdit to make my builds. At the moment development has been slow, because I was away half a year. Also I had to respond to the bukkit DMCA takedown. So I completely rewrote SettlerCraft to make it less platform dependent.
When my next version (which I hope to release soon) is stable enough to release. I will try setup a build server.
Hey I know I have been quiet on this project for a while but one thing that I think would be a good idea would to drop some dependencies like async world edit. I feel this should be done because it inter fears with using world edit to make your builds. I know a build server could be made for this. Maybe in the xml or how ever you could do it is to add how how many blocks per second are placed to avoid lag instead of async world edit. I'm saying this should be done in the future when it is easier or maybe even sooner so not as much needs to be changed code wise.
Anyways thank you for listening I'll be awaiting your response chingo.
@Airos18
I will make a video soon. I hope to offer a video next week. But for now I'm really busy with finishing upcoming release ".