BookSuite
BookSuite was originally designed to offer players vanilla-style mechanics to make up for the lack of book-related features. The focus has since shifted towards command-based book alterations.
Functions
- Right click a "printing press" with a written book to copy!
- A printing press is a crafting table with inverted stairs above it.
- For easy press creation, sneak and place stairs on top of a crafting bench!
- Original: PrintingPress - The dev went inactive and didn't supply his source. Rewrote from scratch for 1.4.6.
- Default:
- Ops: Do not need supplies.
- Players: Copy anyone's book, uses supplies. (Supplies are ink and a normal book)
- Cauldron as "eraser" block
- Default: Everyone can unsign own books at cost of water, ops can unsign anyone's books for free
- Usage: Right click cauldron with written book
- Aliases
- Automatically sign books with your display name! Supports team prefix and suffixes as well.
- Can be disabled in the config (enable-aliases: false)
- Colored title and author
- related permission for &codes in normally signed books' titles: booksuite.sign.color
- /book
- Default: everyone
- Aliases: booksuite, bsuite, bs
- Help will display based on permissions - if a user does not have permission to use a command, it will not run or appear, and the help will be displayed instead of a denial of permission message.
Option and Usage |
Description |
Permission | Default |
---|---|---|---|
addpage <number> (optional text) | While holding a Book and Quill, adds a page with your text (if any) at specified number | booksuite.command.edit | everyone |
delpage <number> | While holding a Book and Quill, removes specified page | booksuite.command.edit | everyone |
u(nsign) | Unsign book in hand | booksuite.command.unsign + booksuite.command.unsign.other | op |
a(uthor) <new author> | Set author of book in hand to <new author>, supports spaces. | booksuite.command.author | op |
t(itle) <new title> | Set title of book in hand to <new title>, supports spaces. | booksuite.command.title + booksuite.command.title.other | op |
copy <quantity> | Copy book in hand <quantity> times, default 1. Exactly the same permissions as using a press except for the command permission. | booksuite.command.copy | op |
e(xport)| s(ave) <filename> |
Save books to file. If player can delete books and a book by that name already exists, the player is given 10 seconds to use /book overwrite to save anyway. | booksuite.command.export | everyone |
f(ile)| l(oad)| u(rl) <filename| url> |
Import a book from plaintext. Supports formatting with BML. To import a book from url, make a paste of a flat text file. Use "/book u http://dev.bukkit.org/paste/gy7ekjupawivnbxq.txt" to import the example book. | booksuite.command.import + booksuite.command.import.other | everyone, op to import other |
give | Import a saved book for another player. | booksuite.command.give | everyone |
d(elete) <filename> | Delete a saved book | booksuite.command.delete | op |
l(ist) | List all files in /BookSuite/SavedBooks/ | booksuite.command.list | everyone |
reload | Reload the plugin | booksuite.command.reload | op |
update | Check for updates | booksuite.command.update | op |
Configuration
Please refer to the default config.
Permissions
Permissions page. Copy-friendly permissions page!
Source
Idea Credits
ShinyQuagsire - the original PrintingPress (now inactive)
jkcclemens - /book delete
Novantis - cauldrons instead of sponges as eraser blocks
Iseeicy - addpage
Recommended
BookShelf by Pew446 - Completely revolutionizes using books, wonderful dev. A must.
The Library Project by jkcclemens - a book lover's dream! Scores of books for download and a server for writers.
Is There Any Way To Have It Automaticly Add Pages? Like Instead Of Manually Coverting A Story With <page> and </page> and such?
Status update: Completely overhauling the "permissionless" setup. Overall will (hopefully) appear the same, but should handle checks more efficiently. Fewer calculations = less lag = more fun!
Also coming soon: Aliases for signing books (nick only, or configurable list)
@1.5 release: While the plugin is compiled using 1.4.7R1.0, my live server with it runs 1.5 snapshots and has had no issues yet. BookSuite uses only methods from the API, and is highly unlikely to break with new Bukkit versions. Changed version to reflect this.
Edit: Quartz stairs will be allowed for presses in next release.
More edit: Because I
am lazyhaven't figured out which event is called on book signing, aliases will not be complete until this commit is pulled. Will probably hold off at least for a beta for that because not everyone wants to run bleeding builds :p Probably should have investigated that before setting off gung-ho, could have done good work on mailing. My bad >.>@diracdeltafunk
Thanks, glad to hear you like it! If you do spot anything wrong/something you'd like added, don't hesitate to let me know :D
Yes, I know it's been a long time since (visible) progress was made towards mailing.. No, I'm not dead. Had a lot on my plate lately and this got put on the back burner. Soon, I promise!
This is the best plugin EVER. I had been looking for almost an hour for a plugin that would do exactly this, and here it is! THANK YOU.
After some testing, I think I'll be able to support pastebin and bukkit paste relatively easily, it'll just take some fine-tuning of the regex. If I have time to finish, this will be out tonight.Basic pastebin support added, also removed a rather spammy debug line I hadn't noticed before. I recommend you update if you use either load or import on a regular basis. File should be approved tomorrow sometime.
Sorry about not adding more permissions yet, but I don't have much time right now, and the debug line could potentially be really annoying >.<
@Novantis
Thanks!
Had a thought after the fact, will make sure that next release unsign, title, and author have perms for only own books just in case people prefer that to using the various blocks.
@Jikoo_K
Wow! That was fast! :D I've never seen anyone respond so quickly to feedback on this forum! Thank you again for considering my idea and making such a great plugin!
-Novantis
BookSuite v3.0.0pre2 is up! You can download it once it's approved.
Changes of note:
@Novantis
Very good idea, thanks for the feedback! I hadn't really wanted to use sponges because I know other plugins use them for rare rewards (Sponge Enchanter for one) but couldn't find anything that made sense. Will change that for next release and remove /book eraser.
The reason I didn't allow non-ops to unsign books via command is that I feel commands ruin the... vanilla-ness of the plugin.
Speaking of next release.. I would have had it out well before now, but I decided to make book importing from url async, and am now trying to tackle all the issues with text from pastebin and such sites not being imported properly.. not much news on that front yet, unfortunately.
Working on cleaning up a release for you now, should be cleaned, tested, and uploaded for approval inside a few hours.. Should be approved sometime today or tomorrow. I'll post again when I've finished testing and actually uploaded it.
@Novantis
Just thought about it, but maybe a better solution would be using cauldrons with water (similar to cleaning armor) instead of sponges. Again, great work! :D
Could you maybe change the unsign command so that non-ops can unsign their own books, but are unable to unsign others' books, just like the sponge. I just don't like the idea of infinite sponges... other than that, great work! :D
@Debzy86
@Debzy86 I did the book formatting stuff, what you need to do is upload a file to a website, using the format shown here: http://users.wpi.edu/~tjmeyer/builds/BookSuite/demobook.book. using a PDF like that is a big no-no im afraid. PDF's are actually not saved as a text file we could parse easily with a UTF-8 encoding java pluggin. sorry :/
@jkcclemens
Thanks, good idea! I actually have a delete function written for handling mailing files, I'll include that next release. Also, a list of existing books, I already forget half of the names of my test book files >.<
3.0.0 prerelease 1 uploaded, you can download when it's approved. Does not contain mailing.
Related commit - As with 2.1.4, there is no commit with JUST the code from 3.0.0pre1, it's 3.0.0 with all the buggy mail removed.
The default /book l <bookname> only loads .book files (that's how books are saved by /book s <bookname>), but I can add .txt support next release.
I don't know that I'll ever be able to support MediaFire, looks like the file is loaded by a javascript.
I tried these: Link Removed: http://www.mediafire.com/view/?cmq3dqs3y3eai58 Link Removed: http://www.mediafire.com/?02hhcxnpdzy90bp
And another random one. Maybe it just doesn't like mediafire, I'll try using dropbox :)
@Debzy86
It doesn't need to be in book format, could you link an example of a book you're trying to load?
Edit: If the url specified is not a plaintext file, it might not work because of the way pages are added. The title only reads a single line
<title>Your Title Here</title> but pages have to be
<page>
your page contents here, within page size limitation
</page>
I may look into supporting pastebin and the like, but for now, the safest bet is to upload a text file to dropbox.
Assuming some of the html is messing with the book.
Another edit: If you're trying to make it from file on your computer, that's a 3.0.0 feature actually >.< If I can't get mailing working within a reasonable amount of time I will be willing to push out, it is working.
I'm trying to use this, and it is making the book, but the book is empty :S It has the name of the book downloaded from the url.
I used the link above from skyrim as a test and that worked fine, but using other urls doesn't. Will it only take .book format?
3.0.0 is looking to be released sometime in the middle of the week, for those of you who care :p Just have to change how I handle mail slightly and we'll be good to go!
@Simbul262
http://dev.bukkit.org/server-mods/booksuite/files/4-book-suite-2-1-4r2/
When the file gets approved, that should work for you. Sorry about that, completely my fault >.<
Somehow I'd managed to change my compiler settings back to java 7, but since my server runs 7, I didn't notice. The only difference in that file should be a teaser, if you can call it that, for 3.0.0: /makebook has an additional required field.
@Simbul262
What version of java are you running?
Also, apologies about getting back so slowly, I promise I'm still working on this >.< Darn school and work getting in my way
Edit: It has come to my attention that I royally messed up (somehow) while compiling for java 6. How, I don't know. Will have a file up when I cut out the buggy 3.0.0 code. Thanks for saying something!