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!
@DerVerdox123
You are missing the SettlerCraft-Core. It's available on github:
https://github.com/chingo247/SettlerCraft/releases
It's called SettlerCraft-Core-Bukkit-2.1.0.jar, it's a pretty big file (50 MB) because it also contains a distribution of the database I'm using.
@mbone1
I got an issue with the implementation of the undo function, which will cost time... time I currently not have. I can't give you a an estimation. It's not just the 'undo' feature. I also need to prepare a release... and there are more changes (codewise) which need to be tested.
Hey! I am getting this Error when starting my Craftbukkit Server! I have copied the whole log into my post :)
Please tell me what to do i really like this plugin and i want to have it haha :D
I got the Plugins:
Vault, ProtocolLib, AsyncWorldEditInjector, WorldEdit, WorldGuard, IConomy, PaymentDoors,AsyncWorldEdit,uSkyBlock
Sorry for the question but... When the function undo works?
Thanks for this plugin, I really need to use this on my servers but... I'm waiting for undo. Because they fail to put them. And it's a problem to have to give them another structure. Thanks for your time!
@nashoxx
It seems that you are missing the AsyncWorldEdit-Injector.jar. At least thats where the trail of missing plugins start.
You can download AsyncWorldEditInjector.jar here: https://github.com/SBPrime/AsyncWorldEdit/releases
I hope this fixes the issue as I won't be able to answer any messages till Saturday 2nd of January.
[15:51:36] [Server thread/ERROR]: Could not load 'plugins/AsyncWorldEdit.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: org/primesoft/asyncworldedit/injector/classfactory/IClassFactory at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) [server.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) [server.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [server.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [server.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [server.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [server.jar:git-Spigot-5f38d38-18fbb24] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66-internal] Caused by: java.lang.NoClassDefFoundError: org/primesoft/asyncworldedit/injector/classfactory/IClassFactory at java.lang.Class.forName0(Native Method) [?:1.8.0_66-internal] at java.lang.Class.forName(Class.java:348) [?:1.8.0_66-internal] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) [server.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) [server.jar:git-Spigot-5f38d38-18fbb24] ... 6 more Caused by: java.lang.ClassNotFoundException: org.primesoft.asyncworldedit.injector.classfactory.IClassFactory at java.net.URLClassLoader.findClass(URLClassLoader.java:381) [?:1.8.0_66-internal] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) [server.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) [server.jar:git-Spigot-5f38d38-18fbb24] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) [?:1.8.0_66-internal] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [?:1.8.0_66-internal] at java.lang.Class.forName0(Native Method) [?:1.8.0_66-internal] at java.lang.Class.forName(Class.java:348) [?:1.8.0_66-internal] at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) [server.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) [server.jar:git-Spigot-5f38d38-18fbb24] ... 6 more [15:51:37] [Server thread/ERROR]: Could not load 'plugins/SettlerCraft-StructureAPI-Bukkit-2.1.0.jar' in folder 'plugins' org.bukkit.plugin.UnknownDependencyException: AsyncWorldEdit at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:219) [server.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [server.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [server.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [server.jar:git-Spigot-5f38d38-18fbb24] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66-internal] [15:51:37] [Server thread/ERROR]: Could not load 'plugins/SettlerCraft-Core-Bukkit-2.1.0.jar' in folder 'plugins' org.bukkit.plugin.UnknownDependencyException: AsyncWorldEdit at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:219) [server.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [server.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [server.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [server.jar:git-Spigot-5f38d38-18fbb24] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66-internal] [15:51:37] [Server thread/ERROR]: Could not load 'plugins/SettlerCraft-MenuAPI-Bukkit-2.1.0.jar' in folder 'plugins' org.bukkit.plugin.UnknownDependencyException: SettlerCraft-Core at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:219) [server.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [server.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198) [server.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [server.jar:git-Spigot-5f38d38-18fbb24] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66-internal]
Doesn't work. I have all dependencies :/
@chingo247
Sounds good (and complex :o)
@Hmmcrunchy
At the moment I'm working on the rollback feature, which has cost me a terrible amount of time... I had it working with a database as block logger, but it used too many resources...
I'm currently experimenting with another method, which will definitely work (uses far less resources). There is still a lot of stuff to do, but once I have the rollback feature working, I could make a better guess at how long it will take to finish a next update. :)
@chingo247
Keep up the awesome work
I'm hoping to revamp my server soon using this as the main building shop :)
@mat41997
The menu.xml file that is provided in the SettlerCraft-StructureAPI-2.x.x.zip is not correctly extracted.
Download and place the zip in your plugins directory.
Extract the zip in the plugins directory of your server so that you have the following structure:
/plugins
/SettlerCraft-StructureAPI
menu.xml
config.yml
permissions.yml
error,
Update
The rollback feature I've been working on for the past months was not very reliable in the end. Now I started to work on an alternative, which logs all the blocks being placed...
Sorry for the long wait for another update... I'll try to do a release at the end of this month.
Update will include:
@ogr93
Sorry for replying so late, but what exactly do you mean with 'without manage permissions'?
i really like this plugin , but whitout manage permissions and undo option ,isnt posible to be on my server
Keep working because this has powerfull potential, and thanks for the plugin =)
Update
Currently working on the rollback feature, it's almost working. I'm currently debugging it. It might take untill the end of the month before I'm doing another release.
After the update, this project will slowly move to Spigot as it has a more active community. Which means I'm able to get more feedback and have a better chance at improving this project..
Anyway, I'll keep this page updated
@doitliketyler
I have some plans for adding permission-like behavior or to have certain players only have access to certain structure-plans. I'm still figuring out in what's the most convenient way to offer this feature to server-owners/admins.
I'm curious about the permissions. Do you have plans to add per schematic permissions (settlercraft.settler.place.smallhouse1) or permissions that unlock a group of schematics (settlercraft.settler.place.houses)?
Hope that makes sense.
NOTICE
I'm away till July 30, any messages, requests or bugs will have to wait till then..
@Concurred
Have you extracted the zip properly? The contents of the zip need to extracted so that the SettlerCraft-StructureAPI jar is in the plugins directory and the plugin directory of SettlerCraft-StructureAPI contains the menu.xml and the config.xml.
If the above doesn't help, i'll be writing an installation guide. I have very little time coming days (due to exams), but I might manage to write one Thursday.
That said I don't support 1.7.10 and will probably not support it either. The plugin is not developed enough to support multiple versions yet. The plugin might work with 1.7.10, but I can't make any guarantees.