BookManager
I No Longer Work On This Plugin
Find it's replacement here: http:dev.bukkit.org/server-mods/bookmanager-reloaded/
Have you written a book with the new book and quill, and realized that you needed to edit something after you signed it? This plugin is for you. If you need to edit the body of the book, you can unsign the book so that you can edit it and sign it again. Just need to rename it? There's also a one-command method in this plugin that allows you to rename books. You can copy a book, and you can require players to use up the materials that make a book and quill. You can also change the author of a book (want a book written by Herobrine or Notch?) and save books as .txt files on the server. Permissions is supported, and this plugin uses separate permissions for editing your own books vs other people's books.
Setup
Very simple. All you need to do is put the jar in your plugins folder. That's it :)
Commands
There are eight commands in this plugin:
- /unsign
- Unsigns the book that you are holding (the highlighted item in your hot bar)
- /rnbook <name>
- Renames the book that you are holding
- /rnauth <name>
- Changes the author name for the book that you are holding. Note: this changes ownership, so if you take a book from someone who can't edit other people's books and you change the author name, that player cannot edit that book anymore.
- /copybook [amount]
- Copies the held written book, taking away a book, ink sack, and a feather (unless they either have the "free" permission or are in Creative mode). You don't need to specify an amount when using this command if you only want one copy.
- /savebook <save name>
- Saves a book as .txt files. Each page is a numbered .txt file inside a folder by the name of the book. Saved books can be found in the folder plugins/BookManager. Also found in the folder is a file called conf.yml. See below for details.
- /loadbook <save name>
- Takes a saved (or edited or new) book from the plugin folder and turns it into a book in-game.
- /deletebook <save name>
- Deletes a saved book in the plugins folder
- /listbooks
- Lists all the books saved in the plugins folder
Saved Books
When you save a book, it makes a folder who's name is whatever you set the save's name to be. The folder can be found in your plugins/BookManager folder. Inside that folder should be a bunch of numbered .txt files. Each one represents a page in the book. You can edit these files directly if you want. Note: there is no error-detection for when you make a page too long. I actually don't know what will happen if you make the pages too long (most likely either cutting it off or a graphical error), so be careful how long you make the files.
In the folder is also a file called conf.yml. This is the configuration file in YAML format for the book. The settings are as follows:
- title
- The title of the book
- author
- The author name of the book
- available
- Whether or not the book is avaiable to everybody with bookmanager.loadbook permission
- free
- Whether or not players need to use up the materials for a book and quill to get the book
Permissions
There are eight main nodes (one for each command):
- bookmanager.unsign
- allows players to unsign their own books (defaults to everybody)
- bookmanager.rnbook
- allows players to rename their own books (defaults to everybody)
- bookmanager.rnauth
- allows players to change the author of books (defaults to OPs only)
- bookmanager.copy
- allows players to copy a book (defaults to everybody)
- bookmanager.savebook
- allows players to save book as .txt files on the server (defaults to OPs only)
- bookmanager.loadbook
- allows players to get books saved in the plugin folder as written books (defaults to everybody)
- bookmanager.deletebook
- allows players to delete saved books in the plugin folder (defaults OPs only)
- bookmanager.listbooks
- allows players to list all the saved books they have access to (defaults to everybody)
There are five sub nodes, all defaulting to OPs only:
- bookmanager.unsign.other
- allows players to unsign other player's books
- bookmanager.rnbook.other
- allows players to rename other player's books
- bookmanager.copy.free
- allows players to copy a book without using any materials
- bookmanager.loadbook.all
- allows players to access all saved books
- bookmanager.laodbook.free
- allows players to load books without using any materials
If you give a player one of these nodes, you don't need to give them the respective main node (for example, if a player has "bookmanager.unsign.other", that player does not need to be given the permission "bookmanager.unsign")
There are also three general permissions (for easier permissions control for admins):
- bookmanager.none
- removes all permissions from player for this plugin
- bookmanager.default
- allows player to edit their own books and make copies from materials
- bookmanager.admin
- allows player to edit any book and make copies for free
In two days I'll be creating a new project should LRFLEW not show up, I have a few changes and additions I want to get into this project, but unfortunately none of my work has made it into the project itself.
edit: It's starting https://github.com/ProjectInfinity/BookManager-Reloaded/commit/f91c5674b4b215c6b1cdc45add00ef7de5c1438e I added the possibility to give out books on player's first spawns. This gives you the ability to give out a book of rules when a player first spawns.
Expect a DBO project very soon.
edit2: Project is ready, awaiting bukkitdev staff to accept the file. http://dev.bukkit.org/server-mods/bookmanager-reloaded/
@ProjectInfinity
Thanks man, now it works perfectly :D
@H8llfire
Should work now, I just tested it locally and I could load books just fine. Link is the same, you might wanna clear your browser cache just to be sure you get a the fresh file.
http://nyancraft.com/tmp/java/BookManager.jar
@ProjectInfinity
Yes. it definitely works
@H8llfire
I'll take a look at the saved books. I had to rewrite most of the book handling and since I don't use the saved books feature I didn't really test it very much. I'll do some debugging later today and see what I can come up with, for now the build below at least allows you to do the majority of what the plugin advertises (plus a few important bugfixes).
PS: Can you confirm that SAVING a book works?
@ProjectInfinity
Thanks man, it works perfectly <3
EDIT: Or not, whenever I load a saved book it just brings up a Written book.
This build of BookManager contains a few changes that are not on dev.bukkit.org:
http://nyancraft.com/tmp/java/BookManager.jar
@ProjectInfinity
Thanks man, really appreciate it :)
Nearing completion of the update, the entire plugin broke as CraftItemStack.getHandle() was removed. It is now using the built in BookMeta API.
Right now, just about the materials required to make books is not working. It won't take the items. I don't expect it to take too long, once it is done I'll send a pull request to LRFLEW and post a working JAR here for the time being (seeing as the version on DBO has been broken for a LONG time).
Oh please someone update this :(
I totally hope this gets updated for 1.4.5 and 1.4.6 (if bukkit will render plugins not updated useless). This is a wonderful, wonderful plugin.
@Melekaiah
I'll take a look if it broke with the latest dev builds. Honestly I am still on #2499 and it's been running beautifully for me for a while now.
@drtshock
If he doesn't post anything in here any time soon (MIA since 5th of November), I'll consider posting a new project with it. One problem I have with it though, is that there's so many other good plugins like this out there. Posting another one might not be necessary.
I might go have a look at the source. but im pretty sure this is one of those NMS plugins? .. might be too hard for me to try to pick up.
but i do have an idea for my server. so i might start checking out books and stuff. but i hear bukkit doesnt yet have a book API :) gosh. id love this kind of plugin to work again.
Is there a way to make just a specific book free to take? Like a rules book that all players can use /loadbook rules with the loadbook.free.rules permission or something
You get a reached end of stream error when you make a page have too many letters. the character limit (plus spaces) for a single page is around 246 characters. perhaps you could give the plugin a page sperating command, that separates the page into several pages based on that limit, splitting one txt file into multiple, like it does when you save a book. (e.g, 1.txt , 2.txt). This would make adding longer stories MUCH easier.
@ProjectInfinity
You can make a new project (with the updated version) as long as you give the author credit per the BSD license.
no word on this plugin yet?
can someone not fork this and do a update/fix?
this one is going in the plugin bin until it can be fixed :(.
Just so you know, the permissions do not work. I give players bookmanager.loadbook.all and it says that they cannot load the book.
@Cellybeans
The original developer is MIA. He's pulled about 3 pull requests from me without updating the plugin on here. Unfortunately I do not have permission to upload the fixed build and he has yet to respond to my private message.
Significant issue here. A player must have book, ink, feather, in order to copy a book right? But there's no limit on how many books can be created at once. A player only needs a single book+ink+feather to create any number of books, thus defeating the purpose of requiring materials in the first place. D: