BookManager Reloaded
This is a reboot of BookManager that has sadly been unmanaged since August and has at least one game breaking bug, this version has that fixed and adds some additional features such as the ability to spawn books in player's inventories the first time they join the server.
Below is the description for BookManager:
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
@IgnuzTR
Bukkit has an API method for it. player.hasPlayedBefore();
If you want to test it, either move or delete your Username.dat file from your primary world's players folder.
Question: how does it know someone joins for the first time? Also, can you 'reset' that for a player? (to test it) And how will it interact with multiverse?
^.^ thx!
Iggy
@ProjectInfinity
It get's cut off at what appears to be a certain character limit, so not always, but often the bottom parts of the pages get cut off, despite the entire content of the page being in the save file to the plugins. And this appears to have been applied to already written books, too. There is a lot of formatting on the pages, so that would explain them getting cut off sooner than expected.
An example of a page that get's cut off:
^> §4Basis of Order§0 <^
§48. §3Use common sense.
§8§o- Failure to follow any of our rules can result in consequences ranging from a simple warning to a permanent ban. Here at Misery Craft we run the MCBans plugin, and failure to comply with our rules could result in you receiving a global ban.
§8 §33-§37-§34-§32-§32
@notif
Could you please give me a more detailed description of the problem? Pictures would be nice too.
@Naskel
This was fixed in version 1.1. There is no permission to receive books on first spawn, as long as the feature is enabled everyone who joins for the first time will receive a book.
@ProjectInfinity
Actually, there is some sort of permission node. Whenever a member joins they get this; "You cannot access that book, sorry :("
I even tried giving the bookmanager.loadbook & bookmanager.loadbook.all but it didn't work.
However if I try Bookmanager.* It works. Could you try to look into the issue?
great plugin. please make signs: If you press them you get a book.
It's great to see this plugin being maintained again!
I have one gripe though, one that is with all books regardless of plugin used. Where each page gets cut off.
Before there wasn't a limit, and pages could run off into infinity, but now it won't load a complete page of a book.
I had hoped this to be a plugin issue, but it doesn't appear to be. .
@PackerbackrGJ85
I'll take a look, I honestly haven't tested it and do not know if the books need to have a valid player name or not. If they do not, then I shall make sure having a space in the name is possible.
@IgnuzTR
@ProjectInfinity
I'd just like to point out that they CAN have spaces in them if you edit the file from the console. Just do /savebook, then go find the book in your files and edit the config, putting the name (with spaces) in between the ' '.
I'd like to suggest that in a future update we can put spaces in names in game by doing /rnauth. Perhaps make it so that if we put ' ' around the name it uses everything inside the ' '? Would make it easier for adventure maps and roleplaying servers.
@Naskel
There is none. As long as you have enabled the feature everyone who joins the server for the first time will get the books you specified in config.yml
What's the permission node to get books on first join?
@IgnuzTR
I'll take a look and see if I can replicate it. If you want, you could zip up your BookManager folder and I'll see if I can replicate it with your files (easier than me trying to replicate your scenario).
Right, makes sense. Still would be handy tho, for adventure maps and such. I had an other mod on my sp where I could do that, but it's not working on the server anymore. Also, you also can't rename the booktitle with a space in the name, and that is possible in the normal way :) Anyway, if it could be implemented in the future, that would be great :) If not, well, I'm already happy the rest works!
- update Found a bug I think. I saved a bunch of books, but they're not all showing up on the /listbooks ... There's no space in the name, and they're saved because I can load them. They just don't show up in the list.
@IgnuzTR
Player names cannot have spaces in them. :) It is so you can set it to a certain player. "DarkEnchanter" works.
Hi! Well, nice work! This is an awesome tool. We're building a RolePlay map on our server, and this will help me sign books as other people, and not my own.
One question: if you use the command /rnauth to change the author, you can't use a space in the name. So typing "Dark Enchanter" (without the " ") changes the author to "Dark". It ignores everything after the space. Is this intentionally? Or is there a workaround for it? Thanks! And keep up the good job!
Ignuz
Love to see this Plugin being updated and maintained by you!
Thanks!