Books-Without-Borders/README.md

7.4 KiB

Books Without Borders

This is an attempt at a rewrite of the Books Without Borders plugin. This rewrite uses the source code given at the original bukkit page. I'm not planning any new features at this time. The only goal is to make it 1.17.1 compliant, but I'll make the code more maintainable along the way. While the original version still works, it's using a lot of depreciated function calls which will most likely break in the future.

Books without Borders!

Ever wanted to export your book to a text file? Ever want to import it back in? Accidentally sign it too soon? If so, Books without Borders has got your back!

Features

  • Export written books and book and quills to .txt or .yml files
  • Import books from files as written books or unsigned books
  • Text files can be any length, and the import process fits the content to the correct page length
  • Books can be saved privately, or to a directory visible server wide
  • Encrypt books to prevent other players from reading them
  • Give, encrypt, or decrypt held books with signs
  • Give players books via command blocks
  • Unsign or copy held books with a simple command
  • Give first time players a single book or a set of books when they join
  • Configurable option to require certain items or pay via Vault compatible economy to create books via command
  • Add lore to any item with a simple command
  • Supports adding and saving color to title, lore, and book contents
  • Color and formatting codes can be manually turned into formatting using /formatbook
  • Formatting and color codes can be turned into formatting once any book is signed. This is enabled through a config value

Group encryption

  • Group encryption allows every player with the bookswithoutborders.decrypt.<group> permission to decrypt the encrypted book without using a password.

Commands:

An in-game description of available commands is available through the /bwb command.

  • /bookswithoutborders - Displays information about commands (and permissions if the user has bookswithoutborders.admin)
  • /copybook <# of copies> - Copies the book the player is holding
  • /decryptbook - Decrypts the book the player is holding. "key" is required and MUST be IDENTICAL to the key used to encrypt the held book
  • /deletebook - Deletes the specified file in the player's directory
  • /deletepublicbook - Same as deletebook, but deletes files in the public directory
  • encryptbook [encryption style] - Encrypts the book the player is holding. "key" is required and can be any phrase or number excluding spaces. "style" is not required. Possible values are "DNA" or ""
  • /formatbook - Formats the held written book (converts color and formatting codes to the corresponding formatted text)
  • /givebook [# of copies (num)] [signed (true/false)] - Gives the selected player a book from your personal directory
  • /givepublicbook [# of copies (num)] [signed (true/false)] - Same as givebook, but uses books from the public directory
  • /loadbook [# of copies] [signed (true/false)] - Creates a book from the specified file and gives it to the player. If no file is specified, a list of available files is returned. If true is specified, the book will be signed, if false it will be unsigned
  • /loadpublicbook [# of copies] [signed (true/false)] - Same as loadbook, but views files in the public directory
  • /reload - Reloads BwB's configuration file
  • /savebook [overwrite (true/false)] - Saves the book the player is holding to a text file in a private directory. If true is specified, a book of the same name by the same author will be overwritten by the new book
  • /savepublicbook [overwrite (true/false)] - Same as savebook, but saves files in the public directory
  • /setbookauthor - Sets the author of the book the player is holding
  • /setbookprice <item/eco> - Sets the per-book price to create a book via commands. If "Item", the item in the player's hand in the amount of will be the price. If "Eco", a Vault based economy will be used for price. If neither <Item/Eco> nor are specified, the current price to create books will be removed.
  • /setlore - Sets the lore of the item the player is holding. Insert the lore_line_separator character to force a new line ("~" by default)
  • /settitle