Features
Automatically give players written books containing rules, getting started guides, etc when they join your server.
Commands
CommandDescription
/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.
Permissions
Permission NodeDescription
bookrules.*
Allow full access to all commands in the plugin.
bookrules.info
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.
Configuration
SettingDescription
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.
Translations
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:
LanguageAbbreviationTranslator
EnglishEN
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.
Planned
- 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.
Links
BukkitDev Page
GitHub Repository
Twitter
Donations
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.
Donate
Legal
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 http://opensource.org/licenses/CDDL-1.0
You can make the team, what would the administrator can issue all the old players to book?
Good job again. You really make what your "customers" want! ;)
Update has been approved! With this version, you may remove the "CurrentID..." line from your config if you wish (or just delete the entire config.yml and let it create a new one). It is not used anymore, and books are stored in order, no numbers left unused when deleting books. It also checks to see if it is the newest version, and prompts the console/ops/players with permission to update (disable in the config if you wish).
@mstiles92
Waiting for the update :D Already removed the old version because it didn't save correctly :(
@Beauseant
Hopefully tonight, just looking at adding one more thing first.
@mstiles92
When will the next version come out :D?
@ImRealNow
That's exactly what I already changed for the next version. I guess I wasn't really thinking when I came up with that way in the first place lol.
just suggesting a better way to handle ids, don't assign an id to a book and store it, generate them on the fly. that way you won't have to worry about your code screwing up after the ids have been messed around with due to errors or lack of knowledge. for example, when listing the books to the player, show them the ids next to name of the book, you can get the ids from the for loop you use to go through the books.
@LiLChris06
I am guessing you were editing the books.yml file when trying to add an apostrophe? If you want to do this, you have to use two apostrophes right next to each other so it knows that it should be read as an apostrophe and not the end of that section. If you do it by adding a book in game, it does this automatically. This is just the way that yml files work.
Good job! :)
V1.2 IS WORK!!
@LiLChris06
Glad to hear it works well. I think the apostrophe has something to do with how yml files work, will look into fixing that. I could probably add a configurable time limit to how often players can get books too, good idea.
Cheated and got it before it was up, everything working great so far with AuthMe.
A request if possible to set a timer or limit to /rulebook get
Edit: I can't use Apostrophe, when I do it doesn't recognize the book.
Ok, I have submitted a new version for approval. I recommend that everyone updates to the new version once it is approved, as it fixes all the bugs that have been reported.
@Amsterdom
Found what it was, it wasn't adding a config value that I added to set your own welcome message correctly.
@fluffypsyco
I seem to have it fixed now, will upload a new version as soon as I finish a couple more tests.
@mstiles92
the [null] thing is caused by users that have already joined the server (I think)
after I set giveonfirstjoin to false it stopped. Now I just use my other firstjoinplus plugin to type the /rulebook get 1 command when they join
at least until you got it fixed :)
@mstiles92
Here is my YML
Give-Books-On-First-Join: true Verbose: false CurrentID-DO-NOT-CHANGE: 2
Also i am desperate for the filling inventories :( thats really crap, what will be the ETA to fix that?
@Cory_
Good idea, I will add it in the next release!
I am currently looking into why it is giving a book on every join instead of just the first. I will be adding a configurable delay for those using authme, starterkit, etc.
Those of you who are getting the "[BookRules] null" message, could one of you post your config.yml for this plugin? I can't seem to reproduce it.
How to ad book only o FIRST join ? but not in every join ?