BookShelf

Logo

BookShelf

Current Version:
3.8 (Release)

What is it for?

This plugin allows players to store books, maps, and more into those once useless bookshelves - just like chests! It encourages players to write books and store them in shelves, and can build onto your economy with libraries and bookstores by using the built in Vault support. Unlimited bookshelves make rule walls a thing of the past; store rule books inside an unlimited shelf, and every player can have one! Book Shelves are opened like a chest, by right clicking on the shelf. This opens a chest-like inventory that only allows the storage of books, maps, records, and paper. The items are stored in an SQLite database, so no setup is required to use this plugin! MySQL support is optional. These are just a few of the many features of BookShelf.

What are the Features?

  • Store books, maps, records (music discs), and paper in bookshelves!
  • Right click on shelves to open a familiar chest-like inventory!
  • Configurable top/bottom access. Disable it, and hide the shelves in your floor!
  • Create unlimited shelves that give out infinite copies! - Great for rule books, libraries, newspapers, city maps, and more!
  • Create shop shelves that work with any Economy! (Using Vault)
  • Combine unlimited and shop shelves to create a shop that has unlimited copies! - Great for server stores!
  • Create a donation shelf type that allows the owner to add/remove books, while other players can only add books! Good for library submissions!
  • You can only store books, maps, paper, and records.
  • Items maintain their position in the shelf; none of that "auto-sorting" business.
  • Runs on SQLite - No setup!
  • Can be configured to use MySQL instead of SQLite!!
  • Configurable shelf sizes! (Rows of 9, Max 6 rows)
  • Configurable default shelf names!
  • Each shelf can be individually named - Great for naming library sections!
  • Configure what types of books can be put into shelves!
  • When the shelf is broken, books drop like a chest - nothing is lost!
  • Reloading does not break the plugin!!
  • Support for LWC!
  • Support for Towny!
  • Support for WorldEdit!
  • Support for WorldGuard!
  • Simple Permissions!
  • Easy-to-remember Commands!
  • Signs can be placed on shelves!
  • Enable/disable certain shelves, all shelves with the same name, or Enable/Disable all shelves by default!
  • Multiple players can access the same shelf at the same time!
  • Disable selling books/paper to villagers!
  • Allow books/maps/paper/etc to only be stored in shelves! (No chests!)
  • Shelves have ownership!! Ops are owners of every shelf.

Videos!

Check out other videos by bizburns01 (Luigi_Vampa)!

Usage and FAQ

Click here to learn about the Config, Permissions, Commands, Economy, and read the FAQ!

Parlez-vous français?

Cliquez ici! (Merci, nefald!)

Last notes

Thanks to Deathmarine for his awesomeness and code samples he let me learn off of!

Thanks to all the awesome people who made videos about BookShelf!

Thanks to lvk and softvelvet for the donations!

