Build-in-a-Box
Build-in-a-Box
THE CURRENT RELEASE IS BROKEN. USE THE DEVELOPMENT BUILDS
This plugin is being abandoned in favor of a 'lite' version which will not support storing container contents, Locking/Unlocking or block break protection. It was written as a proof of concept, and has served it's purpose, however, due to limitations of the bukkit api, it does not scale over long-term extensive use on a single server, it will accumulate stale data over time. There is no solution except to not store this data. Please do not post or message me asking for support. If you need a working version, download the latest development build. If you're considering using this plugin for a new server, please don't, unless you intend to keep it updated yourself (source code is on github)
Build-in-a-box adds special EnderChests which, when placed, will allow players to instantly and automatically construct a building. buildings can be locked, unlocked, picked up and placed again. In it's default configuration, Build-in-a-Box works almost exactly like the buildings from The Shotbow Network's Wasted, but it doesn't stop there. Almost every aspect of the plugin can be configured, you can easily disable the locking, unlocking and pickup features to provide simple pre-fab buildings for donator perks, or whatever you'd like to do with them.
Features
- [0.2.0] No longer uses WorldEdit for region selection, use a gold hoe instead (configurable)
- Fireworks!
- per-building-plan permissions for give, place, pickup, lock and unlock.
- Anti-cheat and NCP Support
- Automatic update notifications
- Configurable build speed and animations.
- Compatibility with logging/rollback plugins.
- Compatibility with land-protection plugins (WorldGuard, GriefPrevention, Towny, Factions etc)
- Buildings can be given in kits, sold in shops, etc.
- Economy support, add costs for build, pickup, lock and unlock actions.
- Fully translatable.
- Optional potion effect while carrying a building
- Container contents persist when carrying a building
- Building plans support individual lore descriptions
- Optional block-protection for all buildings.
- Configurable lock/unlock times
Commands
- /biab give [player] <buildingPlan> - give a player a Build-in-a-Box of the specified building.
- /biab save <buildingPlan> - save the current WorldEdit clipboard as a new building plan.
- /biab list [<page>] - list available building plans.
- /biab delete <buildingPlan> - Delete a building schematic.
- /biab setdescription <buildingPlan> <description line 1> | <description line 2> ...
- /biab setdisplayname <buildingPlan> <Display Name>
- /biab permanent - enter the command then punch an enderchest to convert the building to a permanent stucture.
Permissions
These have been overhauled in 0.1.6. you may need to make changes to your permissions.
biab.save- allows a player to save building plans.biab.delete- allows a player to delete a building plan.biab.admin- combination of biab.give and biab.savebiab.permanent- allows a player to use /biab permanentbiab.unlock.others- allows a player to unlock another players BIAB Chest.
biab.give.*- allows a player to give out any BIAB chest.biab.place.*- allows a player to place any BIAB chest.biab.pickup.*- allows a player to pick up any BIAB chest.biab.lock.*- allows a player to lock any BIAB chest.biab.unlock.*- allows a player to unlock any BIAB chest that is locked by them.
The .* permissions above apply to all available 'Building Plans', in addition to these, you may use the individual permission nodes for each building plan.
Tutorial
Defining new Buildings
BIAB doesn't come with any buildings, you'll have to create some.
- Build something... a house or tower, complete with the enderchest somewhere outside
- Use the worldedit wand (Wooden axe by default) to mark the corners of the area.
- use "/biab save mynewbuild" to save it.
The new building is now available to give to players using "/biab give <player> mynewbuild"
Configuration
BIAB can be configured to suit many situations. a fully documented config.yml can be found here
Translating
to translate BIAB into your own language:
- copy the default
english.ymlfromplugins/BuildInABox/lang/to a new name. (eg.esperanto.yml) - translate the strings in the file.
- set the
languageconfig variable to your language name (eg.language: esperanto) - restart the server.
note: a (possibly outdated) version of the default english.yml is available here
TODO
- save mode which takes the current building and enderchest with it.
- Allow schematics to use a 'padding block' (sponge?) to define blocks that should be left out underground.
- add an option to make locking actually lock the doors and containers to the buildings owner.
Source Code & Development Builds
Source code is available on Github
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
BuildInABox Development Builds
Other Plugins
- Scribe - Transfer enchantments from items to books using an anvil
- JukeLoop - Makes jukesboxes loop, rotate through nearby chests, activated by redstone and much more,
- EnhancedFishing - Adds tons of fishing enhancements including complete control over the bite chance.
- PotatoBombs - Allows players to craft poisonous potatoes into devastating and hillarious magical landmines.
- Saddlebags - Adds an inventory to saddled pigs.
- SalvageSmelter - Allows furnaces to smelt down tools and armor.
- Compressors - Turn hoppers into 'block compressors'.
- Autocrafter - Turn droppers into redstone-powered crafting tables.
-
View User Profile
-
Send Message
Posted Oct 16, 2013I have no idea what I'm doing wrong, but when I use the golden hoe to select my region then do /biab save [BuildName], it tells me to use the selection tool to choose and enderchest to save it in, but if I right click on an enderchest, it simply creates a new point, or if I left click, it breaks the enderchest? :S
-
View User Profile
-
Send Message
Posted Oct 10, 2013I've been wondering if anyone was going to do this...and you did. Bravo to you, Mr. Metal. Awesome job.
-
View User Profile
-
Send Message
Posted Oct 6, 2013@PumasCast
The latest development builds are updated for 1.6.4. It's not abandoned, it's just not ready for a new release, and I haven't had much time to put into it recently. (it's quite large and requires a lot of testing)
-
View User Profile
-
Send Message
Posted Oct 6, 2013Is this plugin still updated and alive, or is it slowly being abandoned?
-
View User Profile
-
Send Message
Posted Oct 4, 2013Great plugin :D Is It possible to make the builds disappear after x time (in sc) ?
-
View User Profile
-
Send Message
Posted Sep 29, 2013Can we get an update? The plugin isn't working with the newest CraftBukkit
-
View User Profile
-
Send Message
Posted Sep 18, 2013Dat house building is gorgeous. Good job on this plugin ^_^
-
View User Profile
-
Send Message
Posted Sep 16, 2013Source) 16.09 23:04:13 [Server] INFO at com.norcode.bukkit.buildinabox.listeners.PlayerListener.onPlayerSelection(PlayerListener.java:74) 16.09 23:04:13 [Server] INFO at com.norcode.bukkit.buildinabox.BuildingPlan.fromClipboard(BuildingPlan.java:117) 16.09 23:04:13 [Server] INFO at com.norcode.bukkit.schematica.Session.copy(Session.java:69) 16.09 23:04:13 [Server] INFO Caused by: java.lang.NoClassDefFoundError: net/minecraft/server/v1_5_R3/NBTBase 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582) 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419) 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486) 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:226) 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:590) 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.DedicatedServerConnection.b(SourceFile:30) 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.ServerConnection.b(SourceFile:37) 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.PlayerConnection.e(PlayerConnection.java:116) 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.NetworkManager.b(NetworkManager.java:296) 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.Packet14BlockDig.handle(SourceFile:46) 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.PlayerConnection.a(PlayerConnection.java:538) 16.09 23:04:13 [Server] INFO at net.minecraft.server.v1_6_R2.PlayerInteractManager.dig(PlayerInteractManager.java:108) 16.09 23:04:13 [Server] INFO at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:190) 16.09 23:04:13 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) 16.09 23:04:13 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) 16.09 23:04:13 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 16.09 23:04:13 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) 16.09 23:04:13 [Server] INFO org.bukkit.event.EventException 16.09 23:04:13 [Server] SEVERE Could not pass event PlayerInteractEvent to BuildInABox v0.2.0 16.09 23:03:56 [Server] INFO Saving user data... 16.09 23:03:56 [Server] INFO Warning Items On Ground will be removed in one minute! 16.09 23:03:47 [Server] INFO Administrators: Admins cheifsmackahoe , Master Jedi Windfist421 , Owner John 16.09 23:03:10 [Server] INFO Administrators: Admins cheifsmackahoe , Master Jedi Windfist421 , Owner John 16.09 23:03:06 [Server] INFO §elittleice left the game. 16.09 23:03:06 [Server] INFO Connection reset 16.09 23:03:06 [Disconnect] User littleice has disconnected, reason: disconnect.quitting 16.09 23:02:33 [Server] INFO Regulars: Admins littleice 16.09 23:02:33 [Server] INFO Administrators: Admins cheifsmackahoe , Master Jedi Windfist421 , Owner John 16.09 23:02:33 [Multicraft] Skipped 4 lines due to rate limit (30/s) 16.09 23:02:26 [Server] INFO at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:70) 16.09 23:02:26 [Server] INFO Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_5_R3.NBTBase 16.09 23:02:26 [Server] INFO ... 16 more 16.09 23:02:26 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) 16.09 23:02:26 [Server] INFO at java.lang.reflect.Method.invoke(Unknown Source) 16.09 23:02:26 [Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 16.09 23:02:26 [Server] INFO at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source) 16.09 23:02:26 [Server] INFO at com.norcode.bukkit.buildinabox.listeners.PlayerListener.onPlayerSelection(PlayerListener.java:74) 16.09 23:02:26 [Server] INFO at com.norcode.bukkit.buildinabox.BuildingPlan.fromClipboard(BuildingPlan.java:117) 16.09 23:02:26 [Server] INFO at com.norcode.bukkit.schematica.Session.copy(Session.java:69) 16.09 23:02:26 [Server] INFO Caused by: java.lang.NoClassDefFoundError: net/minecraft/server/v1_5_R3/NBTBase 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582) 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419) 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486) 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:226) 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:590) 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.DedicatedServerConnection.b(SourceFile:30) 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.ServerConnection.b(SourceFile:37) 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.PlayerConnection.e(PlayerConnection.java:116) 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.NetworkManager.b(NetworkManager.java:296) 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.Packet15Place.handle(SourceFile:58) 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.PlayerConnection.a(PlayerConnection.java:628) 16.09 23:02:26 [Server] INFO at net.minecraft.server.v1_6_R2.PlayerInteractManager.interact(PlayerInteractManager.java:373) 16.09 23:02:26 [Server] INFO at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:190) 16.09 23:02:26 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) 16.09 23:02:26 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) 16.09 23:02:26 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 16.09 23:02:26 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427) 16.09 23:02:26 [Server] INFO org.bukkit.event.EventException 16.09 23:02:26 [Server] SEVERE Could not pass event PlayerInteractEvent to BuildInABox v0.2.0 16.09 23:02:16 [Server] INFO Saving user data... 16.09 23:01:57 [Server] INFO Regulars: Admins littleice 16.09 23:01:57 [Server] INFO Administrators: Admins cheifsmackahoe , Master Jedi Windfist421 , Owner John 16.09 23:01:20 [Server] INFO Regulars: Admins littleice 16.09 23:01:20 [Server] INFO Administrators: Admins cheifsmackahoe , Master Jedi Windfist421 , Owner John 16.09 23:00:43 [Server] INFO Regulars: Admins littleice 16.09 23:00:43 [Server] INFO Administrators: Admins cheifsmackahoe , Master Jedi Windfist421 , Owner John 16.09 23:00:36 [Server] INFO Saving user data... 16.09 23:00:06 [Server] INFO Regulars: Admins littleice 16.09 23:00:06 [Server] INFO Administrators: Admins cheifsmackahoe , Master Jedi Windfist421 , Owner John 16.09 22:59:29 [Server] INFO Regulars: Admins littleice 16.09 22:59:29 [Server] INFO Administrators: Admins cheifsmackahoe , Master Jedi Windfist421 , Owner John 16.09 22:59:29 [Multicraft] Skipped 4 lines due to rate limit (30/s) 16.09 22:59:06 [Server] INFO at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:70) 16.09 22:59:06 [Server] INFO Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_5_R3.NBTBase 16.09 22:59:06 [Server] INFO ... 16 more 16.09 22:59:06 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425) 16.09 22:59:06 [Server] INFO at java.lang.reflect.Method.invoke(Unknown Source) 16.09 22:59:06 [Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 16.09 22:59:06 [Server] INFO at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source) 16.09 22:59:06 [Server] INFO at com.norcode.bukkit.buildinabox.listeners.PlayerListener.onPlayerSelection(PlayerListener.java:74) 16.09 22:59:06 [Server] INFO at com.norcode.bukkit.buildinabox.BuildingPlan.fromClipboard(BuildingPlan.java:117) 16.09 22:59:06 [Server] INFO at com.norcode.bukkit.schematica.Session.copy(Session.java:69) 16.09 22:59:06 [Server] INFO Caused by: java.lang.NoClassDefFoundError: net/minecraft/server/v1_5_R3/NBTBase 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582) 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419) 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486) 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:226) 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:590) 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.DedicatedServerConnection.b(SourceFile:30) 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.ServerConnection.b(SourceFile:37) 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.PlayerConnection.e(PlayerConnection.java:116) 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.NetworkManager.b(NetworkManager.java:296) 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.Packet14BlockDig.handle(SourceFile:46) 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.PlayerConnection.a(PlayerConnection.java:538) 16.09 22:59:06 [Server] INFO at net.minecraft.server.v1_6_R2.PlayerInteractManager.dig(PlayerInteractManager.java:108) 16.09 22:59:06 [Server] INFO at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:190) 16.09 22:59:06 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) 16.09 22:59:06 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) 16.09 22:59:06 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
-
View User Profile
-
Send Message
Posted Sep 16, 2013Wow!
-
View User Profile
-
Send Message
Posted Sep 14, 2013@KingLucifer
Thanks for reply, however, to protect the house, you have to do....
1. get a golden hoe 2. left click the bulding to get 1 point. (Like World edit) 3. Rightclick the other part of theh bulding (Like world edit) 4. type /biab [id] to makeone 5. then rightclick the enderchest...
Im so confused..
-
View User Profile
-
Send Message
Posted Sep 14, 2013Hey I think i found the problem in the BIABCommandExecutor.java file so yeah
/ / ChestData data = plugin.getDataStore().createChest(plan.getName());
i don't think that this was supposed to be ignored so just delete the slashes and i think the problem should be fixed guys :) i don't know, I MAY be wrong here as I am still trying to figure out java coding myself lol so yeah but if anyone wants to try this you can but um yeah. Again im not sure if that was the problem or not so yeah i dont know, but hey just thought I would let you all know :)
-
View User Profile
-
Send Message
Posted Sep 13, 2013@Mr_x_socks
The development builds should still work. If you want the bug fixed, the project is open source on github, feel free to fix it and submit a pull request. I don't have the time to put into a new release right now, its a fairly large project and needs a lot of testing. I will try to find time in the near future, and I'll definitely look at any pull requests anyone submits for bug fixes.
-
View User Profile
-
Send Message
Posted Sep 13, 2013i really want the bug fixed :c i cant save my buildings
-
View User Profile
-
Send Message
Posted Sep 12, 2013It doesn't work with the recommended and the latest build of craftbukkit and spigot. How did you guys make the plugin work ?
-
View User Profile
-
Send Message
Posted Sep 11, 2013to save ur sulid type /biab save (name) then right click the enderChest with a gold hoe also the enderchest ur saveing into MUST be a part of the saved area i recamend sticking the chest next ti the frount door for a home/buliding :P
-
View User Profile
-
Send Message
Posted Sep 11, 2013I'm keep getting this message, every time I try to save the House [Build-in-a-Box] Now use the selection tool to choose an ender-chest to save it in.
I watched the video, and did it perfectly same..
Helpme!!
-
View User Profile
-
Send Message
Posted Sep 11, 2013@ThunderWaffeMC
Would it be possible to add the feature so buildings can't be placed on top of other blocks? So it doesn't override any other blocks that it comes along?
No, BIAB Won't replace other blocks *above* it's own ground level (which is defined by the location of the enderchest). if all of your buildings have the enderchest at the bottommost layer, they won't be able to replace any other blocks in the world.
Also. Another cool feature would be able to set regions where blocks from biab buildings can't go (or the other way around where you set regions where blocks can go).
BIAB fire BlockPlace events when it builds, so *any* land protection plugin that can prevent players from building, can prevent a BIAB from being built, that means worldguard and others like it should work out of the box.
-
View User Profile
-
Send Message
Posted Sep 11, 2013Would it be possible to add the feature so buildings can't be placed on top of other blocks? So it doesn't override any other blocks that it comes along?
For example:
There's a house created by hand and someone tries to override that house by placing a biab house on top of that house.
Also. Another cool feature would be able to set regions where blocks from biab buildings can't go (or the other way around where you set regions where blocks can go).
-
View User Profile
-
Send Message
Posted Sep 9, 2013biab is working for me fine but i did find a bug were a staff member from my server tryed to repack a box for a player and it didnt pack up instead it damaged a large area around the box removeing random blocks in a 30block radis around the box leaveing the protected blocks in tacked i had to repair the damaged area and world edit the protected blocks out just wanted to let u know so far i bin useing the plugin for about a month and this is the only error i found and it only happened 1ce
-
View User Profile
-
Send Message
Posted Sep 9, 2013@rover
Yes it's true, no worldedit required. The approval process isn't the hold-up here. I've just broken my promise. I didn't have time to get a release ready yet, there are some issues that need extensive testing that I haven't had time to get into. hopefully soon. using the development builds will help shake out any bugs and work towards a release though.