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!
Shops seem to have some issues in 1.4.6, testing with another player if I'm in creative mode it yells at me for not having money but gives me all of the books.
If I'm in survival mode it sells me 1 book but then the other books disappear completely.
@android01
This is a feature I am very eager to add to Shelf-It, but at this time and to the extent of my knowledge, it is not currently possible. The book opening and interface are handled completely on the client side and currently the server has no way of communicating this action to the client.
Thank you for letting me know your continued interest in this feature, and I am sorry I am currently unable to add it as such.
Please add this display shelf thas is on the "comming soon".
@CommodoreAlpha
Thank you for the feeback. Since it is a reoccurring request, I will likely add a feature to allow the server admin to decide what can or cannot be stored in a shelf. Of course, as you said, enchanted books will be storable.
While I currently know you prefer bookshelves holding ONLY books, perhaps you can make the ability for bookshelves to hold papery items (or even any item) a configurable option.
Also (you probably already knew this), enchanted books need to be storable in bookshelves.
@draccydragon
Strange. This should not be so, as Shelf-It explicitly asks java what the system defined file separator symbol is. If java does not give an except-able answer Shelf-It will shut down instead of assuming a default as well, so it cant be that. Thank you for bringing this to my attention, as obviously something is not right. May I ask what distribution of Linux you are using?
Heyo. It looks like your plugin is assuming Windows-style path symbols exclusively. Linux is rather good at not caring what a filepath looks like as long as it's exclusively declared (with quotation marks for example), but I am getting raw files named "ShelfIt\Data\ShelfDb1", since Linux and Mac and everything that is not DOS/Windows uses / for file paths.
So it's like... server/plugins/ShelfIt\Data\ShelfDb1
Just thought you should know.
@poiNt3D
Thank you for the feedback. I will consider this feature addition, but to be honest, I am currently a bit set in my ways in regards to bookshelves only holding books. This could change in the future though.
@bonchi
I am sorry that you are experiencing troubles with the plugin. If you don't mind, could I ask that you head over to this ticket and answer the questions I had asked the other person having this issue? Thank you in advance for your time and patience.
@Melekaiah
Thank you very much for the kind words, they help a lot. I hope you have a great holiday season as well.
I get an error.
2012-12-23 12:25:20 [INFO] [ShelfIt] Enabling ShelfIt v1.2.5
2012-12-23 12:25:20 [SEVERE] java.io.EOFException
2012-12-23 12:25:20 [SEVERE] at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
2012-12-23 12:25:20 [SEVERE] at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
2012-12-23 12:25:20 [SEVERE] at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
2012-12-23 12:25:20 [SEVERE] at java.io.ObjectInputStream.<init>(Unknown Source)
2012-12-23 12:25:20 [SEVERE] at me.AkiraAkiba.shelfit.ShelfIt.loadData(ShelfIt.java:262)
2012-12-23 12:25:20 [SEVERE] at me.AkiraAkiba.shelfit.ShelfIt.onEnable(ShelfIt.java:80)
2012-12-23 12:25:20 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
2012-12-23 12:25:20 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
2012-12-23 12:25:20 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
2012-12-23 12:25:20 [SEVERE] at org.bukkit.craftbukkit.v1_4_6.CraftServer.loadPlugin(CraftServer.java:278)
2012-12-23 12:25:20 [SEVERE] at org.bukkit.craftbukkit.v1_4_6.CraftServer.enablePlugins(CraftServer.java:260)
2012-12-23 12:25:20 [SEVERE] at net.minecraft.server.v1_4_6.MinecraftServer.j(MinecraftServer.java:321)
2012-12-23 12:25:20 [SEVERE] at net.minecraft.server.v1_4_6.MinecraftServer.e(MinecraftServer.java:300)
2012-12-23 12:25:20 [SEVERE] at net.minecraft.server.v1_4_6.MinecraftServer.a(MinecraftServer.java:259)
2012-12-23 12:25:20 [SEVERE] at net.minecraft.server.v1_4_6.DedicatedServer.init(DedicatedServer.java:149)
2012-12-23 12:25:20 [SEVERE] at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:399)
2012-12-23 12:25:20 [SEVERE] at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)
2012-12-23 12:25:20 [INFO] [ShelfIt] Disabling ShelfIt v1.2.5
every RB is fine by me akira and i thank you for continued support in that matter. especially during this busy christmas time im gonna say an extra big thankyou for taking the time to update.
Merry Christmas and thankyou for adding this very obvious addition to minecraft (ie should have been in by standard)
Could you add feature to store maps in bookshelves?
I've just uploaded Shelf-It version 1.2.5, which among other things adds compatibility with both the 1.4.5R1.0 recommended build as well as the new 1.4.6 beta build.
To @EpicTrance
Yes, due to the changes in how plugins are to be developed and deployed starting with this newest recommended build, Shelf-It does not currently run without errors on bukkit version 1.4.5R1.0.
I am currently looking into these changes and working to make Shelf-It compliant with them, and like I have said in a recent post on this page, I will build Shelf-It against the current recommended build. At this point Bukkit itself does not even support its 1.4.6 builds.
pls update to 1.4.6 instead
This is broken when run with the new 1.4.5 rb. any chance it will get fixed soonish?
check out the new CB changes with the dev build 1512 and over
@EpicTrance
I'm sorry, I don't quite understand what you mean, could you please explain?
dont forget the latest changes with the build 1512+
@Melekaiah
Thank you for your feedback.
An update is in the works, and should be ready fairly soon barring any unforeseen hiccups.
It is my development practice to build the plugin against the last fully stable bukkit (1.3.2R3.0 in this case), but I tend to do my testing against the latest playable beta if a full release is not available. (1.4.5R0.2 in this case.) So, for sure, the upcoming update will work fine on the latest beta, and to my knowledge Shelf-It v1.2.3 runs fine on the latest beta as well.
As for the implementation of the single book display bookshelves, like the free and shop shelves there will be a command to toggle a single bookshelf to the one book display type. I am also experimenting with a config value to set a default type for all shelves in a world, to spare the server admin from a multitude of type setting commands. For now though, this feature is limited to the new single display shelves, until I make sure it has good synergy with the other shelf types.
There is, however, already a config file option to set bookshelf size limits, but it is limited setting the number of rows in a shelf.
I will consider the item frame idea, but I will probably go with signs for this first iteration. With signs I will be able to display the author's name and book title, so finding the right shelf will be a bit easier. I will, of course, make sure that the signs don't interfere with shelf access before I release the update.