Source Code (BitBucket): https://bitbucket.org/MitchTalmadge/bookshelf

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of LuckyRedPepper LuckyRedPepper Mar 29, 2015 at 02:39 UTC - 0 likes

    Someone pleeeeease update this!

  • Avatar of u7uu7u7 u7uu7u7 Mar 26, 2015 at 12:09 UTC - 0 likes

    awesome face

    188.40.130.136:28504
    1.8 Hardcore server Minecraft
    (git-Spigot-952179b-f98775c (MC: 1.8) 1.8-R0.1-SNAPSHOT)

  • Avatar of AncientTom AncientTom Mar 06, 2015 at 17:35 UTC - 0 likes

    Has anyone else had DataBase problems with BookShelf?
    My server will not run BookShelf configured for SQLite.
    While it does run very well using mySQL, I have to restart my server when the DB connection is automatically closed.

    I submitted tickets on these problems if anybody would care to take a look.
    Error with QSLite BookShop on server start.
    Problem with Bookshelf and mySQL on my server.

  • Avatar of AncientTom AncientTom Mar 04, 2015 at 00:05 UTC - 0 likes

    As an administrator of a server that hosts multiple Minecraft games, I'd like to suggest that when BookShelf initializes it's tables in the mySQL server, rather than using such generic names that could be stepped on by other plugins using the same database, that BookShelf prepend the table names to make them non-generic. Examples: bs_donate, bs_enable, bs_items, etc. Some plugins even give a setting like prefix: "bs_" in their batabase setup in their config.yml. This allows the game admin to set the desired prefix.

    For those who have there games on a hosting service, it might be hard or impossible for them to get multiple databases assigned to them.

    Last edited Mar 04, 2015 by AncientTom
  • Avatar of AncientTom AncientTom Mar 03, 2015 at 21:45 UTC - 0 likes

    What BookShelf commands can be run from the console?
    Is it possible to use commands from the console on a shelf using it's title?
    Example: /bsdonate <bookshelf_name>?
    I need to be able to set a bookshelf to donate once the player removes a book to keep him from removing another copy until he returns the copy he has to the shelf.

    Update:
    After studying BookShelf's use of the mySQL database, I now realize that I can do all this through the database.

    Last edited Mar 04, 2015 by AncientTom
  • Avatar of DrkMatr1984 DrkMatr1984 Feb 27, 2015 at 06:18 UTC - 0 likes

    @datarat001: Go

    I am getting this error also. However, that's not the whole error homey.

    Caused by: java.lang.NullPointerException
    	at org.bukkit.craftbukkit.v1_8_R1.inventory.CraftMetaEnchantedBook.addStoredEnchant(CraftMetaEnchantedBook.java:150) ~[spigot-1.8.jar:git-Spigot-b73910a-726656b]
    	at me.MitchT.BookShelf.Shelves.ItemGenerator.generateEnchantedBook(ItemGenerator.java:105) ~[?:?]
    	at me.MitchT.BookShelf.Shelves.BookShelf.getInventory(BookShelf.java:326) ~[?:?]
    	at me.MitchT.BookShelf.Shelves.BookShelf.getInventory(BookShelf.java:232) ~[?:?]
    	at me.MitchT.BookShelf.BookListener.onClick(BookListener.java:259) ~[?:?]
    	at sun.reflect.GeneratedMethodAccessor344.invoke(Unknown Source) ~[?:?]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_31]
    	at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_31]
    	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot-1.8.jar:git-Spigot-b73910a-726656b]
    	... 16 more
    

    It seems to be caused by Enchanted Books in specifically.

    Come Check out my Server!

  • Avatar of lululombard lululombard Feb 17, 2015 at 15:12 UTC - 0 likes

    Duplication bug : if two players open the same bookshelf, both can take one item and duplicate.

  • Avatar of datarat001 datarat001 Feb 12, 2015 at 18:06 UTC - 0 likes

    I am having an issue with bookshelfs where the player has put a blue texted silk touch book into the book shelf he cannot remove the book because for some reson that specific bookshelf is inaccessible to him but all others are i am at a loss any help i appreciated thank you ! when we click on the bookshelf we get this http://pastebin.com/Smw9vgiP

    Last edited Feb 12, 2015 by datarat001
  • Avatar of Mr_Simba Mr_Simba Jan 16, 2015 at 21:45 UTC - 0 likes

    Is there a way to set it so a player gets paid when their books are bought from a shelf? Sort of like ChestShop, so when their books are bought they get money.

    No nudity, even really good nudity!

  • Avatar of luigi_vampa luigi_vampa Jan 13, 2015 at 22:54 UTC - 0 likes

    Hey. One thing I've just noticed about the plugin. When I put a book on the shelf that has custom data on it the data is gone when I take the book off again.

Facts

Date created
Aug 07, 2012
Categories
Last update
Dec 31, 2014
Development stage
Release
License
GNU General Public License version 2 (GPLv2)
Curse link
BookShelf
Downloads
35,017
Recent files

Authors