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 Jun 3, 2013@Jarrett78
They will have to make themselves compatible with build-in-a-box. I looked at their code, they are using an obfuscator to make it nearly unreadable. That's not very nice, so I'm not going to be nice to them. They can do it themselves, and read my source code to figure out how.
@RandomSomething98
I *think* that is the case with the current development builds. air blocks should be completely ignored. I will make sure of it during my final tests before releasing 0.2.0
-
View User Profile
-
Send Message
Posted Jun 3, 2013@SonarBeserk
You right click to build the house and it opens the enderchest instead of making the house.
-
View User Profile
-
Send Message
Posted Jun 3, 2013Can you make air blocks in the buildings ignore any pre-existing blocks? It's frustrating when a building can't be placed because of a sign, yet there's only air there.
-
View User Profile
-
Send Message
Posted Jun 3, 2013@Jarrett78
the BIAB enderchests do not have the normal enderchest functionality, so what support is needed?
-
View User Profile
-
Send Message
Posted Jun 3, 2013Could you add compatibility with EnderChestPlus? dev.bukkit.org/server-mods/enderchestplus
-
View User Profile
-
Send Message
Posted Jun 1, 2013@hatsunemukiu
Sorry, I'm definitely not going to be adding turrets, ever. Mostly because I don't think they fit with the theme of this plugin AT ALL. there's nothing violent about build-in-a-box, and nothing that should suggest it comes with high-tech weaponry.
Secondly, the combination of those 2 features, is a recipe for a Wasted clone, which was not the intention of this plugin, and which I personally don't approve of at all. I can't tell you what to do with your server, but please don't use Build-in-a-Box just to rip off Wasted.
-
View User Profile
-
Send Message
Posted Jun 1, 2013Hey, I have been in love with this plugin! but I was thinking, You need to add turrets! that would be epic for my pvp server!!!!!!
-
View User Profile
-
Send Message
Posted May 30, 2013@zedadiaswick
Thank you for all the feedback! I hadn't considered a speed slower than 1 block per-tick, it shouldn't even work, which makes me think there is probably an off-by-one error causing a setting of 1 to actually build 2 blocks per tick, and that's why you see it going slower with 0.1. (which it interprets as 0 (off by 1 = 1)) Anyway, I will add support for a slower building process. I've also added a 'max-blocks-per-tick' option to the next version, to aleviate lag when there are many concurrent builds going on.
- I will also look into making the previews optional, that should be pretty easy.
- the right-click bug has been fixed in 0.1.7-SNAPSHOT available on jenkins.
- I'll be adding some events in an upcoming release, I haven't started on it yet but there will likely be events for preview, build, pickup, lock, and unlock at the very least.
I am currently working on a fairly large overhaul of the plugin so some of these features will have to wait until then, I'm hoping to have some development builds available for it tonight or tomorrow.
-
View User Profile
-
Send Message
Posted May 30, 2013Really great plugin! I am looking to use this plugin as part of a team PvP server. A few things I've noticed in testing, and some requests:
- Ideally I would like it to build MUCH slower than it does at the moment. Placing that many blocks so quickly can seriously stress out some not so capable clients. Mainly, though, I would like it to be a slow progress a team would set going and need to defend from attackers. It seemed to accept and work with .1 and .01 but at some point, adding extra .0s did not slow it down further. Is there a limit to how slow it can go? Could it be made to go slower?
- Optional previews: I found the previews to also be taxing, and got in the way somewhat of just setting it building. In my use case, I don't necessarily need the preview. Could this be made optional? Even better if it were an option the players could toggle on and off for themselves, as generally it may not be necessary but it can be handy.
- Bug: right clicking the box to build in a preview does not cancel the preview properly. If the player waits for the instructional text to come up with the cancel/build options and then right clicks, the preview unbuilds itself and starts the building animation only to have it cut off prematurely as the natural preview timer ends and it ceases. Right clicking as soon as the preview starts building seems to get around this issue.
- API: Is there some kind of API available as a way to know when BIABs have been placed/built? Could extra information be included? (loading scripted denizens with the BIAB, for example. Or adding re-spawn locations to team owned buildings)
Only had a short play with it so far, but am really liking it. Looking forward to hopefully being able to implement it into play :) Thanks for making it!
-
View User Profile
-
Send Message
Posted May 30, 2013@metalhedd
In regards to your comments on #2: I like this idea better. I look forward to implementing this plugin on my server!
-
View User Profile
-
Send Message
Posted May 30, 2013@metalhedd
I recently withdrew v0.1.6 for a building-protection bug. 0.1.7 should be available shortly with the issue resolved.
-
View User Profile
-
Send Message
Posted May 30, 2013@RandomSomething98
when you say the lever doesn't work, does it not flip at all? or it does flip and doesn't produce a signal?
As for the error message, does it happen regularly? There's nothing in the part of the error message that I can see to indicate where it's coming from or even if BIAB is definitely the culprit. if you can reproduce the error and capture the full message it would be helpful in debugging. There is also a 0.1.7-SNAPSHOT available through the development builds link above which fixes several known issues with 0.1.6. I would recommend trying that out as well.
-
View User Profile
-
Send Message
Posted May 29, 2013When I use redstone contraptions, specifically levers with my buildings, the lever doesn't work. Is this an issue with the plugin? On a different note, I also got an error that has to do with ebeans. I was not using ebeans at any time. This was all I could get from the error.
at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:265) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:180) ... 14 more Caused by: java.io.IOException: Class not found at com.avaje.ebean.enhance.asm.ClassReader.readClass(ClassReader.java:382) at com.avaje.ebean.enhance.asm.ClassReader.<init>(ClassReader.java:359) at com.avaje.ebeaninternal.server.subclass.SubClassFactory.subclassBytes(SubClassFactory.java:115) at com.avaje.ebeaninternal.server.subclass.SubClassFactory.create(SubClassFactory.java:83) at com.avaje.ebeaninternal.server.subclass.SubClassManager.createClass(SubClassManager.java:113)
-
View User Profile
-
Send Message
Posted May 29, 2013@cadika_orade
Those are great suggestions.
-
View User Profile
-
Send Message
Posted May 29, 2013Love your work! I'm just trying to find a way to make this fit my survival/economy server. I have two suggestions.
1. Players can save house designs, but there is a Vault cost determined by the materials involved. Configuring this would be as simple as a YML file with a list of block IDs and values. Also, I haven't checked, but are chest contents saved? Could that be made optional?
2. Players can "craft" house kits by putting the required materials into a chest and using a command on the chest, destroying it and dropping the specified house kit. A command could be added that lists the required materials. Only materials with a defined Part 1 value greater than 0 would be counted. Insignificant blocks like dirt and flowers wouldn't add to the price or be needed in order to "craft" the kit.
If you can add these features, I'd love to add this to my server! Also, guessing from the below comments, this could be a good way to differentiate your plugin!
-
View User Profile
-
Send Message
Posted May 28, 2013This is cool! kind of like MineZ.
-
View User Profile
-
Send Message
Posted May 27, 2013Brilliant plugin! Im currently using it for Modern MineZ infectedRPG server minez.onetick.ca:27010. I have it set up so players can gather buildings and rebuild society from the zombie apocalypes. My server has guns, bombs, settlements (thanks), planes, cities with skyscrapers, towns, huge map! Tons of players love it. Would it be possible to add a way of crafting certain builds? Custom recipes for certain builds via a config for each? This would be very fun as players could scavenge the land and collect industrial parts and put together a building!
-
View User Profile
-
Send Message
Posted May 27, 2013@M3DDLER
Thanks for spotting that, I'll have to investigate it further before I release 0.1.6, I had thought I squashed all the rotation bugs. I'm trying to move all of that stuff out of WorldEdit so that I'm not dependent on them to fix the issues, but it seems like I screwed up something in the process.
EDIT: Got it! latest build should work
-
View User Profile
-
Send Message
Posted May 27, 2013Hiya metal,
I tried v0.1.6 and found that the beds and doors are popping off once the build is finished. I had not noticed it happening to anything else.
M3DS
-
View User Profile
-
Send Message
Posted May 26, 2013@metalhedd
Ahh, seems reasonable enough.