[FUN/MECH] BookWorm v1.14 - Read and write books[BukkitDev]

Discussion in 'Archived: Plugin Releases' started by nisovin, Jun 19, 2011.

  1. Offline

    nisovin

    My BukkitDev Profile
    My Plugins (7)
    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    BookWorm - Read and write books!

    Introduction

    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.

    Download
    BukkitDev
    Source Code

    Installation and Configuration

    Simply copy the jar file into your plugins folder. You can also copy the config.yml file into its folder as well, but if it doesn't exist, it will be created when the plugin is loaded. The difference is the included config.yml file is sorted somewhat logically.

    Optionally, you can install the Spout plugin as well, which will improve the functionality of this plugin. This is recommended, but not necessary.

    The configuration allows you to change all the strings used in the plugin, as well as a few other options. You can find a list of options on the configuration page.

    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 modifying the config.yml file in the plugins/PluginMetrics folder.

    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.

    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.

    This is all probably better explained by a video, so here it is:



    There are also some "advanced" editing options available while writing a book. They are:
    • /write -chat -- toggle chat write mode
    • /write -read <page> -- read the specified page
    • /write -title <new title> -- change a book's title
    • /write -author <author> -- sets a book's displayed author (the real author remains intact)
    • /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 number
    • /write -id -- gets the id number of the held book
    • /write -delete <id> -- deletes the book with the specified id
    Permissions

    View the list of permissions nodes.



    Donate: Always gotta have a donate link for those who love their plugin authors.
     
    Labargoth, SirBoots, Beta1556 and 9 others like this.
  2. Offline

    DreadKyller

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Very epic, this is great
     
  3. Offline

    Windwaker

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Very cool :)

    Downloaded ;)

    EDIT: In my review, this plugin is f**cking awesome. I love it so much and it is so user friendly now all my users can keep journals and write books. Thank you for this gift @nisovin I really appreciate it :)
     
    ShootToMaim likes this.
  4. Offline

    kahlilnc

    My BukkitDev Profile
    My Plugins (0)
    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Amazing.
     
  5. Offline

    hypershadow66

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I have a question how do I use the copy command what is it exactly? I want to put little flyers sort of for properties in-game, but dont want to repeat the same text
     
  6. Offline

    DreadKyller

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    copy command? do you mean that people can get a copy of the book, cause he never mentions a copy command because I don't think there is one. What the copy is, you place the book in the bookshelf, then if someone right clicks the bookshelf they get a copy of that book, no commands involved.
     
  7. Offline

    DreadKyller

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    This is a great way to setup rules for aserver, make a bookshelf with a book or rules and everyone that joins must have that book in their hands to walk out and do stuff, that would be very easy way to make sure people have the rules. And then they can check them at any time if they are like, "I forget if I'm allowed to do this"
     
    ShootToMaim likes this.
  8. Offline

    Kazuja

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    FINNALLY!!! I waited for this plugin so long :D .
    Dude, you are awesome :D
     
  9. Offline

    hypershadow66

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Yea Thank you DreadKyller, I figured it out :) I just saw permissions for some copy thing and thought it was that kind of copy lol.

    This is useful for so many things! Im probably going to use this for mailboxes/mail, letters, notes, and libraries :D
     
  10. Offline

    WooJoo

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    wouldnt it be better to use a empty book in the inventory as copy requierment then just spawn a new one?
     
  11. Offline

    nisovin

    My BukkitDev Profile
    My Plugins (7)
    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    This is a config option.
     
  12. Offline

    HSAR

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    This is epic.
     
  13. Offline

    jamescosten

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Works really well, had a few issues with books replicating in my inventory (no spam) also is it possible to configure the name of the book to appear when you look in inventory and scroll over it?? At the moment its says book obviously, but is it possible to change this so that we now what book we have without opening it?
     
  14. Offline

    Pershonkey

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Thank you for creating this wonderful plugin! Finally a use for books/bookshelves. I was looking for a decent bookshelf writing plugin for jail/banning/etc. records, but this is better than i hoped for!
     
  15. Offline

    nisovin

    My BukkitDev Profile
    My Plugins (7)
    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    By replicating do you mean when you copy a book from a bookshelf? You can require a blank book to be in your hand to copy by setting the config value. Also, it already shows the book's title when you scroll over it. As long as your titles are unique you should be able to know what book it is. What else would you want it to show?
     
  16. Offline

    jamescosten

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I know that scrolling outside of inventory you can see it as a message, i mean as you scroll your mouse over it and it says the title. I mean it copies in inventory if i try and stack them or move them around.
     
  17. Offline

    nisovin

    My BukkitDev Profile
    My Plugins (7)
    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Ah, unfortunately, the tooltip is client-side behavior, so there's no way for me to change it. Books shouldn't be duplicating though. Are you sure they're actually duplicating or does it just seem that way? The plugin prevents you from stacking books, which causes a conflict with the client that thinks you can.

    For example, if you try to stack books, it will appear that you did and it will show a stack of two. However, once you close your inventory the extra book will be thrown out, and even though it says you have a stack of two, if you do anything with that stack (like right click), it will go back to one again. It's annoying, but there's not much I can do about it.

    I do have an update coming soon that will make it work at least slightly better, by letting you stack books if they are the same book. This will let you stack blank books, for example. But trying to do manual stacking is still going to have that glitchy behavior, unfortunately. Maybe I'll look into making an optional client mod.
     
  18. Offline

    marc38gt

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Very good ! Here are some features that you could add :
    -erase #line(s)
    -List of books
    -Possibility to locate a book

    Super good job anyway !!!
     
  19. Offline

    jamescosten

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Thank you for your prompt reply i hope you dont mind but i went ahead and made a review/tutorial video of this :)
    Works like a charm well done, will be recommending this to friends.

     
  20. Offline

    HSAR

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Can the code for this be reused to apply custom data to any object?
     
  21. Offline

    alta189

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @Afforess might incorporate custom tooltip API into BukkitContrib :D
     
  22. Offline

    colin8696909

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    magic and now this. :) is there nothing you cant do.
     
  23. Offline

    Taemera

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @nisovin
    How does the clean-interval and remove-delay exactly work? I'm kind of confused. Does this mean that the content of an unused (600 sec, by default) book will get deleted? Will bookcases' content be removed as well?
     
  24. Offline

    nisovin

    My BukkitDev Profile
    My Plugins (7)
    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Yes. The key is preventing stacking. If you don't, two objects with different data can be stacked, and one of them loses their data, maybe both.
    It doesn't delete anything, it just frees up the text from memory. If someone reads it again, it will be reloaded.
     
  25. Offline

    Taemera

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Ah, all clear now. Thanks for this wonderful plugin!
     
  26. Offline

    T4L_Goose

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    This is so badass! Thank you!
     
  27. Offline

    Chasingu

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    This is what I have been looking for! Thank you so much! It will be a favorite on my Server for my friends for sure!
     
  28. Offline

    Enzy

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    nisovin i have a rpg server and we use an ingame mail system my members thought it would be cool if they could write on paper too for an example of our mailbox look here and btw it is an amazing plugin
    http://gyazo.com/25557c7c91b4dcfc33ccd4ee145c92c2.png
     
  29. Offline

    jlu

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    This is Win.rar dude, very nice.
     
  30. Offline

    iMattxC

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Awesome plugin man! Great dude! +++ We used it for aour rules and I can copy in text form the pc into the config. Can you put book names instead of numbers in the config?
     

Share This Page