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!
@wiedzmin137 It's WorldEdit, WorldEditCUI is a client-side user interface and requires the user install liteloader: http://www.minecraftforum.net/topic/2171206-172-worldeditcui/
I didnt really had to add code or something to do that, everytime you select something with worldedit it will check if you have WorldEditCUI if so it will update your CUI ^^
Anyway i'm currently adding AsyncWorldEdit as u suggested and it's awesome, badly documented but still awesome for performance ^^
Which mod or plugin you are using in second YT film for this building selecting?
@chingo247
Looks amazing! Can't wait. For your first plugin this is very impressive
I will release it soon, including source ;)
First i need to look into WorldGuard. Afther that I need to add some permissions, commands, setup the config and improve the API
Is there a GitHub or something available for this? I'd love to use this on my server.
@chingo247
Look also at AsyncWorldEdit
@wiedzmin137
"If by deleting you mean flatten it and remove from the database, then yes" I mean restore terrain for what it was before structure adding.
From what I heard WorldEdit is able to save/restore chunks and I will definitely take a look at it ^^
Also Thank you for your interest! :)
@chingo247
"I've introduced a base value which can be altered in the config. I was thinking about hooking into the SkillAPI and reward a player with experience (building skill), this can serve as a multiplier for the base value. With the rewarding system there is more reason to build a structure yourself and it should be more enjoyable."
I can also add support for Heroes.
"If i could i would highlight add an highlighted area... but that isn't supported by bukkit/minecraft so i gonna look wat Spout can offer me. "
Maybe that will be solution. (if it's have API)
"It will crush anything in it's path... Thats why i thought about having so called "construction sites" where players can build if they have the permission."
It will be good if you add API for that. Then developers can add support for their plugins like Towny.
"If by deleting you mean flatten it and remove from the database, then yes"
I mean restore terrain for what it was before structure adding.
Thanks for (very) long response. Waiting for beta release!
@wiedzmin137
It runs pretty smooth at the moment, even when constructing a 30k block building. However i haven't tried it multiplayer yet. Which is why it will go beta soon.
Yes, the structures i constructed in the video were set to build it layer by layer at an given interval of 2 seconds by an scheduled task.
Well if i understand the question correctly, i tried to do the chest approach. Having a lot of players using the same chest comes with lots of problems... like players submitting the same stack.
At the moment the amount of materials/blocks a player can submit at once is derived from the lowest value of the following four:
I've introduced a base value which can be altered in the config. I was thinking about hooking into the SkillAPI and reward a player with experience (building skill), this can serve as a multiplier for the base value. With the rewarding system there is more reason to build a structure yourself and it should be more enjoyable.
If i could i would highlight add an highlighted area... but that isn't supported by bukkit/minecraft so i gonna look wat Spout can offer me.
He will be able to cancel / refund it, however im not sure how to refund buildings that are over like 30k blocks...
It will crush anything in it's path... Thats why i thought about having so called "construction sites" where players can build if they have the permission.
If by deleting you mean flatten it and remove from the database, then yes
The "construction site" feature would enable players to build within a certain dimension (Cube), this way i am not bound by chunks or schematics, but both can be easily with this approach. Collision detection of Dimensions is already done with structures. It only requires two locations to get the dimension, so i use the min and max location of a structure. The same can be done for chunks.
When the feedback is final, i will look into good approaches to achieve this, but i'm certainly programming with that in the back of my mind.
Wow, I really want to see that done! I will try to compatible that with Towny.
I hope that this plugin will be hard API based.