Shelf-It!
Shelf-It!
With Shelf-It you can store whatever you please in any bookshelf with a simple right click! Shelf inventories are saved, and can be set to just give copies of their contents like a "free" sign. Bookshelves can also be set up as Vault-based shops.
Features
- Bookshelves store only what you want! Shelf-It lets you decide what can and can't store in bookshelves.
- Chest-style inventories with configurable number of rows
- Switching to fewer rows later is no problem, as bookshelves automatically adjust size to accommodate their inventory!
- Individual bookshelves can have unique titles and number of rows!
- All contents are dropped when destroyed
- Shelves keep the correct contents, even when moved by pistons!
- Bookshelves' contents are saved to a .yml file for easy reading and modifying!
- Bookshelves can be set to give infinite copies of their contents or setup as a shop
- Configurable bookshelf inventory names that support color codes
- Multiple players can access the same shelf at the same time
- Limit players to accessing shelves from the side only [Configurable]
- Supports use of WorldGuard and Towny regions to limit shelf access [Configurable]
- LWC compatible
- Includes simple locking command for basic access protection
- Protection to prevent shelf destruction via fire and explosions [Configurable]
Usage
[Video tutorial courtesy of Wukkit]
To open a bookshelf right-click it with your bare fist or while holding a non-place-able block/item. Shelves can be used to store any item listed in the config file. All data is saved to BookshelfData.yml in Shelf-It's plugin folder.
Breaking a bookshelf yields its regular drops plus anything that was stored in it. Only players with the "shelfit.admin" permission can break "free" type shelves. Shop shelves may only be broken by their owner or by players with the "shelfit.admin" permission
Concerning Future Updates
Development for this plugin is currently inactive for the foreseeable future, though I would love to start again if I ever got the chance. If I become aware that this plugin no longer functions with current builds of bukkit and minecraft I will update this page to reflect that.
A sincere thank you to everyone who used and/or gave feedback for this plugin. It was a pleasure while it lasted.
If you enjoy this plugin and want to say thanks, some
caffeine
is always welcome :D
Check out my other plugins!
Feel free to leave comments and suggestions! PM me if you would like to submit a video tutorial!
@bluescorp97
Thank you, I really appreciate the feedback!
Works great!
@DemonPenguin
Thanks for the feedback, I'm glad you like it.
I added an item to the feature list to clarify that shelves only store books. Thanks for bringing that to my attention.
One feature that you forgot to mention was that Shelf-It doesn't allow players to put other types of items into the bookshelf. This is a great feature I was going to request, but when testing, I realized that it was already implemented! This plugin works wonderfully!
@Digitalink2008
Teaches me for thinking books were completely harmless :D
I've just submitted version 1.1.1 for approval. Among other improvements and bug fixes it includes the improved save handling I mentioned below as well and also prevents free bookshelves from giving old style books.
Admins and players with permission can still create free shelves with the old style books in them for the look of it, but it is no longer possible to get infinite bookshelf building materials.
@AkiraAkiba
:) Glad I brought it up. I know when i do development I get so excited about that "new idea" I've got that security kinda gets forgotten a bit.
@Desolin
Yes it is, though I am rewriting how it does as we speak. From next release on it will attempt to create the directory as soon as the plugin loads into bukkit, then immediately shut the plugin down and let you know about it if it could not create the data folder.
@AkiraAkiba
Yeah, is the jar file programmed to create the Data file/folder?
@Desolin
That's strange, I coded all the fail states in the saving process to generate an error. Either way, I hope to have a patched version out today with better save handling regardless.
And again, Thank you for your feedback.
@AkiraAkiba
Sorry I can't provide you any useful material this time, I don't see anything wrong with the log files. It says It loaded just fine. No error messages. Also, I only really lost one book and that was a Rulebook from the Rulebook plugin, which is easily replaceable.
@Desolin
Look in the server log file. If it couldn't create the data directory you should see a stack track error or the message "Saving failed! Aborting..."
Send me what you can find, if anything, so I can see what happened. Be sure to include what operating system you are using as well.
I'm sorry that this has been giving you trouble. I tested it very thoroughly and it never gave me any troubles. I apologize for any books lost and I will do what I can to improve how Shelf-It handles a failed save attempt.
Uh oh...Okay, so even though the plugin works, apparently it's not making that Data folder, so it saves book until the server closes. When the server closes down, all the books in the bookshelves are deleted.
@Digitalink2008
A feature coming in 1.2, actually. [Should be out next week if not sooner]
I apologize, as I designed the plugin purely from a utility standpoint, and didn't consider the cheating and spamming potential.
I will likely change free shelves to not allow players to take the old style books out of them.
In the mean time, this can be avoided by not giving survival players the permission required to create a free shelf, and by not placing old style books in the free shelves you create.
Thank you for your feedback and I hope this information helps.
[Edit] Forgot to mention that the update will also allow you to select whether you want players to be limited to one copy of each written book/book and quill a free shelf holds.
Question. What is to stop a player from creating thousands of books from the "free" type book shelf and flooding the server?
@itsMelon
Removing Shelf-It at any time should present no foreseeable issues. I wrote it so it doesn't actually alter the bookshelves themselves in any way, and all book data is stored externally in the [plugins]->[Shelf-It]->[Data] folder.
As long as you keep that folder intact you could restore the plugin and the bookshelves' contents at any time. I'm also looking into adding a new command in the next version that would allow you to consolidate all books being stored in bookshelves to make removing/ temporarily disabling the plugin easier and pain free.
@itsMelon
Did you remove it with books still inside the bookshelves?
This looks absolutely fantastic! Before I load it up onto my server, I'm curious to know something. I was toying around with a similar plugin (bookshelves functioning as chests) and when I removed it, things went wacko. So, without naming the other plugin, could you see this as a forseeable problem? (that was redundant). Also, I'm going to go test this out now...
Not that I've heard of. Post or pm me the stack trace error in its entirety so I can take a look at it. Also, what version of java are you running? Thank you for your time and patience.
I'm getting invalid plugin exceptions and unsupported class version errors when trying to install this plugin. Are there any plugins that have conflictions with this plugin?