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 Jul 30, 2013Hehe, I attempted to paste the build i told you about, after around 15 mins of waiting for a preview to load, I right clicked to set the build and waited, took an hour on my server to deload (it deloads the preview before building it) and after all that waiting, it turned out it just canceled itself, and didnt set. It was a sad moment.
I just used World Edit, wasn't as bad a wait as expected. (crashed for a few secs and then it went right back up)
-
View User Profile
-
Send Message
Posted Jul 30, 2013@metalhedd
It's Done now afther 48h :P
A Normal Schematic is 5 KiB large (House) mine was 135Kib (PvP Arena) :P
-
View User Profile
-
Send Message
Posted Jul 29, 2013@metalhedd
Oh, thought I had the latest build, I'll try when I next get on my pc
-
View User Profile
-
Send Message
Posted Jul 29, 2013@metalhedd
Thanks for the reply, I asked cause I'll be pasting a fairly large build and BIAB is less taxing on the server. The build is roughly 100*150*150, any idea how long should that take?
BTW i did some testing and figured out a fairly easy way of doing it, thanks to you though.
-
View User Profile
-
Send Message
Posted Jul 29, 2013@Gadund
I would love to see this schematic. :)
I've seen some fairly large builds and they don't take nearly a day.
-
View User Profile
-
Send Message
Posted Jul 29, 2013@GerbilGuy
You'll need to use the latest development build for 1.6.2 support. BuildInABox v0.2.0 doesn't work on that version of craftbukkit.
-
View User Profile
-
Send Message
Posted Jul 29, 2013I get this error when selecting the ender chest after selecting the house:
19:36:26 [SEVERE] Could not pass event PlayerInteractEvent to BuildInABox v0.2.0
org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:427) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:462) at org.bukkit.craftbukkit.v1_6_R2.event.CraftEventFactory.callPlayerInte ractEvent(CraftEventFactory.java:192) at net.minecraft.server.v1_6_R2.PlayerInteractManager.dig(PlayerInteract Manager.java:108) at net.minecraft.server.v1_6_R2.PlayerConnection.a(PlayerConnection.java :538) at net.minecraft.server.v1_6_R2.Packet14BlockDig.handle(SourceFile:46) at net.minecraft.server.v1_6_R2.NetworkManager.b(NetworkManager.java:296 ) at net.minecraft.server.v1_6_R2.PlayerConnection.e(PlayerConnection.java :116) at net.minecraft.server.v1_6_R2.ServerConnection.b(SourceFile:37) at net.minecraft.server.v1_6_R2.DedicatedServerConnection.b(SourceFile:3 0) at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:5 90) at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:2 26) at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:4 86) at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java :419) at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:5 82) Caused by: java.lang.NoClassDefFoundError: net/minecraft/server/v1_5_R3/NBTBase at com.norcode.bukkit.schematica.Session.copy(Session.java:69) at com.norcode.bukkit.buildinabox.BuildingPlan.fromClipboard(BuildingPla n.java:117) at com.norcode.bukkit.buildinabox.listeners.PlayerListener.onPlayerSelec tion(PlayerListener.java:74) at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:425) ... 16 more Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_5_R3.NBTBas e at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader .java:70) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:53) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 23 more
-
View User Profile
-
Send Message
Posted Jul 29, 2013@metalhedd
mmm really ??
I copied a large Building and rebuild it with your Plugin it takes more than a day :P Config ist set to max blockchanges 1500 per tick.....
Yes i know i can Copy it with WorldEdit but the Server will crash and the Users want still Playing and with your Plugin it's well.
-
View User Profile
-
Send Message
Posted Jul 29, 2013@Gadund
It already ignores air at or above ground-level. it only copies it below-ground to allow for below-ground rooms to not require digging-out.
as for the repair, that's something that has been on my wish-list for a little while too, I'm going to try and find time for that in the near future.
-
View User Profile
-
Send Message
Posted Jul 29, 2013@calushonator
Yes, but not a friendly way... it ONLY works if the schematic has the offset set to the location of an enderchest, so you would have to be standing with your feet inside the enderchest when you saved the schematic (or edit the schematic file afterwards with your favourite NBT Editor to adjust the offset).
Once you've got a schematic with a correct offset, save it in
plugins/BuildInABox/schematics/and edit your plans.yml to add a section for the new schematic, it only needs thenameandfilenamefields.eg:
-
View User Profile
-
Send Message
Posted Jul 29, 2013Hey metalhedd
Nice Plugin you made :)
I have two Questions.
Can you add a function to Copying Buildings without Air Blocks ? (More Performance) And a function to Repair the Buildings with a Command. (Not Rebuild hole thing) Used for PvP Arenas :)
Thanks for your answer Gadund
-
View User Profile
-
Send Message
Posted Jul 28, 2013@metalhedd
One last question, is there any way to make a BIAB schematic without selecting it with the wand?
Fer example, i have the World Edit schematic, is there any way of skipping the step of making the BIAB schematic?
-
View User Profile
-
Send Message
Posted Jul 27, 2013@calushonator
Glad you got it sorted out. you don't use the pom file, that's just part of the build process, i'm not entirely sure why Jenkins lists it there all the time.
-
View User Profile
-
Send Message
Posted Jul 27, 2013@metalhedd
Ah okay, and the problem with the dev build might be, perhaps i'm not entirely sure how to install it? I pasted and replaced the .jar file, but what do i do with the .pom file?
Update-
I attempted the snapshot again, what was happening before is the golden hoe was not working as the selection tool, and the commands weren't working either.
I tried it again (just by downloading the .jar, deleting the old one and pasting in the new one), completely restarted the server and now it seems to work.
Thanks for the great plugin btw, its some awesome work!
-
View User Profile
-
Send Message
Posted Jul 27, 2013@calushonator
There's nothing i can do to fix that, you're running an incompatible version.
If you're having problems with the dev builds which are made for 1.6.2 then paste the error that its giving you.
-
View User Profile
-
Send Message
Posted Jul 26, 2013@metalhedd
Here, im getting the same problem.
Code:
now, I am using the 1.5 version on a 1.6.2 server, i couldn't get the dev builds to work for some reason.
-
View User Profile
-
Send Message
Posted Jul 22, 2013Can I have 1.5.1version? It seem very cool...
-
View User Profile
-
Send Message
Posted Jul 15, 2013Can you make a command that will let us add people to the builds .. for example I have one I call a shed .. it has a lot of chests in it .. and I would like to add a couple people to be able to access it.
-
View User Profile
-
Send Message
Posted Jul 13, 2013@metalhedd
the only real issue I have with it is that it places the locks on the chests .. but when you take the build down it does not remove the lock. .. this means that if somebody else tries to build in the place where one of the locked chests where what they places gets locked by the person that placed the biab
-
View User Profile
-
Send Message
Posted Jul 13, 2013Hey, your latest versions of this plugin copy the Air Blocks also.
I don't build "Square" buildings for my server. So when I select the area it must be a square, meaning that it will capture a lot of air blocks. When it Automatically builds it places the Air Blocks Thus removed part of the ground. Can you create an option to allow or deny the ability to copy Air Blocks?