BookWorm
This is a plugin that lets you read and write books. There are other similar plugins available, but this one is a bit different. This plugin lets you read and write to the actual book items, rather than just affecting bookshelf blocks. The books' text will actually be stored with the book item. In order for this to work, I have made it so books are not stackable.
Minecraft Built-In Written Books
Since Minecraft version 1.3, written books have been built into the game. They have a nice GUI and work well enough for most players and servers. This plugin was created long before that. It is still available and maintained mostly for those servers who still want to keep their old books intact, and for a few who prefer this version over the official books.
I will most likely continue to support this plugin as long as there are those who still use it, but I will not be adding any new features. Any new releases will simply be bug fix updates.
If you are looking for a plugin that enhances the functionality of Minecraft's built-in books, there are many plugins available. Here is just a small selection:
- SwissBook - Adds several features, such as editing already written books and creating a server manual
- BookShelf - Allows placing books in bookshelves
- BookRules - Create a rule book
- BookShop - Allows players to publish and sell their books
Links
Installation and Configuration
Simply copy the jar file into your plugins folder and run your server. Optionally, you can also install the Spout plugin. Adding Spout will allow SpoutCraft users to see book titles on the book tooltip and read books in a GUI instead of in the chat area. Spout is not required for this plugin to work.
View the Configuration page for information about the various options in the config.yml file. View the Permissions page to see the permission nodes this plugin has available.
Usage Statistics
This plugin uses a system to keep track of its usage statistics. This is the same system used by other plugins such as LWC and Vault. Every half hour it "calls home" and reports some basic usage information, like how many players are online, how many pages have been read, and how many lines have been written. You can see the graphs here:
http://metrics.griefcraft.com/plugin/BookWorm
If you would like to opt out, you can do so by setting the enable-usage-stat-collection option to false in the config file.
Usage
This plugin uses the /bookworm command, but it has the /bw and /write commands as aliases. The in-game help is designed to be, well, helpful. Using the command without any arguments will give you context-sensitive help.
To start writing a book, you hold a book in your hand and type /write <title>. You can then use /write <text> to add text to your book. If chat mode is enabled, you can also just chat without using the command to write into the book, as long as you're holding the book. You can use a double-colon :: to create a paragraph. As you write, the plugin will break your text into pages for you.
You can place a book in a bookshelf by left-clicking on the bookshelf with your book in hand. You can get a copy of a book from a bookshelf with left-click, and you can remove a book from a bookshelf with shift-left-click.
When creating a copy of a book, by default the plugin creates a "fake" copy. Any changes made to the original will also show up in the copy, and any changes made to the copy will show up in the original. This includes adding new text, changing the title, erasing text, or any other modification. You can change this behavior by setting the make-real-copy option in the configuration file to true. If you choose to do this, you should be aware that each copy will then take up hard drive space, and "book space". There is a current limit of about 32,000 books.
You can read a book by holding it and right-clicking the air. You can read a book in a bookshelf by right-clicking the bookshelf.
There are some special commands available while writing a book.
- /write -help : shows this list of commands
- /write -chat : toggle chat write mode
- /write -read <page> : read the specified page
- /write -author <author: sets the displayed author (this is just the displayed author, the real author will stay the same)
- /write -title <new title> : change a book's title
- /write -undo : Undo your last write action. Only has one level of undo. Things that can be undone: written text, replacements, erasings.
- /write -erase <text> : erases the specified text from the book
- /write -replace <old text> -> <new text> : replaces text
- /write -eraseall : erases all text from the book
- /write -get <id> : gets the book with the given id
- /write -id : gets the id of the currently held book
- /write -delete <id> : completely deletes the book with the specified id
Videos
My original (somewhat outdated) tutorial video:
A review by zSistine:
Recent Changes
You can view the full change log here.
@foxwillow
"it will allow you to store up to 9 books in a bookshelf. "
with new bookworm, can we still get infinite books in a bookcase? that was good for server rules.
@nisovin
its possible to log who take books from bookshelfs?
There is a dev build of BookWorm 2 available here: http://nisovin.com/bookworm/dev
When you install it, it will be called "BookWorm2" and will make a new folder for itself. There's only one config option so far, which is the toggle for the bookshelf-chest feature.
The bookshelf chest feature is nifty, it will allow you to store up to 9 books in a bookshelf. Please note that this will make the server treat the bookshelf as if it was a chest. If you uninstall this plugin after creating bookshelves in this way, you will get error spam when loading your world. The errors won't harm anything, they'll just be annoying.
The commands currently available are:
/bookworm unsign -- Unsigns a signed book so it can be edited
/bookworm setauthor <name> -- Changes the author of a book
The permissions are:
bookworm.unsign -- Unsign a book you have signed (default everyone)
bookworm.unsign.others -- Unsign any book, even those signed by others (default op-only)
bookworm.setauthor -- Change the author of a book (default op-only)
I currently have not made a way to convert old BookWorm books into the new system. I'll be working on that eventually.
@goosar19
If you look you'll see there's already an option for this. Honestly though, I don't know why you would need to list all books in game. After a while the list of books is going to become too long. It's much easier to just look at the files. Also, books aren't bound to a particular world, so filtering by world wouldn't really work.
I figured out how to list all of the loaded books but is there a way to force load all of the books so that the list command then gives you a list of every book created? If forcing all of the books to load would be a bad idea, as I might suspect it would, could you just create a title storage file that you can use to recall all of the titles of all of the books that exist (if you want to go further and add support to narrow the list down to a per world basis that would be cool too. example: /bw -list world2 to show all the books for just world2.)
@Typical_Name This is caused by CraftBook plugin or FalsBook. If you have any of these look in config files to disable them. @BodhiBob I tried it and it's working with CB 1.2.5-R3.0 and the latest version is 1.2.5-R4.0 never tried it on R4.
Is this working with the latest version of CB?
@Typical_Name
You know the plugins you run better than I do.
@nisovin
Er... it's not???
I have no idea what other plugin could be causing this, then. Is it clear what I'm talking about, and if so, do you have any idea what plugin might be doing it?
@Typical_Name
That isn't caused by this plugin.
Is there a way I can make bookshelves NOT give the random quotes when you right click them? It's irritating, usually when people right click on a bookshelf, they want to see what's inside it, not the random text.
Can someone explain me the difference between a non-spout version of Bookworm and a version using Spout? I tried to find in the description, but it only says that it adds functionality.
Is there a way to edit the book data with an editor? I would like to import some stuff without using the chat editor.
I tried editing the files but they dont seem to change.
Wierd..
Thanks!
I've created a forum thread about my future plans for this plugin once Minecraft 1.3 is released.
@Phealoon
You don't need to enable deny permissions, you need to explicitly negate permission nodes on players. Please read the permissions page, in particular the default permission settings.
We got bad news :/ It's going to be a Minecraft update which makes players able to write in the books so this plugin won't be useful anymore. I'm really sad to hear that but i have a suggestion! I think that update is not going to add a feature like copying books after placing them in a library. If it does, you can still add a feature to copy written books or infinite tutorial books for everyone or something like that.
This plugin rocks!. One issue though, it doesn't seem that a normal user can completely delete their own books? I know you said "By default normal users will be able to read and copy any book; and write, remove, and destroy their own" but for the life of me I can't get the last thing to happen. An op has the ability to -delete <ID> but a normal user cannot. Perhaps a bookworm.delete.own node for the book in hand? Or am I missing something obvious?
Add to 'sometime-in-the-far-future-TODO' list:
- add migrate function to move BookWorm books to vanilla books
- make sure our books in shelves continue to work
- can vanilla books be put in shelves? if not make sure they do.
BookWorm, thank you for pioneering in this part of MC, you paved the way for the entire MC community.
Ok, I am using bPermissions, and I set the deny perms to True. Then I removed ALL bookworm permissions in the permissions plugin and restarted my server. For some reason I can write books and place them on bookshelves. So, how can I actually DENY players from placing books on the shelves. All I want the players to be able to do is write their own books, and take Other Players Books off bookshelves. How do I accomplish this? Please Help.
-Phea