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

  • Avatar of mstiles92 mstiles92 Apr 16, 2014 at 22:15 UTC - 0 likes

    @NathanTheDragon: Go

    Yes, I will be switching it all over to the UUID system soon.

  • Avatar of mstiles92 mstiles92 Apr 16, 2014 at 22:02 UTC - 0 likes

    @frol1: Go

    Yes, it currently works with color codes using the § character like you would use in-game. In a future update, I will include support for using color codes with the & character as well.

  • Avatar of NathanTheDragon NathanTheDragon Apr 15, 2014 at 13:43 UTC - 0 likes

    As you've probably hear, Mojang changed their Username system to the UUID system. Will you support this?

    Thanks, ~ Nathan

    P.S. My server uses this, that's why I'm asking XD

  • Avatar of frol1 frol1 Apr 12, 2014 at 03:31 UTC - 0 likes

    do colour codes work?

  • Avatar of MarkehMe MarkehMe Apr 01, 2014 at 05:47 UTC - 0 likes

    @winter4w: Go

    "Boolean value that determines whether players will automatically be given all books they have not yet received upon logging in to the server."

    Short answer: correct, you will only receive EACH book once with the onjoin setting

    Last edited Apr 01, 2014 by MarkehMe

    Want a faster response from me? Follow me and tweet me on twitter! @markehme BFAK:90607746,6bd5d8183f15ef6bbc8c5469c97e0a66d662d410c11146dc88dbd1a9a0a8f471

  • Avatar of winter4w winter4w Mar 16, 2014 at 19:01 UTC - 0 likes

    Is this when they first join the server or when they log in?



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