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!
No :( nothing in chat
@Concurred
I don't officially support 1.7.10. However, if /stt menu fails, it means that the StructureAPI or any dependency of StructureAPI failed to load.
Are there any errors you get on startup?
Hey i have a problem if i do the command /stt menu The chat tells me "uknown Command"
i downloaded: Settlercraft-core settlercraft-menuAPI worldedit 6.1 Asyncworldedit Settlercraft-worldguard settlercraft-holographicDisplays Stttlercraft-towny Asyncworldeditinjector WorldeditCUI And of course StructureAPI2.1.0 I putted them all in my Plugin map and the whole zip of structureAPI2.1.0 to
But the chat tells me again: Unkown command! Please tell me what i did wrong!
I use bukkit 1.7.10 On mcprohosting
@alekso666
Just tested it on a spigot server (1.8) and got it running. Are there any errors you get on startup?
Are you sure you got all the following plugins installed:
Also the contents of the StructureAPI zip are needed and all contents of this zip should be in the plugin's directory.The directory 'SettlerCraft-StructureAPI' should contain at least the following two files:
Last questions:
I cant get it to instal, if it is like all the other plugins just put it in the plugin folder and restart or reload server, but nothing happens. Ihave Spigot 1.8 if that is the problem ? I realy like this plugin from what I see. Can you help or point me were I can get help pls.
And I put all Dependencies I even tested on other server also spigot but 1.8.3 it is the samething no instal there 2 :(
Tnx
Update
Next update will come a little later than planned. Got less time due to exams... will continue work on the 'backups' shortly after. Upcoming update will also make some changes to the way both the config and permissions are organised. There will be a much clearer separation between basic features and advanced features.
Update
Renamed plugin page from SettlerCraft to StructureAPI as it more reflects what this plugin is doing. The full name will still be SettlerCraft-StructureAPI as StructureAPI is part of SettlerCraft (which is a serie of plugins I'm developing).
Also support for 1.x.x has been dropped as the versions differ to much from 2.x.x. 1.x users will have to upgrade to 2.x.x
@chingo247
sounds good
i'm really tired atm i have some other stuff i wanna mention like worldguard implementation, and if server owners can configure which flags the zones always have, and maybe let players be able to change the worldguard region/zone flags/settings etc.
but, i don't know what to say really. tired, and still haven't even used this plugin yet soo, i don't feel confident enough to really know what else is important to mention,
but like i said, i think the next update will have what i desire
@ChillerKraft
I was thinking to you could use worldguard and add a flag to the global region to disallow block placing/destroying for a world. I could implement an option on my side like 'restrict-to-zones' which means players are only able to place within certain zones. This option will become configurable per world.
Now about the implementation of these zones.. Zones are basically structures: Zones can be demolished (reverted back to natural) and have players linked to these zones which are able to do stuff within it. These zones can create backups/snapshots before anything could by done within these zones.
All of the above are structure features, maybe not the standard ones, but still it got anything what you can do with a structure.
What we can do is allow only structures of type 'Construction Zone' to be placed/defined in the world. This means we are making a clear difference between structures that are of type 'Schematic' (and other coming types) and 'Construction Zone'.
So in short:
Optional:
@chingo247
sounds good :)
about the previous comment... i'm not sure what you think i'm talking about...
what i'm simply saying is, can i make it so my players can only build within there placed schematic regions? can they place structures/schematics in a world which they aren't able to build in?
so if i have world1, where players can't build anywhere,
can i let them place a schematic in that world still, and then be able to build within that structures/schematics region only?
@chingo247
no... that's not what i'm talking about at all.!
@ChillerKraft
Actually doesn't have as much dependencies as you think :P, it only uses WorldEdit and AsyncWorldEdit to place the schematics. The goal of StructureAPI was to define plans and build structures from them. Other features like worldguard support, towny support, holographicdisplays support are completely standalone plugins and also optional.
The SettlerCraft-Core might seem huge, but it has no features. It simply a distribution of Neo4j, which is the database I use.
The zip-file you can download from here, only contains things to get started, basicly all you need is the config.yml and the menu.xml and ofcourse the JAR.
The MenuAPI is basicly a library doesn't offer features at all. SettlerCraft-StructureAPI uses it to build and create the planmenu from the menu.xml which is delivered in the zip-file. This plugin may also become optional in the future, but for now the only way for players to use SettlerCraft-StructureAPI is through the planmenu.
During SettlerCraft-1.0 I noticed that it was too feature packed, that's when I decided. To split everything up and have server owners only download what they want. I learned that people like very specific features nothing MORE and nothing LESS. This means plugins I develop have to be very straightforward.
In short don't get scared, SettlerCraft-StructureAPI (may change this name in the future..) will always kept very basic. Aimed at placing structures, and how you can do that. If I were to support another plugin, it will most likely get implemented in a standalone plugin. Very advanced features will become optional.
@ChillerKraft
As of version 2.0.0 it is possible to build structures without schematics. I don't offer ways yet outside of the code, but here is what you might be interested in:
As I said as of 2.0.0 it is possible to build/place structures without schematics. This means structures don't necessarily have blocks. So it's also possible to just select an area and label it as structure. These structures may also be referred to as plots or structure-lots.
Within these plots/structure-lots it's possible to place structures. These structures can have structures themselves, and the structures within them too, etc. Neo4j offers ways to store and retrieve this efficiently (it's what it's build for). It;s also possible to place blocks and remove them as you like.
The stuff about only being able to perform additions to structures. I was thinking about trying to do that with setting some NBT data. I'm completely new to that, but it's a great way to experiment and check if it is possible.
I don't know if I have time to implement this for upcoming release. I don't really have time the coming 2-3 weeks, as I'm busy with school and also reworking the ways schematic/structures are build (also a necessary change for above described). After that I have plenty of time and will probably be able to implement what you want, or at least parts of it :)
@chingo247
can i have build deny globally and have them be able to place a schematic in global region and build within the area that the schematic is placed? so they'd only be able to build in that area, and then when they demolish or whatever, everything that was placed and changed can go away and the area can go back to perfectly natural as it was before the structure was placed.
it would also be cool if i could do it another way like you said where they can't change the original structure but be able to add more stuff to it, that could later be erased while keeping the whole structure. something like that would be interesting, but not exactly what i really want which was the first thing i said in this comment.
yea, undo and revert back to nature would be a great configurable option. as i mentioned in first part of this comment aswell.
the goal being to let people be able to have a quick start at there build areas almost anywhere in the world, whilst being able to get rid of everything like it all never happened, and whilst not being able to build anywhere else except inside that area that they placed the schematic in. i'd probably make my schematics a lot bigger then the structures so that they can also have there area around the structures for more opportunity for building, expansion, and fun.
i want some of my servers, for example, the hub, to have the ability for players to be able to have the builds etc, but having them controlled so they cant ruin the natural world, and we can always have the option to remove the regions players place so that everything can still look perfect
i love the natural look of minecraft worlds, and i like to choose specific interesting unique seeds that players can know and explore and love based on that particular seed name.
the world/seed of CHILLERKRAFT, all natural, yet you can go make your mark in it and not worry about making a mess to it since it's always revertable
i think i have a lot more implementations for this type of feature but, i think for some of those times i'd want the plugin to be lightweight and not have a lot of other stuff going on that wouldn't be needed,
i'm not sure how many features exactly this plugin has really, it seems super feature packed... seems like maybe it would be better to find another plugin more geared just towards only what i'm wanting,
sorry if i'm overwhelming you here, i haven't really tried this plugin yet, i was going to try it last night but i started getting really overwhelmed by other dependencies this plugin seems to need, and how advanced it is, so i'm not really sure what to do. bare in mind i was super tired when i was about to test this so,
its actually the reason i finally went to sleep last night lol, i was getting the server made and stuff and then when i opened the .zip i was like... ohhawhahh, lots of stuff here, and i looked on the overview to see if it would tell me what to do quickly but, then i realized, this plugin is biig and gonna take a lot more work to get started using then the amount of energy i had left in me, so once i got to the overview and saw all this stuff i needed to learn i was like ahh!!:| and reallly started to feel my drowsiness instantly and was like K bed time now!!! DX :P this is huuge
@ChillerKraft
At the moment protection is handled mainly by worldguard (if used). All structures have their own WorldGuard region (if protect structure was enabled in config). So player should already be able to modify their structures.
You say you want players to be able to 'place' blocks inside structures. Does this mean player would only be able to do additions to a structure (by placing blocks) and are able to remove these additions (which are not part of the original design). This way the structure would have a 'solid' like behavior.
The 'undo/revert back to natural' option was already planned and will probably come available next release. It will be used as the standard method to demolish a structure, but will also remain configurable. I try to do a release every 2-3 weeks sometimes sooner, depending on the impact.
@chingo247
id possibly be okay with letting them build within the area that the structure was placed
i just wonder if not letting them be able to build will stop them from placing the structures,
i'm going to test this plugin today and send some better comments/questions your way
it might also be nice if when the structure is destroyed, everything gets reverted back to natural?
@Hmmcrunchy According to this source it seems the file got corrupted. It could get resolved by downloading it again.
If the above doesnt resolve the problem, I may be able to look at it in the evening.
@chingo247
awesome ive got it up and running ill pm you a server ip so you check it out
oh I get a little error on startup but seems to work ok anyway
Warning : Unable to parse manifest details for './Minecraft/plugins\SettlerCraft -Core-Bukkit-2.1.0.jar'
@ChillerKraft I might be able to offer something like 'indestructible' structures where structures can only be removed/destroyed by executing the demolish command. However, I don't know if the rest you are planning is still within the scope of what this plugin should do.
i just started thinking, maybe this will be exactly what i've been looking for a while now.
i want a way to let players place prebuilt structures in worlds where they cant place or break blocks. just whole structures. idk how much more i want exactly yet but, the start is to be able to place these schematics etc where they can't actually place and break blocks.
is it possible? and can you give me a bit more info i might like to know aswell? thankyou