Automatically give players written books containing rules, getting started guides, etc when they join your server.


/bookrules Show current plugin information.
/bookrules info Show current plugin information.
/bookrules version Show current plugin information.
/bookrules commands Show description of all commands available to the player.
/bookrules reload Reload data from the config files.
/bookrules get [id | title] Get book specified by ID or title, or all books if no ID or title is specified.
/bookrules give <player> [id | title] Give the specified player the book specified by ID or title, or all books if no ID or title is specified.
/bookrules add Add the currently held book to the plugin.
/bookrules delete <id | title> Delete the book specified by ID or title from the plugin.
/bookrules list Show all of the books currently stored by the plugin.
/bookrules setauthor <author> Change the author of the currently held book.
/bookrules settitle <title> Change the title of the currently held book.
/bookrules unsign Unsign the currently held book, changing it back to a book and quill.


Permission NodeDescription
bookrules.* Allow full access to all commands in the plugin. Allow use of /bookrules [info | version] to see the plugin information.
bookrules.reload Allow use of /bookrules reload to reload data from file.
bookrules.receivealerts Receive alerts when there is an update to the plugin.
bookrules.get Allow use of /bookrules get to get the books stored by the plugin.
bookrules.give Allow use of /bookrules give to give books to other players.
bookrules.add Allow use of /bookrules add to add a new book to be stored by the plugin.
bookrules.delete Allow use of /bookrules delete to delete a book stored by the plugin.
bookrules.list Allow use of /bookrules list to list all books stored by the plugin.
bookrules.setauthor Allow use of /bookrules setauthor to set the author of the currently held book.
bookrules.settitle Allow use of /bookrules settitle to set the title of the currently held book.
bookrules.unsign Allow use of /bookrules unsign to unsign written books, changing them back to book and quills.


Verbose Boolean value that enables/disables logging to the console. (Used for debug)
Seconds-Delay Integer value that controls the delay of giving books to new players after logging in. (Useful when using other plugins that modify inventories at login, such as StarterKit and AuthMe.
Check-for-Updates Boolean value that determines whether the plugin will check for updates and send alerts when there is a new version.
Give-New-Books-On-Join Boolean value that determines whether players will automatically be given all books they have not yet received upon logging in to the server.
Display-Messages Boolean value that determines whether messages will be sent to players when they receive new books from this plugin.
Block-Villager-Book-Trading Boolean value that determines whether players will be prevented from trading written books generated by the plugin with villagers.
Give-Books-Every-Join Boolean value that determines whether players will be given a new copy of all books every time they join the server.
Language Abbreviation of the language to load the plugin in. See the translations section below for valid abbreviations.


This plugin contains an extensive localization system, allowing it to be translated into different languages. The following is a list of the currently available languages:


If you would like to supply a translation to be included in the plugin, please let me know. If you know how, feel free to create a pull request on GitHub with the translation file included. Otherwise, send me a private message and I will get you a list of the messages that need to be translated.

Update Checking

This plugin periodically checks BukkitDev for a new version, and will notify the console and players with the "bookrules.recievealerts" permission of a new version. If you would like to disable this feature, simply set "Check-for-Updates" to false in plugins/BookRules/config.yml.

Stats Collection

Anonymous statistics are collected automatically by this plugin and sent to MCStats. If you would like to view the data, you can do so here. If you would like to disable this feature, set "opt-out" to true in plugins/PluginMetrics/config.yml.


  • Optional groups for books, allowing groups to only be given to players with the correct permission (defined on add command?)
  • Multiverse support (possibly, no guarantee)
  • Option to let players keep books on death
  • Update to UUID system

Support and Feature Requests

If you have found a bug with the plugin, or would like to suggest a feature to be added, please create an issue on Github to make sure I see it. You can do this by clicking either the Tickets link at the top of the BukkitDev page or the Issues link on the Github repo, then click New Issue and provide as much information as possible. The more information you provide, the better I can help you.


BukkitDev Page
GitHub Repository


Donations are by no means required, but would be much appreciated. If you feel that my plugins have been of great use to you and would like to give me a little something in return, this is the way to do it.



Licensed under the Common Development and Distribution License Version 1.0 (CDDL-1.0).
For license information, see the LICENSE file, or on the web at

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

  • Avatar of Daconway Daconway Aug 13, 2014 at 08:09 UTC - 0 likes

    You should consider adding in the ability to get rid of branding. it sort of ruins the plugin


  • Avatar of LordKainzo LordKainzo Aug 11, 2014 at 16:09 UTC - 0 likes

    @LordKainzo: Go

    Can we make it so the get command is case insensitive?

    Seeing this error on playerJoin

    Last edited Aug 12, 2014 by LordKainzo
  • Avatar of LordKainzo LordKainzo Aug 11, 2014 at 05:59 UTC - 0 likes

    There any way to remove "BookRules" from the lore on the duplicated book?

  • Avatar of fuzzysgirl fuzzysgirl Aug 04, 2014 at 16:32 UTC - 0 likes

    Hello, we recently updated to v2.1.1 and now the commands don't work, such as /Bookrules Get and /Bookrules Info. I get the message "Unknown Command" with no errors in the console.

  • Avatar of Roosmarijn Roosmarijn Aug 03, 2014 at 13:23 UTC - 0 likes

    @timsavage: Go

    In the meantime you can make discard sings with Essentials or have a lava block somewhere in the city to act as a garbage bin. Or install Clearlag which will automatically remove all dropped items every 15 mins.

  • Avatar of angrybirds85 angrybirds85 Aug 01, 2014 at 09:32 UTC - 0 likes

    I have added a book to the plugin but I'm not getting it when I join? Any help.

  • Avatar of minecrafter38 minecrafter38 Jun 30, 2014 at 04:33 UTC - 1 like

    Is their a way to stop the books from stacking every time somebody joins my server?

  • Avatar of timsavage timsavage Jun 29, 2014 at 20:14 UTC - 0 likes

    A useful option would be 'destroy-on-drop', so players can discard books from their inventory, but they do not clutter the game world. Having this feature set on a per book basis would probably be desirable for those that would like some books to be given from one player to another, while other books, such as admin guides, either cannot be dropped, or are destroyed on drop, preventing them from being shared with other players.

  • Avatar of Dyllaann Dyllaann May 16, 2014 at 14:25 UTC - 0 likes

    Can you please add function that you can select which books to give on join, and which not.

    I like to give the rules book to players, But not the admin help.

  • Avatar of _WhiteDragon _WhiteDragon May 04, 2014 at 16:53 UTC - 0 likes

    Great plugin, use it on my server. Keep up the good work!


Date created
Aug 30, 2012
Last update
Jun 27, 2014
Development stage
Common Development and Distribution License (CDDL)
Curse link
Recent files
  • R: v2.1.1 for CB 1.7.9-R0.1 Jun 27, 2014
  • R: v2.0.0 for CB 1.7.9-R0.1 Mar 18, 2013
  • R: v1.2.2 for CB 1.4.7-R1.0 Dec 28, 2012
  • R: v1.2.1 for CB 1.3.1-R2.0 Sep 08, 2012
  • R: v1.2.0 for CB 1.3.1-R2.0 Sep 03, 2012