[1.3] CopyBooks - Copy The Written Books!

Discussion in 'Archived: Plugin Requests' started by RinoDrummer, Apr 27, 2012.

  1. Offline

    RinoDrummer

    Plugin category: Mechanic-altering / Fun

    Suggested name: CopyBooks

    A bit about me: I'm an Italian player and a Minecraft server Founder. I have always wanted to help Bukkit Plugins Developers.
    This is the first time I request a plugin and I hope it can be a good request! :)

    What I want: I'd like a plugin for Minecraft 1.3.
    In the new version will be added the Book and Quill, can be useful to copy a book.
    If an admin will uses the books for the rules, can be settable to give a it at every member on join.
    It can support Economy, Permissions and Protection plugins.
    /copybook sell [ID] and /copybook buy [ID]

    Ideas for commands: Legend: [] = Required; <> = Optional (it can be applied only at the commands, not at the signs!

    /copybook copy [ID] - Copy the book in your hand;

    /copybook copyobj [chest/dispenser] [ID] - Copy the book in a chest or in a dispenser. If and Admin or an user (if setted) places a sign on the chest or on the dispenser and he writes:
    [CopyBook]
    <N°> or <Inf>
    <ID>
    The dispenser or the chest will contents <N°> books or Infinity books equals at the original;

    /copybook spawn [true/false] [ID] - Can be setted on players' spawn (first join);

    /copybook give [ID] <username/group> - Give the book with the cited ID or Permission group. If <username> is not setted, it gives the book at the player;

    /copybook remove [ID] - Remove the copy.

    /copybook list - Give the list of the copied books

    /copybook help - Show the list of the commands



    Ideas for permissions:

    copybooks.* - Gives all permissions;
    copybooks.copy.* - /copybook copy
    copybooks.copy.[ID] - /copybook copy [ID]
    copybooks.copyobj.* - /copybook copyobj ...
    copybooks.copyobj.[ID] - /copybook copyobj ... [ID]
    copybooks.copyobj.place.sign - Can places signs
    copybooks.admin.spawn - /copybook spawn
    copybooks.admin.give.* - /copybook give
    copybooks.admin.give.[ID] - /copybook give [ID] ...
    copybooks.admin.give.me.* - /copybook give (only for who uses the command)
    copybooks.admin.give.me.[ID] - /copybook give [ID] (only for who uses the command)
    copybooks.admin.give.[group].* - /copybook give (only for the indicated group)
    copybooks.admin.give.[group].[ID] - /copybook give [ID] (only for the indicated group)
    copybooks.admin.give.groups.* - /copybook give
    copybooks.admin.give.groups.[ID] - /copybook give [ID]
    copybooks.remove - /copybook remove
    copybook.list - /copybook list
    copybook.help - /copybook help

    When I'd like it by: I had this idea Today. I wait only a developer who can create it.

    Similar plugin requests: None.
     
    zathrus likes this.
  2. Offline

    Ferkswe

    While this idea is good, it's impossible to say if it will be possible as there's no way of knowing (yet) if the bukkit API will even support it.
     
    RinoDrummer likes this.
  3. Offline

    p000ison

    hmm nice idea, ill do it, if its possible. But I think this will take some time to say if its possible. (As above ^^^^)
     
    RinoDrummer likes this.
  4. Offline

    RinoDrummer

    It can be created. That's the Most Important thing =)
     
  5. Offline

    Jacob Marshall

    It is defiantly possible, given the fact that the Bukkit team now work for Mojang, im sure they are coding in a way that will be easy to be able to be changed. Given the fact that 1.3 is coming with the modding api, its even more clear as to how possible it will be.

    No doubt this is something I first thought of after hearing about the Book & Quill.
     
  6. Offline

    RinoDrummer

    Yep, It's a simple but good idea. =)
    I think it's simple to do. It isn't hard because the copy of the blocks and objects it's one of the first things created with plugins. But simple or not, it's important to Hope. =)
     
  7. Offline

    p000ison

    Progress started :p
     
    fredghostkyle1 and np98765 like this.
  8. Offline

    Konkz

    I have already started this :p
     
    fredghostkyle1 likes this.
  9. Offline

    np98765

    It's a CopyBooks race! :)
     
    LegoPal92 and fredghostkyle1 like this.
  10. Offline

    p000ison

    As far as I looked through the code of mc, I dont know it there is a id for a book. Getting the title and the pages should work already.
     
  11. Offline

    strontkever

    a book dispensing plugin trough sign/anything

    so new players can press a button/anything to optain server information in books
     
  12. Offline

    HockeyMike24

    Should only be able to copy a book that has been published by you. So on money servers people can't make cash off of other peoples books.
     
    fredghostkyle1 likes this.
  13. Offline

    fredghostkyle1

    i think... when u give a book to someone, and it has been signed it will stay that way, the text and stuff (acording to LAN servers/world) idk if they have a ID or not but they have some way of having the books stay the same, if they have been signed. so posibal. i would like this plugin!

    it would be nice (in the starter Kit) to have a book with Rules and Informations links ECT. so yes i like the plugin. (who ever makes the plugin make it a public plugin lots of people would wont this!)

    for the command /copybook list, have it with the ID, name of person, and the start of the book.

    same here! :D :D
     
  14. Offline

    Reptar_

    I have actually been thinking of this since the release this morning. I was gonna wait until Bukkit releases a build for 1.3 before I requested this. I guess great minds do think alike! :D
     
    fredghostkyle1 likes this.
  15. Offline

    Compulsivecraft

    I am really new at java, but i just created a dev project and any developers can help would be appriciated.

    Thats the main focus, and i could implement (hopefully) the OP's ideas.
    Check it out :D
    http://dev.bukkit.org/server-mods/autobook/
     
  16. Offline

    p000ison

    We should work together. Its no good if everyone starts/ is doing it by his/her own.
    Ill setup tomorrow a repo on github, a bug tracker on a jira and a jenkins i think. Lets do this!
    Even if bukkit implements nothing about managing books we can do it by ourselves. Accessing the book is already possible. (Bookdata is stored in a nbt format. The pages is a string list. The title and the author is a simple thing. But afaik is that they are not stored at a local place. So accessing a list is hard/not possible as far as i see here.

    One way would be to store every book when it spawns by ourselves in a nbt format and we could read this then but yeah the source (mcp) tells us already how it works. And its not like maps...

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 25, 2016
  17. Offline

    fredghostkyle1

    well, you seam confident, GOOD FOR YOU! leave us the link we will do out best to help!
     
  18. Offline

    Konkz

  19. Offline

    p000ison

  20. Offline

    kezz101

    You people developing this plugin must be physic. No one even knows if this is possible with the 1.3 Bukkit API... It's like me asking you to make an app for the iPhone 7...

    EDIT: Ignore me... Turns out the Bukkit API for 1.3 has made it's way to a Dev Build
     
  21. Offline

    p000ison

    Ok, got now all whats needed. Getting it by an id is not possible, because the text is stored in a NBTBase object in an itemstack. It works already to get the text, author, and title from a book, as you can see on github. But this will break soon, because bukkit will implement books in the next versions. So I think we will have to store the text manually in a database for example. So you have to to then /copybooks save [id] to save a book to db.
     
  22. Offline

    kezz101

  23. Offline

    fredghostkyle1

    i know, removed!

    so a SQL database would be the best, then have the books' author, name, and text stored there, geting the information from NBTBase.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 25, 2016
  24. Offline

    p000ison

    k added sql and json stuff on github :p

    EDIT: btw not compilable atm

    hmm atm im not sure weather I should load all books into the ram, or load them from the database once... hmmm

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 25, 2016
  25. Offline

    Ribsterz

    This has to be done! I just spent about an hour writing a well layed out book for when people join the server, thinking that they would act like maps. (All books have damage values) but no, they don't. So now I am stuck with a single server guide, in a chest waiting to be given out.
     
  26. Offline

    jgliniecki

    If you run essentials, you can hold it and do /more to get a stack of the book. It copies the text and everything so you can just spread them out to whoever you would like to. It would be nice if this plugin did something like letting them get it when they first join, and make infinite chests (like the essentials [free] signs) with the book in them. The ability to buy and sell books would also be neat too. I had almost the exact same idea as the OP. I decided to look today and see if anyone has done anything with this yet. Lets see how it goes!
     
  27. Offline

    p000ison

    Saving the books in the database works.
     
  28. Any chance you'd be up for working with the author of BookWorm? That's a feature I'd love for bookworm books!
     
  29. Offline

    p000ison

    There is a chance, sure :p The next 2 weeks im in italy. But Ill try to continue CopyBooks in the evening. But I will not be able to test anything :p Because I only have a laptop with about 800mb ram :p Minecraft laggs so so so much. So I can not test ingame, but I can test if if I only need the console, since I can use my root server.
     
  30. Lucky! Passed up the chance to join my Family in the Dolomites.
    Ah well, Buon Viaggio!
     

Share This Page