Current Version:
3.9 (Release)

Just a heads up: I do not have much time to work on this plugin anymore. Features and bugfixes will come very slowly, if at all. The source code is open and available at the bottom of this page if you would like to fork it and submit a pull request. Thanks for your understanding.

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.


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!)

Source Code (GPLv2)

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!

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

  • Avatar of SilverSpringsSurvival SilverSpringsSurvival Feb 05, 2016 at 04:54 UTC - 0 likes

    Would you be able to make it so lapis can be stored in bookshelves? It's used for enchanting in 1.8 and it'd be really cool to be able to store lapis in your enchanting table shelves :)

  • Avatar of Nefald Nefald Jan 11, 2016 at 14:55 UTC - 0 likes

    Hi Mitch,

    Thank for your reply!

    It would be a very nice feature!
    Oh just another word if it's possible, could you see for the ability to save the lore of a paper, and the MySQL's prefix? It would be very nice. :)

    Have you publish your sources somewhere?

    Last edited Jan 11, 2016 by Nefald
  • Avatar of MitchTalmadge MitchTalmadge Jan 10, 2016 at 09:54 UTC - 1 like

    @Nefald: Go

    Hey Nefald!

    I haven't touched this plugin in a long time. Maybe I can look at it and see if I can fix that for you :) That's a really cool interface you made!!

    Also, it looks like someone else updated my source code to work with Spigot. I was never informed about it, but that's alright.

    Author of BookShelf - Store books, maps, and more into those once useless bookshelves - just like chests!

  • Avatar of Nefald Nefald Jan 06, 2016 at 13:40 UTC - 0 likes

    Hi Mitch,
    Is it possible to save the state of a book with BookShelf, if it's a copy or an original?
    When we drop a copy of a book into a bookshelf, when we go back to take it, it became an original.

    Whe can do it with command line like this:
    /give @p written_book 1 0 {pages:["{\"text\":\"Page1\"}","{\"text\":\"Page2\"}"],title:Titre,author:Auteur,generation:1}

    • 1 = Copy of original
    • 2= Copy of a copy
    • 3 = Torn book

    We've juste made a WebInterface for Bookshelf who reference all books on our server, this kind of feature could be usefull into Bookshelf.

    Another question, are you the author of this resource on Spigot?

    Thank! :)

    Last edited Jan 07, 2016 by Nefald
  • Avatar of luigi_vampa luigi_vampa Jun 28, 2015 at 01:21 UTC - 2 likes

    Hey. I've noticed an issue with the bookshelf. Place a piece of paper with lore on the shelf, type /bsu and the paper that comes off the shelf has no lore. That an issue you can fix? Thanks.

  • Avatar of madtomic madtomic May 13, 2015 at 11:17 UTC - 1 like

    Great plugin!

  • Avatar of xDizasterCYx xDizasterCYx Apr 26, 2015 at 20:46 UTC - 1 like

    add support for griefprevention pleasee

    Currently Managing XeraBending! | Connect with -> | Website ->

    YouTube Channel

  • 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

  • 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.


Date created
Aug 07, 2012
Last update
Apr 26, 2015
Development stage
GNU General Public License version 2 (GPLv2)
Curse link
Recent files