Plugin polishing
All checks were successful
EpicKnarvik97/Books-Without-Borders/pipeline/head This commit looks good
All checks were successful
EpicKnarvik97/Books-Without-Borders/pipeline/head This commit looks good
Organizes translatable messages Fixes some typos Adds some uppercase to aliases Adds info about language customization
This commit is contained in:
66
README.md
66
README.md
@@ -64,33 +64,33 @@ An in-game description of available commands is available through the /bwb comma
|
||||
|
||||
| Command | Alias | Arguments | Permission | Description |
|
||||
|----------------------|---------------|----------------------------------------------------------------------------------|-----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| /addBooktitlepage | bwbtitlepage | \[page index] \[title~description] | bookswithoutborders.addtitlepage | Adds a blank page, title page or chapter page depending on input and whether the book is signed. The title author separator (default `~`) is used to separate the input into title,paragraph1,paragraph2,... |
|
||||
| /addbooktitlepage | bwbTitlePage | \[page index] \[title~description] | bookswithoutborders.addtitlepage | Adds a blank page, title page or chapter page depending on input and whether the book is signed. The title author separator (default `~`) is used to separate the input into title,paragraph1,paragraph2,... |
|
||||
| /bookswithoutborders | bwb | None | | Displays information about commands (and permissions if the user has bookswithoutborders.admin) |
|
||||
| /clearbook | bwbclear | None | bookswithoutborders.clear | Removes all text from the held un-signed book |
|
||||
| /copybook | bwbcopy | \<# of copies> | bookswithoutborders.copy | Copies the book the player is holding |
|
||||
| /createbwbSign | bwbsign | \<give/encrypt/decrypt> \[book identifier/password] \[encryption style] | bookswithoutborders.signs | Creates a books without borders sign, as specified. This command is not restricted by the normal sign line text limit, and can load books with any name length for give signs. Encrypt and decrypts signs can be created manually just fine, but using this avoids manual formatting. |
|
||||
| /decryptbook | bwbdecrypt | \<key> | bookswithoutborders.decrypt | Decrypts the book the player is holding. "key" is required and MUST be IDENTICAL to the key used to encrypt the held book |
|
||||
| /deletebook | bwbdelete | \<file name or number> | bookswithoutborders.delete | Deletes the specified file in the player's directory |
|
||||
| /deletebookpage | bwbdeletepage | \<page> | bookswithoutborders.deletepage | Deletes one page from a book |
|
||||
| /deletepublicbook | bwbdeletep | \<file name or number> | bookswithoutborders.admin | Same as deletebook, but deletes files in the public directory |
|
||||
| /encryptbook | bwbencrypt | \<key> \[encryption style] | bookswithoutborders.encrypt | 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", "substitution", "aes", "onetimepad" and "magic", unless real encryption is enabled, which limits available algorithms. |
|
||||
| /formatbook | bwbformat | None | bookswithoutborders.format | Formats the held written book (converts color and formatting codes to the corresponding formatted text) |
|
||||
| /givebook | bwbgive | \<file name or number> \<playername> \[# of copies (num)] \[signed (true/false)] | bookswithoutborders.give | Gives the selected player a book from your personal directory |
|
||||
| /givepublicbook | bwbgivep | \<file name or number> \<playername> \[# of copies (num)] \[signed (true/false)] | bookswithoutborders.givepublic | Same as givebook, but uses books from the public directory |
|
||||
| /groupencryptbook | bwbgencrypt | \<group name> \<key> \[encryption style] | bookswithoutborders.groupencrypt | Makes an encrypted book that only players with the "bookswithoutborders.decrypt.<group>" permission can decrypt. It's always auto-decrypted, so the key only matters for scrambling the contents. |
|
||||
| /loadbook | bwbload | \<file name or number> \[# of copies] \[signed (true/false)] | bookswithoutborders.load | 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 | bwbloadp | \<file name or number> \[# of copies] \[signed (true/false)] | bookswithoutborders.loadpublic | Same as loadbook, but views files in the public directory |
|
||||
| /migrateBooks | bwbmigrate | None | bookswithoutborders.admin | Migrates all txt books to yml, and fixes any incorrect filenames. |
|
||||
| /reload | bwbreload | None | bookswithoutborders.reload | Reloads BwB's configuration file |
|
||||
| /savebook | bwbsave | \[overwrite (true/false)] | bookswithoutborders.save | 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 | bwbsavep | \[overwrite (true/false)] | bookswithoutborders.savepublic | Same as savebook, but saves files in the public directory |
|
||||
| /setbookauthor | bwbauthor | \<author> | bookswithoutborders.setauthor | Sets the author of the book the player is holding |
|
||||
| /setbookgeneration | bwbgeneration | \<generation> | bookswithoutborders.setgeneration | Sets the generation of the held book (ORIGINAL, COPY_OF_ORIGINAL, COPY_OF_COPY, TATTERED) |
|
||||
| /setbookprice | bwbprice | \<item/eco> \<quantity> | bookswithoutborders.setbookprice | Sets the per-book price to create a book via commands. If "Item", the item in the player's hand in the amount of \<quantity> will be the price. If "Eco", a Vault based economy will be used for price. If neither \<Item/Eco> nor \<quantity> are specified, the current price to create books will be removed. |
|
||||
| /setBookshelfData | bwbshelfdata | \<delete/name/lore> \text> \[more text] | bookswithoutborders.editbookshelf | Sets the name/lore for a bookshelf which is shown when peeking at its contents. |
|
||||
| /setlore | bwblore | \<new lore> | bookswithoutborders.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 | bwbtitle | \<title> \[title] ... \[setDisplayName (true/false)] | bookswithoutborders.settitle | Sets the title of the book or the display name of the item the player is holding. Add a true at the end (`/settitle some title true`) to set a book's display name instead of its title. |
|
||||
| /unsignbook | bwbunsign | None | bookswithoutborders.unsign | Un-signs the book the player is holding |
|
||||
| /clearbook | bwbClear | None | bookswithoutborders.clear | Removes all text from the held un-signed book |
|
||||
| /copybook | bwbCopy | \<# of copies> | bookswithoutborders.copy | Copies the book the player is holding |
|
||||
| /createbwbsign | bwbSign | \<give/encrypt/decrypt> \[book identifier/password] \[encryption style] | bookswithoutborders.signs | Creates a books without borders sign, as specified. This command is not restricted by the normal sign line text limit, and can load books with any name length for give signs. Encrypt and decrypts signs can be created manually just fine, but using this avoids manual formatting. |
|
||||
| /decryptbook | bwbDecrypt | \<key> | bookswithoutborders.decrypt | Decrypts the book the player is holding. "key" is required and MUST be IDENTICAL to the key used to encrypt the held book |
|
||||
| /deletebook | bwbDelete | \<file name or number> | bookswithoutborders.delete | Deletes the specified file in the player's directory |
|
||||
| /deletebookpage | bwbDeletePage | \<page> | bookswithoutborders.deletepage | Deletes one page from a book |
|
||||
| /deletepublicbook | bwbDeleteP | \<file name or number> | bookswithoutborders.admin | Same as deletebook, but deletes files in the public directory |
|
||||
| /encryptbook | bwbEncrypt | \<key> \[encryption style] | bookswithoutborders.encrypt | 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", "substitution", "aes", "onetimepad" and "magic", unless real encryption is enabled, which limits available algorithms. |
|
||||
| /formatbook | bwbFormat | None | bookswithoutborders.format | Formats the held written book (converts color and formatting codes to the corresponding formatted text) |
|
||||
| /givebook | bwbGive | \<file name or number> \<playername> \[# of copies (num)] \[signed (true/false)] | bookswithoutborders.give | Gives the selected player a book from your personal directory |
|
||||
| /givepublicbook | bwbGiveP | \<file name or number> \<playername> \[# of copies (num)] \[signed (true/false)] | bookswithoutborders.givepublic | Same as givebook, but uses books from the public directory |
|
||||
| /groupencryptbook | bwbGEncrypt | \<group name> \<key> \[encryption style] | bookswithoutborders.groupencrypt | Makes an encrypted book that only players with the "bookswithoutborders.decrypt.<group>" permission can decrypt. It's always auto-decrypted, so the key only matters for scrambling the contents. |
|
||||
| /loadbook | bwbLoad | \<file name or number> \[# of copies] \[signed (true/false)] | bookswithoutborders.load | 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 | bwbLoadP | \<file name or number> \[# of copies] \[signed (true/false)] | bookswithoutborders.loadpublic | Same as loadbook, but views files in the public directory |
|
||||
| /migratebooks | bwbMigrate | None | bookswithoutborders.admin | Migrates all txt books to yml, and fixes any incorrect filenames. |
|
||||
| /reload | bwbReload | None | bookswithoutborders.reload | Reloads BwB's configuration file |
|
||||
| /savebook | bwbSave | \[overwrite (true/false)] | bookswithoutborders.save | 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 | bwbSaveP | \[overwrite (true/false)] | bookswithoutborders.savepublic | Same as savebook, but saves files in the public directory |
|
||||
| /setbookauthor | bwbAuthor | \<author> | bookswithoutborders.setauthor | Sets the author of the book the player is holding |
|
||||
| /setbookgeneration | bwbGeneration | \<generation> | bookswithoutborders.setgeneration | Sets the generation of the held book (ORIGINAL, COPY_OF_ORIGINAL, COPY_OF_COPY, TATTERED) |
|
||||
| /setbookprice | bwbPrice | \<item/eco> \<quantity> | bookswithoutborders.setbookprice | Sets the per-book price to create a book via commands. If "Item", the item in the player's hand in the amount of \<quantity> will be the price. If "Eco", a Vault based economy will be used for price. If neither \<Item/Eco> nor \<quantity> are specified, the current price to create books will be removed. |
|
||||
| /setbookshelfdata | bwbShelfData | \<delete/name/lore> \text> \[more text] | bookswithoutborders.editbookshelf | Sets the name/lore for a bookshelf which is shown when peeking at its contents. |
|
||||
| /setlore | bwbLore | \<new lore> | bookswithoutborders.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 | bwbTitle | \<title> \[title] ... \[setDisplayName (true/false)] | bookswithoutborders.settitle | Sets the title of the book or the display name of the item the player is holding. Add a true at the end (`/settitle some title true`) to set a book's display name instead of its title. |
|
||||
| /unsignbook | bwbUnsign | None | bookswithoutborders.unsign | Un-signs the book the player is holding |
|
||||
|
||||
### Permissions:
|
||||
|
||||
@@ -181,4 +181,16 @@ The **_decrypt_** sign must have **\[Decrypt]** on its second line. The third li
|
||||
| Change_Generation_On_Copy | Whether to display "COPY" or "COPY_OF_COPY" instead of "ORIGINAL" when a book is copied. This also uses the vanilla behavior where a copy of a copy or tattered book cannot be copied further. |
|
||||
| Enable_Book_Peeking | Whether to enable hitting a chiseled bookshelf while sneaking to see the shelf's contents. |
|
||||
| Use_Real_Encryption | Enables true AES encryption instead of the very fake legacy encryption. The encryption key is stored in the book file to allow admin decryption, but looking at the encrypted book in the file system, only reveals the encrypted pages. Note that real encryption might alter, corrupt or lose a book's contents, so don't use real encryption with books that have no backup in in-game book form or saved book form. |
|
||||
| Allow_Prevent_Admin_Decryption | Allows players to disable storing the encryption key for an encrypted book. This is only usable for real encryption. This effectively disable admin decryption for the book. Providing the correct password is the only way to decrypt a book without a stored key. THIS IS A DANGEROUS OPTION! |
|
||||
| Allow_Prevent_Admin_Decryption | Allows players to disable storing the encryption key for an encrypted book. This is only usable for real encryption. This effectively disable admin decryption for the book. Providing the correct password is the only way to decrypt a book without a stored key. THIS IS A DANGEROUS OPTION! |
|
||||
|
||||
## Language customization
|
||||
|
||||
User-facing messages and most formatting is customizable. If you place a strings.yml file in the plugin folder, it will
|
||||
take priority over built-in languages. If you want to change strings, look at
|
||||
BooksWithoutBorders/src/main/resources/strings.yml for the proper keys. All strings have the format:
|
||||
ENUM: "Displayed string". The enum must be identical as it defines which string you have changed. All strings belonging
|
||||
to a language are beneath the language code and indented with two spaces.
|
||||
|
||||
The easiest way to add a new language is to copy an existing language and paste it into your custom strings.yml and
|
||||
change strings as necessary. If you don't include all strings, the remaining will use the built-in English translation.
|
||||
Remember to change the language code to whichever you use for your custom language.
|
@@ -100,7 +100,7 @@ public class BwBConfig {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets whether a player can only save their own books with /savebook
|
||||
* Gets whether a player can only save their own books with /saveBook
|
||||
*
|
||||
* @return <p>Whether a player can only save their own books</p>
|
||||
*/
|
||||
|
@@ -58,7 +58,7 @@ public enum ConfigOption {
|
||||
AUTHOR_ONLY_UNSIGN("Options.Author_Only_Unsign", false),
|
||||
|
||||
/**
|
||||
* Whether a player can only save their own books with /savebook
|
||||
* Whether a player can only save their own books with /saveBook
|
||||
*/
|
||||
AUTHOR_ONLY_SAVE("Options.Author_Only_Save", false),
|
||||
|
||||
|
@@ -26,7 +26,7 @@ public enum EncryptionStyle {
|
||||
/**
|
||||
* An unbreakable encryption method assuming the key is completely random and never used more than once, ever
|
||||
*/
|
||||
ONE_TIME_PAD("onetimepad", false),
|
||||
ONE_TIME_PAD("oneTimePad", false),
|
||||
|
||||
/**
|
||||
* Just a way of using magic text to make text illegible
|
||||
@@ -79,7 +79,7 @@ public enum EncryptionStyle {
|
||||
@Override
|
||||
@NotNull
|
||||
public String toString() {
|
||||
return this.name;
|
||||
return this.name.toLowerCase();
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@ Options:
|
||||
Author_Only_Copy: false
|
||||
# Whether to only allow the author of a book to unsign it
|
||||
Author_Only_Unsign: false
|
||||
# Whether to only allow saving a player's own books with /savebook
|
||||
# Whether to only allow saving a player's own books with /saveBook
|
||||
Author_Only_Save: false
|
||||
# Whether to automatically format every book when it's signed
|
||||
Format_Book_After_Signing: false
|
||||
|
@@ -14,151 +14,151 @@ commands:
|
||||
aliases:
|
||||
- bwb
|
||||
usage: /<command> [commandName]
|
||||
decryptbook:
|
||||
decryptBook:
|
||||
description: |
|
||||
Decrypts the book you are holding. "key" is required and MUST be IDENTICAL to the key used to encrypt held book.
|
||||
Use the method with no arguments if you want to (and are allowed to) utilize admin decryption.
|
||||
There is no decryption method option, as that's stored in the encrypted file, or it's not relevant for decryption.
|
||||
aliases:
|
||||
- bwbdecrypt
|
||||
- bwbDecrypt
|
||||
usage: /<command> [key]
|
||||
permission: bookswithoutborders.decrypt
|
||||
formatbook:
|
||||
formatBook:
|
||||
description: |
|
||||
Replaces color and formatting codes (#000000, &a, &4, &n, &#ffffff) in a written book with formatted text.
|
||||
Note that while formatting an unsigned book can be useful for fixing whitespace, like centering text, but
|
||||
RGB colors look really strange for some reason. Once the book is signed, the colors display as intended.
|
||||
aliases:
|
||||
- bwbformat
|
||||
- bwbFormat
|
||||
usage: /<command>
|
||||
permission: bookswithoutborders.format
|
||||
givebook:
|
||||
giveBook:
|
||||
description: |
|
||||
Gives the selected player a book from the books you have saved to your personal collection.
|
||||
Any costs for creating the book will be payed by you, the sender.
|
||||
If used with no arguments, a list of all books will be shown.
|
||||
aliases:
|
||||
- bwbgive
|
||||
usage: /<command> <file name or number> <playername> [# of copies (num)] [signed (true/false)]
|
||||
- bwbGive
|
||||
usage: /<command> <file name or number> <player name> [# of copies (num)] [signed (true/false)]
|
||||
permission: bookswithoutborders.give
|
||||
givepublicbook:
|
||||
givePublicBook:
|
||||
description: |
|
||||
Gives the selected player a book from the public book collection.
|
||||
Any costs for creating the book will be payed by you, the sender.
|
||||
If used with no arguments, a list of all books will be shown.
|
||||
aliases:
|
||||
- bwbgivep
|
||||
usage: /<command> <file name or number> <playername> [# of copies (num)] [signed (true/false)]
|
||||
- bwbGiveP
|
||||
usage: /<command> <file name or number> <player name> [# of copies (num)] [signed (true/false)]
|
||||
permission: bookswithoutborders.givepublic
|
||||
groupencryptbook:
|
||||
groupEncryptBook:
|
||||
description: |
|
||||
Encrypts book so that only players with the bookswithoutborders.decrypt.<groupName> permission may decrypt the
|
||||
book by holding and interacting with the book in their hand. The key isn't necessary for decryption, it's only
|
||||
used for properly scrambling the book's contents.
|
||||
"style" is not required. Possible values are "dna", "substitution", "aes", "onetimepad" and "magic".
|
||||
"style" is not required. Possible values are "dna", "substitution", "aes", "oneTimePad" and "magic".
|
||||
If real encryption is enabled, possible methods are restricted.
|
||||
aliases:
|
||||
- bwbgencrypt
|
||||
- bwbGEncrypt
|
||||
usage: /<command> <group name> <key> [encryption style]
|
||||
permission: bookswithoutborders.groupencrypt
|
||||
deletebook:
|
||||
deleteBook:
|
||||
description: |
|
||||
Deletes the specified book from your personal collection.
|
||||
If used with no arguments, a list of all books will be shown.
|
||||
aliases:
|
||||
- bwbdelete
|
||||
- bwbDelete
|
||||
usage: /<command> <file name or number>
|
||||
permission: bookswithoutborders.delete
|
||||
deletepublicbook:
|
||||
deletePublicBook:
|
||||
description: |
|
||||
Deletes the specified book from your public collection.
|
||||
If used with no arguments, a list of all books will be shown.
|
||||
aliases:
|
||||
- bwbdeletep
|
||||
- bwbDeleteP
|
||||
usage: /<command> <file name of number>
|
||||
permission: bookswithoutborders.admin
|
||||
copybook:
|
||||
copyBook:
|
||||
description: |
|
||||
Copies your held book the specified amount times.
|
||||
If you specify 1 as the number of copies, one book will be added to the stack of book you are copying
|
||||
aliases:
|
||||
- bwbcopy
|
||||
- bwbCopy
|
||||
usage: /<command> <# of copies>
|
||||
permission: bookswithoutborders.copy
|
||||
clearbook:
|
||||
clearBook:
|
||||
description: Removes all text and metadata from the unsigned book you are holding
|
||||
aliases:
|
||||
- bwbclear
|
||||
- bwbClear
|
||||
usage: /<command>
|
||||
permission: bookswithoutborders.clear
|
||||
unsignbook:
|
||||
unsignBook:
|
||||
description: Un-signs your held signed book
|
||||
aliases:
|
||||
- bwbunsign
|
||||
- bwbUnsign
|
||||
usage: /<command>
|
||||
permission: bookswithoutborders.unsign
|
||||
encryptbook:
|
||||
encryptBook:
|
||||
description: |
|
||||
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", "substitution", "aes", "onetimepad" and "magic".
|
||||
"style" is not required. Possible values are "dna", "substitution", "aes", "oneTimePad" and "magic".
|
||||
If real encryption is enabled, possible methods are restricted.
|
||||
If real encryption and prevent admin decryption are enabled, the third argument prevents the key from being
|
||||
stored in the server files, preventing admin decryption. If the password is lost, decryption is impossible.
|
||||
aliases:
|
||||
- bwbencrypt
|
||||
- bwbEncrypt
|
||||
usage: /<command> <key> [encryption style] [prevent admin decrypt]
|
||||
permission: bookswithoutborders.encrypt
|
||||
setbookgeneration:
|
||||
setBookGeneration:
|
||||
description: Sets the generation of your held book
|
||||
aliases:
|
||||
- bwbgeneration
|
||||
- bwbGeneration
|
||||
usage: /<command> <generation>
|
||||
permission: bookswithoutborders.setgeneration
|
||||
setbookprice:
|
||||
setBookPrice:
|
||||
description: |
|
||||
Sets the per-book-price to create a book via commands. If "Item", the item in the player's hand in the amount
|
||||
of [quantity] will be the price.
|
||||
If "Eco", a Vault based economy will be used for price.
|
||||
If neither <Item/Eco> or <quantity> are specified, the current price to create books will be removed.
|
||||
aliases:
|
||||
- bwbprice
|
||||
- bwbPrice
|
||||
usage: /<command> <item/eco> <quantity>
|
||||
permission: bookswithoutborders.setbookprice
|
||||
setlore:
|
||||
setLore:
|
||||
description: |
|
||||
Sets the lore of your held item. Insert the lore_line_separator character to force a new line ("~" by default).
|
||||
The separator can be used several times to split into different lore lines.
|
||||
Color and formatting codes (#000000, &a, &4, &n, &#ffffff) are supported.
|
||||
aliases:
|
||||
- bwblore
|
||||
- bwbLore
|
||||
usage: /<command> <new lore>
|
||||
permission: bookswithoutborders.setlore
|
||||
savepublicbook:
|
||||
savePublicBook:
|
||||
description: |
|
||||
Saves your held book to the public book collection.
|
||||
If true is specified, a book of the same name by the same author will be overwritten by the new book.
|
||||
aliases:
|
||||
- bwbsavep
|
||||
- bwbSaveP
|
||||
usage: /<command> [overwrite (true/false)]
|
||||
permission: bookswithoutborders.savepublic
|
||||
savebook:
|
||||
saveBook:
|
||||
description: |
|
||||
Saves your held book to your personal book collection.
|
||||
If true is specified, a book of the same name by the same author will be overwritten by the new book.
|
||||
aliases:
|
||||
- bwbsave
|
||||
- bwbSave
|
||||
usage: /<command> [overwrite (true/false)]
|
||||
permission: bookswithoutborders.save
|
||||
setbookauthor:
|
||||
setBookAuthor:
|
||||
description: |
|
||||
Sets the author of the book you are holding.
|
||||
Note that certain configuration options will lock some actions to the author, so it is possible to lock your
|
||||
access to your own books. Be careful.
|
||||
aliases:
|
||||
- bwbauthor
|
||||
- bwbAuthor
|
||||
usage: /<command> <author>
|
||||
permission: bookswithoutborders.setauthor
|
||||
settitle:
|
||||
setTitle:
|
||||
description: |
|
||||
Sets the title of the book/item you are holding
|
||||
Note that this behaves differently for signed books compared to other items.
|
||||
@@ -167,10 +167,10 @@ commands:
|
||||
Add the argument true after typing in the title to set the display name of a book instead of the title.
|
||||
Color and formatting codes (#000000, &a, &4, &n, &#ffffff) are supported.
|
||||
aliases:
|
||||
- bwbtitle
|
||||
- bwbTitle
|
||||
usage: /<command> <title> [title] ... [setDisplayName (true/false)]
|
||||
permission: bookswithoutborders.settitle
|
||||
loadbook:
|
||||
loadBook:
|
||||
description: |
|
||||
Gives you the book with the given identifier stored in your private collection.
|
||||
If used with no arguments, a list of all books will be shown.
|
||||
@@ -178,10 +178,10 @@ commands:
|
||||
The number of copies can be specified to get more than one book, but the signed argument can be used without
|
||||
also specifying the number of copies.
|
||||
aliases:
|
||||
- bwbload
|
||||
- bwbLoad
|
||||
usage: /<command> <file name or number> [# of copies] [signed (true/false)]
|
||||
permission: bookswithoutborders.load
|
||||
loadpublicbook:
|
||||
loadPublicBook:
|
||||
description: |
|
||||
Gives you the book with the given identifier stored in the public collection.
|
||||
If used with no arguments, a list of all books will be shown.
|
||||
@@ -189,13 +189,13 @@ commands:
|
||||
The number of copies can be specified to get more than one book, but the signed argument can be used without
|
||||
also specifying the number of copies.
|
||||
aliases:
|
||||
- bwbloadp
|
||||
- bwbLoadP
|
||||
usage: /<command> <file name or number> [# of copies] [signed (true/false)]
|
||||
permission: bookswithoutborders.loadpublic
|
||||
reload:
|
||||
description: Reloads BwB's configuration file, translations the list of available books
|
||||
aliases:
|
||||
- bwbreload
|
||||
- bwbReload
|
||||
usage: /<command>
|
||||
permission: bookswithoutborders.reload
|
||||
setBookshelfData:
|
||||
@@ -207,7 +207,7 @@ commands:
|
||||
lore line separator (default "~") for specifying multiple lore lines.
|
||||
Color and formatting codes (#000000, &a, &4, &n, &#ffffff) are supported.
|
||||
aliases:
|
||||
- bwbshelfdata
|
||||
- bwbShelfData
|
||||
usage: /<command> <delete/name/lore> <text> [more text]
|
||||
permission: bookswithoutborders.editbookshelf
|
||||
addBookTitlePage:
|
||||
@@ -220,13 +220,13 @@ commands:
|
||||
If both an index and text is given, and a signed or unsigned book is provided, a custom chapter page depending on
|
||||
the text will be added to the specified index.</p>
|
||||
aliases:
|
||||
- bwbtitlepage
|
||||
- bwbTitlePage
|
||||
usage: /<command> [page index] [title~description]
|
||||
permission: bookswithoutborders.addtitlepage
|
||||
deleteBookPage:
|
||||
description: Deletes the specified page from the held book
|
||||
aliases:
|
||||
- bwbdeletepage
|
||||
- bwbDeletePage
|
||||
usage: /<command> <page>
|
||||
permission: bookswithoutborders.deletepage
|
||||
migrateBooks:
|
||||
@@ -236,7 +236,7 @@ commands:
|
||||
All books will be re-saved, fixing any incorrect file-names, a changed title-author separator and files using
|
||||
underscores "_" instead of spaces.
|
||||
aliases:
|
||||
- bwbmigrate
|
||||
- bwbMigrate
|
||||
usage: /<command>
|
||||
permission: bookswithoutborders.admin
|
||||
createBwBSign:
|
||||
@@ -246,9 +246,9 @@ commands:
|
||||
after give to see the book list.
|
||||
If creating an encrypt or a decrypt sign, the second argument will be treated as the encryption/decryption password
|
||||
If creating an encrypt sign, the optional third argument is the encryption style to use. Possible values are
|
||||
"dna", "substitution", "aes", "onetimepad" and "magic"
|
||||
"dna", "substitution", "aes", "oneTimePad" and "magic"
|
||||
aliases:
|
||||
- bwbsign
|
||||
- bwbSign
|
||||
usage: /<command> <give/encrypt/decrypt> [book identifier/password] [encryption style]
|
||||
permission: bookswithoutborders.signs
|
||||
permissions:
|
||||
|
@@ -1,89 +1,101 @@
|
||||
en:
|
||||
PREFIX: "[BwB]"
|
||||
SUCCESS_COPY: "Book copied!"
|
||||
SUCCESS_CLEARED: "Book cleared!"
|
||||
SUCCESS_DECRYPTED: "Book decrypted!"
|
||||
SUCCESS_AUTO_DECRYPTED: "Book auto-decrypted!"
|
||||
SUCCESS_DELETED: "\"{file}\" deleted successfully"
|
||||
SUCCESS_FORMATTED: "Book formatted!"
|
||||
SUCCESS_GIVE_SENT: "Book sent!"
|
||||
SUCCESS_GIVE_RECEIVED: "Book received!"
|
||||
SUCCESS_TITLE_PAGE_ADDED: "Title page added!"
|
||||
SUCCESS_PAGE_DELETED: "Page deleted!"
|
||||
SUCCESS_BOOK_LOADED: "Book created!"
|
||||
SUCCESS_MIGRATION_STARTED: "Starting book migration..."
|
||||
SUCCESS_RELOADED: "Configuration, books and language strings reloaded!"
|
||||
SUCCESS_SAVED: "Book Saved as &e\"{file}\"&r"
|
||||
SUCCESS_SET_AUTHOR: "Book author set to {author}!"
|
||||
SUCCESS_COST_REMOVED: "Price to create books removed!"
|
||||
SUCCESS_COST_ITEM_SET: "Book creation price set to {quantity} {cost}(s)!"
|
||||
SUCCESS_COST_ECONOMY_SET: "Book creation price set to {cost}!"
|
||||
SUCCESS_COST_PAID: |
|
||||
{cost} withdrawn to create {copies} book(s)
|
||||
New balance: {balance}
|
||||
SUCCESS_BOOKSHELF_DATA_DELETED: "Bookshelf successfully deleted!"
|
||||
SUCCESS_BOOKSHELF_TITLE_SET: "Title successfully saved!"
|
||||
SUCCESS_BOOKSHELF_LORE_SET: "Lore successfully saved!"
|
||||
SUCCESS_GENERATION_CHANGED: "Book generation successfully changed!"
|
||||
SUCCESS_LORE_SET: "Added lore to item!"
|
||||
SUCCESS_TITLE_SET: "Title set to {title}!"
|
||||
SUCCESS_DISPLAY_NAME_SET: "Display name set to {displayName}!"
|
||||
SUCCESS_MIGRATED: "Successfully migrated all books"
|
||||
SUCCESS_ENCRYPTED: "Book encrypted!"
|
||||
SUCCESS_UNSIGNED: "Book un-signed"
|
||||
ACTION_COPY: "copy"
|
||||
ACTION_CLEAR: "clear"
|
||||
ACTION_DECRYPT: "decrypt"
|
||||
ACTION_ENCRYPT: "encrypt"
|
||||
ACTION_ADD_TITLE_AUTHOR_PAGE: "add an author title page to"
|
||||
ACTION_SET_AUTHOR: "set author"
|
||||
ACTION_CHANGE_GENERATION: "change generation"
|
||||
ACTION_UNSIGN: "unsign"
|
||||
# ---------------------- #
|
||||
# Generic command checks #
|
||||
# ---------------------- #
|
||||
ERROR_PLAYER_ONLY: "This command can only be used by a player!"
|
||||
ERROR_NOT_HOLDING_WRITTEN_BOOK: "You must be holding a written book to {action} it!"
|
||||
ERROR_NOT_HOLDING_WRITABLE_BOOK: "You must be holding a writable book to {action} it!"
|
||||
ERROR_NOT_HOLDING_ANY_BOOK: "You must be holding a book to perform this command"
|
||||
ERROR_ONLY_ONE_BOOK: "You cannot {action} two books at once!"
|
||||
ERROR_TOO_MANY_ARGUMENTS_COMMAND: "You have given too many arguments for this command!"
|
||||
ERROR_AUTHOR_ONLY: "You must be the author of this book to use this command!"
|
||||
ERROR_NO_ITEM: "You must be holding an item to use this command!"
|
||||
ERROR_INVENTORY_FULL: "You need an available slot in your inventory."
|
||||
ERROR_METADATA_MISSING: "Unable to get metadata for the held book!"
|
||||
ERROR_INCORRECT_FILE_NAME: "Incorrect file name!"
|
||||
ERROR_UNKNOWN_COMMAND: "Invalid command specified"
|
||||
ERROR_BOOK_NOT_FOUND: "Could not find a book to replace!"
|
||||
ERROR_METADATA_CREATION_FAILED: "Unable to create blank book metadata!"
|
||||
# ---------------- #
|
||||
# setBookshelfData #
|
||||
# ---------------- #
|
||||
SUCCESS_BOOKSHELF_DATA_DELETED: "Bookshelf successfully deleted!"
|
||||
SUCCESS_BOOKSHELF_TITLE_SET: "Title successfully saved!"
|
||||
SUCCESS_BOOKSHELF_LORE_SET: "Lore successfully saved!"
|
||||
ERROR_BOOKSHELF_NOT_FOUND: "You are not looking at a bookshelf!"
|
||||
ERROR_BOOKSHELF_NOT_REGISTERED: "The block you are looking at is not a registered bookshelf"
|
||||
ERROR_BOOKSHELF_NAME_REQUIRED: "You must name the bookshelf before assigning lore!"
|
||||
# -------- #
|
||||
# copyBook #
|
||||
# -------- #
|
||||
SUCCESS_COPY: "Book copied!"
|
||||
ACTION_COPY: "copy"
|
||||
ERROR_COPY_COUNT_NOT_SPECIFIED: "You must specify the number of copies to be made!"
|
||||
ERROR_COPY_NEGATIVE_AMOUNT: "Number of copies must be larger than 0!"
|
||||
ERROR_COPY_INVALID_AMOUNT: |
|
||||
Book not copied!
|
||||
Number specified was invalid!
|
||||
ERROR_BOOK_COPIED_TOO_FAR: "You cannot copy this book any further. You must have the original or a direct copy."
|
||||
ERROR_INVENTORY_FULL: "You need an available slot in your inventory."
|
||||
ERROR_METADATA_MISSING: "Unable to get metadata for the held book!"
|
||||
ERROR_VAULT_COST_BUT_UNAVAILABLE: "&4The cost was set to economy, but Vault is unavailable!"
|
||||
ERROR_DECRYPT_MISSING_KEY: "No decryption password given!"
|
||||
ERROR_DECRYPT_FAILED: "Failed to decrypt book!"
|
||||
ERROR_ENCRYPTED_DIRECTORY_EMPTY_OR_MISSING: "Could not find any encrypted files!"
|
||||
ERROR_ENCRYPTED_BOOK_UNKNOWN: "No matching encrypted book found!"
|
||||
# --------- #
|
||||
# clearBook #
|
||||
# --------- #
|
||||
SUCCESS_CLEARED: "Book cleared!"
|
||||
ACTION_CLEAR: "clear"
|
||||
# ---------- #
|
||||
# deleteBook #
|
||||
# ---------- #
|
||||
SUCCESS_DELETED: "\"{file}\" deleted successfully"
|
||||
ERROR_DELETE_EMPTY: "No files available to delete!"
|
||||
ERROR_INCORRECT_FILE_NAME: "Incorrect file name!"
|
||||
ERROR_DELETE_FAILED_SILENT: "Deletion failed without an exception!"
|
||||
ERROR_DELETE_FAILED_EXCEPTION: "Deletion failed!"
|
||||
ERROR_ENCRYPT_NO_KEY: "You must specify a key to encrypt a book!"
|
||||
ERROR_ENCRYPT_EMPTY: "Book must have contents to encrypt!"
|
||||
ERROR_TOO_MANY_ARGUMENTS_COMMAND: "You have given too many arguments for this command!"
|
||||
# ---------- #
|
||||
# formatBook #
|
||||
# ---------- #
|
||||
SUCCESS_FORMATTED: "Book formatted!"
|
||||
# -------- #
|
||||
# giveBook #
|
||||
# -------- #
|
||||
SUCCESS_GIVE_SENT: "Book sent!"
|
||||
SUCCESS_GIVE_RECEIVED: "Book received!"
|
||||
ERROR_GIVE_NO_RECIPIENT: "You have not specified the recipient of the book!"
|
||||
ERROR_GIVE_RECIPIENT_UNKNOWN: "Player not found!"
|
||||
ERROR_GIVE_RECIPIENT_FULL: "Receiving player must have space in their inventory to receive books!"
|
||||
ERROR_GIVE_LOAD_FAILED: "Book failed to load!"
|
||||
# ---------------- #
|
||||
# addBookTitlePage #
|
||||
# ---------------- #
|
||||
SUCCESS_TITLE_PAGE_ADDED: "Title page added!"
|
||||
ACTION_ADD_TITLE_AUTHOR_PAGE: "add an author title page to"
|
||||
# -------------- #
|
||||
# deleteBookPage #
|
||||
# -------------- #
|
||||
SUCCESS_PAGE_DELETED: "Page deleted!"
|
||||
ERROR_INVALID_BOOK_PAGE: "Invalid page index given!"
|
||||
ERROR_OUT_OF_RANGE_BOOK_PAGE: "The given page index is out of bounds!"
|
||||
ERROR_NO_BOOK_PAGE: "You must supply a page index"
|
||||
ERROR_GROUP_ENCRYPT_ARGUMENTS_MISSING: "You must specify a group name and key to encrypt a book!"
|
||||
ERROR_ENCRYPTED_ALREADY: "Book is already encrypted!"
|
||||
ERROR_LOAD_FAILED: "Book failed to load!"
|
||||
ERROR_RELOAD_FAILED: |
|
||||
Reload Failed!
|
||||
See console for details
|
||||
ERROR_SAVE_INVALID_PATH: "Saving Failed! Unable to find the save path!"
|
||||
ERROR_SAVE_FILE_SYSTEM_ERROR: "Saving Failed! If this continues to happen, consult a server admin!"
|
||||
ERROR_SAVE_OVERWRITE_REQUIRED: "Use &e{command}&r to overwrite!"
|
||||
ERROR_SAVE_DUPLICATE_NAMED: "Book is already saved!"
|
||||
ERROR_SAVE_DUPLICATE_UNNAMED: "Maximum amount of {file} duplicates reached!"
|
||||
ERROR_UNKNOWN_COMMAND: "Invalid command specified"
|
||||
ERROR_AUTHOR_BLANK: "You must specify an author"
|
||||
# ------------ #
|
||||
# migrateBooks #
|
||||
# ------------ #
|
||||
SUCCESS_MIGRATION_STARTED: "Starting book migration..."
|
||||
SUCCESS_MIGRATED: "Successfully migrated all books"
|
||||
ERROR_MIGRATION_FAILED: "Failed to migrate all books"
|
||||
ERROR_MIGRATION_BOOK_FAILED: "Failed to migrate book: {file} Cause: {exception}"
|
||||
# ---------- #
|
||||
# unsignBook #
|
||||
# ---------- #
|
||||
SUCCESS_UNSIGNED: "Book un-signed"
|
||||
ACTION_UNSIGN: "unsign"
|
||||
# ------------------------------------ #
|
||||
# setBookPrice / General cost messages #
|
||||
# ------------------------------------ #
|
||||
SUCCESS_COST_REMOVED: "Price to create books removed!"
|
||||
SUCCESS_COST_ITEM_SET: "Book creation price set to {quantity} {cost}(s)!"
|
||||
SUCCESS_COST_ECONOMY_SET: "Book creation price set to {cost}!"
|
||||
SUCCESS_COST_PAID: |
|
||||
{cost} withdrawn to create {copies} book(s)
|
||||
New balance: {balance}
|
||||
ERROR_VAULT_COST_BUT_UNAVAILABLE: "&4The price was set to economy, but Vault is unavailable!"
|
||||
ERROR_COST_NOT_SPECIFIED: "[Item/Eco] and [quantity] must be specified!"
|
||||
ERROR_COST_INVALID_QUANTITY: "[quantity] must be a number greater than 0!"
|
||||
ERROR_COST_INVALID_TYPE: "Price type must be \"item\" or \"economy\"!"
|
||||
@@ -91,36 +103,93 @@ en:
|
||||
ERROR_COST_INSUFFICIENT_ECONOMY: "{cost} is required for this command!"
|
||||
ERROR_COST_INSUFFICIENT_AMOUNT: "{cost} {currency}(s) are required for this command!"
|
||||
ERROR_COST_INSUFFICIENT_WRITABLE_BOOK: "{cost} empty book and quill(s) are required for this command!"
|
||||
ERROR_BOOKSHELF_NOT_FOUND: "You are not looking at a bookshelf!"
|
||||
ERROR_BOOKSHELF_NOT_REGISTERED: "The block you are looking at is not a registered bookshelf"
|
||||
ERROR_BOOKSHELF_NAME_REQUIRED: "You must name the bookshelf before assigning lore!"
|
||||
ERROR_GENERATION_NOT_SPECIFIED: "You must specify the new generation for your book!"
|
||||
ERROR_GENERATION_INVALID: "Invalid book generation specified!"
|
||||
ERROR_LORE_EMPTY: "You must specify the new lore to set!"
|
||||
ERROR_NO_ITEM: "You must be holding an item to use this command!"
|
||||
ERROR_TITLE_EMPTY: "You must specify the new title/display name to set!"
|
||||
ERROR_TITLE_LENGTH: "Book titles are capped at 32 characters!"
|
||||
ERROR_ENCRYPT_ALREADY_SAVED: |
|
||||
An encrypted version of this book is already saved.
|
||||
Please decrypt your previously encrypted copy first.
|
||||
ERROR_BOOK_NOT_FOUND: "Could not find a book to replace!"
|
||||
# -------------------------------------- #
|
||||
# Encryption/decryption related messages #
|
||||
# -------------------------------------- #
|
||||
SUCCESS_DECRYPTED: "Book decrypted!"
|
||||
SUCCESS_AUTO_DECRYPTED: "Book auto-decrypted!"
|
||||
SUCCESS_ENCRYPTED: "Book encrypted!"
|
||||
ACTION_DECRYPT: "decrypt"
|
||||
ACTION_ENCRYPT: "encrypt"
|
||||
ERROR_DECRYPT_MISSING_KEY: "No decryption password given!"
|
||||
ERROR_DECRYPT_FAILED: "Failed to decrypt book!"
|
||||
ERROR_ENCRYPTED_DIRECTORY_EMPTY_OR_MISSING: "Could not find any encrypted files!"
|
||||
ERROR_ENCRYPTED_BOOK_UNKNOWN: "No matching encrypted book found!"
|
||||
ERROR_GROUP_ENCRYPT_ARGUMENTS_MISSING: "You must specify a group name and key to encrypt a book!"
|
||||
ERROR_GROUP_DECRYPT_NO_PERMISSION: "You are not allowed to decrypt that book"
|
||||
ERROR_GROUP_DECRYPT_NOT_FOUND: "Unable to find encrypted book"
|
||||
ERROR_GROUP_DECRYPT_LOAD_FAILED: "Unable to load the unencrypted book!"
|
||||
ERROR_MIGRATION_FAILED: "Failed to migrate all books"
|
||||
ERROR_MIGRATION_BOOK_FAILED: "Failed to migrate book: {file} Cause: {exception}"
|
||||
ERROR_METADATA_CREATION_FAILED: "Unable to create blank book metadata!"
|
||||
ERROR_LOAD_BOOK_EMPTY: "File was blank!!"
|
||||
ERROR_AUTHOR_ONLY: "You must be the author of this book to use this command!"
|
||||
ERROR_ENCRYPT_BOOK_EMPTY: "Book is empty!"
|
||||
ERROR_DECRYPT_NOT_FOUND: "Book not found!"
|
||||
ERROR_DECRYPT_LEGACY_INVALID_KEY: "Incorrect decryption key!"
|
||||
ERROR_GROUP_ENCRYPT_FAILED: "Group encrypted failed!"
|
||||
ERROR_ENCRYPT_FAILED: "Encryption failed!"
|
||||
ERROR_ENCRYPT_NO_KEY: "You must specify a key to encrypt a book!"
|
||||
ERROR_ENCRYPT_EMPTY: "Book must have contents to encrypt!"
|
||||
ERROR_ENCRYPT_ALREADY_SAVED: |
|
||||
An encrypted version of this book is already saved.
|
||||
Please decrypt your previously encrypted copy first.
|
||||
NEUTRAL_ATTEMPTING_LEGACY_DECRYPTION: "Attempting legacy decryption"
|
||||
# ---------------------------------- #
|
||||
# Custom formatting for some output #
|
||||
# ---------------------------------- #
|
||||
ERROR_ENCRYPTED_ALREADY: "Book is already encrypted!"
|
||||
# ------------- #
|
||||
# setBookAuthor #
|
||||
# ------------- #
|
||||
SUCCESS_SET_AUTHOR: "Book author set to {author}!"
|
||||
ACTION_SET_AUTHOR: "set author"
|
||||
ERROR_AUTHOR_BLANK: "You must specify an author"
|
||||
# ------ #
|
||||
# reload #
|
||||
# ------ #
|
||||
SUCCESS_RELOADED: "Configuration, books and language strings reloaded!"
|
||||
ERROR_RELOAD_FAILED: |
|
||||
Reload Failed!
|
||||
See console for details
|
||||
# -------- #
|
||||
# saveBook #
|
||||
# -------- #
|
||||
SUCCESS_SAVED: "Book Saved as &e\"{file}\"&r"
|
||||
ERROR_SAVE_INVALID_PATH: "Saving Failed! Unable to find the save path!"
|
||||
ERROR_SAVE_FILE_SYSTEM_ERROR: "Saving Failed! If this continues to happen, consult a server admin!"
|
||||
ERROR_SAVE_OVERWRITE_REQUIRED: "Use &e{command}&r to overwrite!"
|
||||
ERROR_SAVE_DUPLICATE_NAMED: "Book is already saved!"
|
||||
ERROR_SAVE_DUPLICATE_UNNAMED: "Maximum amount of {file} duplicates reached!"
|
||||
# -------- #
|
||||
# loadBook #
|
||||
# -------- #
|
||||
SUCCESS_BOOK_LOADED: "Book created!"
|
||||
ERROR_LOAD_FAILED: "Book failed to load!"
|
||||
ERROR_LOAD_BOOK_EMPTY: "File was blank!!"
|
||||
# ----------------- #
|
||||
# setBookGeneration #
|
||||
# ----------------- #
|
||||
SUCCESS_GENERATION_CHANGED: "Book generation successfully changed!"
|
||||
ACTION_CHANGE_GENERATION: "change generation"
|
||||
ERROR_GENERATION_NOT_SPECIFIED: "You must specify the new generation for your book!"
|
||||
ERROR_GENERATION_INVALID: "Invalid book generation specified!"
|
||||
# ------- #
|
||||
# setLore #
|
||||
# ------- #
|
||||
SUCCESS_LORE_SET: "Added lore to item!"
|
||||
ERROR_LORE_EMPTY: "You must specify the new lore to set!"
|
||||
# -------- #
|
||||
# setTitle #
|
||||
# -------- #
|
||||
SUCCESS_TITLE_SET: "Title set to {title}!"
|
||||
SUCCESS_DISPLAY_NAME_SET: "Display name set to {displayName}!"
|
||||
ERROR_TITLE_EMPTY: "You must specify the new title/display name to set!"
|
||||
ERROR_TITLE_LENGTH: "Book titles are capped at 32 characters!"
|
||||
# -------------- #
|
||||
# Sign responses #
|
||||
# -------------- #
|
||||
ERROR_SIGN_INVALID: "Invalid sign!"
|
||||
ERROR_SIGN_COMMAND_INVALID: "Sign command {action} {data} is invalid"
|
||||
ERROR_SIGN_NOT_FOUND: "You are not looking at a sign!"
|
||||
ERROR_SIGN_BOOK_FOUND_BUT_INVALID: "The book was found, but does not contain the title author separator"
|
||||
SUCCESS_SIGN_GIVE: "Received book!"
|
||||
SUCCESS_SIGN_CREATED: "BwB sign created successfully!"
|
||||
# ---------------------------------------- #
|
||||
# Formatting for the command explanations #
|
||||
# ---------------------------------------- #
|
||||
NEUTRAL_COMMANDS_HEADER: |
|
||||
&nBooks without Borders help page&r
|
||||
&e[] = optional, <> = required (see each description for exceptions)
|
||||
@@ -135,13 +204,15 @@ en:
|
||||
NEUTRAL_COMMANDS_COMMAND_NO_PERMISSION_REQUIRED: "None"
|
||||
NEUTRAL_COMMANDS_COMMAND_PERMISSION: " &7{{permission}}"
|
||||
NEUTRAL_COMMANDS_ALIASES: " &f(&b{aliases}&f)"
|
||||
# ----------------------------------------- #
|
||||
# Formatting for title pages (addTitlePage) #
|
||||
# ----------------------------------------- #
|
||||
NEUTRAL_TITLE_PAGE_TITLE_AUTHOR_FORMAT: "{title}{separator}By: {author}"
|
||||
NEUTRAL_TITLE_PAGE_HEADER_FORMAT: "\n&n&l{header}&r"
|
||||
NEUTRAL_TITLE_PAGE_TEXT_FORMAT: "\n\n&o{text}&r"
|
||||
NEUTRAL_AUTHOR_PUBLIC_BOOKS_HEADER: "--- &aPublicly saved books by: &b{author}&r ---\n"
|
||||
NEUTRAL_AUTHOR_PLAYER_BOOKS_HEADER: "--- &aYour saved books by: &b{author}&r ---\n"
|
||||
NEUTRAL_AUTHOR_BOOKS_PATH: "Select book by path"
|
||||
NEUTRAL_AUTHOR_BOOKS_INVALID_PAGE: "&7No such page"
|
||||
# -------------------- #
|
||||
# Book list formatting #
|
||||
# -------------------- #
|
||||
NEUTRAL_BOOK_LIST_TOTAL_PAGES: "Page {current} of {total}"
|
||||
NEUTRAL_BOOK_LIST_PREVIOUS_PAGE: "[<] Previous"
|
||||
NEUTRAL_BOOK_LIST_NEXT_PAGE: "Next [>]"
|
||||
@@ -154,6 +225,16 @@ en:
|
||||
NEUTRAL_BOOK_LIST_PATH_HOVER: "Select book by path"
|
||||
NEUTRAL_BOOK_LIST_BOOK_INDEX_HOVER: "Select book by index"
|
||||
NEUTRAL_BOOK_LIST_BOOK_INDEX_NUMBER: "[{index}]"
|
||||
# --------------------------- #
|
||||
# Author book list formatting #
|
||||
# --------------------------- #
|
||||
NEUTRAL_AUTHOR_PUBLIC_BOOKS_HEADER: "--- &aPublicly saved books by: &b{author}&r ---\n"
|
||||
NEUTRAL_AUTHOR_PLAYER_BOOKS_HEADER: "--- &aYour saved books by: &b{author}&r ---\n"
|
||||
NEUTRAL_AUTHOR_BOOKS_PATH: "Select book by path"
|
||||
NEUTRAL_AUTHOR_BOOKS_INVALID_PAGE: "&7No such page"
|
||||
# ---------------------------- #
|
||||
# Bookshelf peeking formatting #
|
||||
# ---------------------------- #
|
||||
NEUTRAL_BOOKSHELF_HEADER_TITLE: "&nBookshelf summary\n&#FF5700Books in {title}&r&#FF5700:{lore}"
|
||||
NEUTRAL_BOOKSHELF_HEADER_LORE: "\n &d{lore}&r"
|
||||
NEUTRAL_BOOKSHELF_HEADER_TITLE_EMPTY: "shelf"
|
||||
@@ -174,19 +255,12 @@ en:
|
||||
# --------------------------- #
|
||||
# Sign headers and specifiers #
|
||||
# --------------------------- #
|
||||
# Warning: Changing any of these will make existing BwB signs invalid!
|
||||
# --------------------------- #
|
||||
SIGN_HEADER: "[BwB]"
|
||||
SIGN_ENCRYPT: "[Encrypt]"
|
||||
SIGN_DECRYPT: "[Decrypt]"
|
||||
SIGN_GIVE: "[Give]"
|
||||
# -------------- #
|
||||
# Sign responses #
|
||||
# -------------- #
|
||||
ERROR_SIGN_INVALID: "Invalid sign!"
|
||||
ERROR_SIGN_COMMAND_INVALID: "Sign command {action} {data} is invalid"
|
||||
ERROR_SIGN_NOT_FOUND: "You are not looking at a sign!"
|
||||
ERROR_SIGN_BOOK_FOUND_BUT_INVALID: "The book was found, but does not contain the title author separator"
|
||||
SUCCESS_SIGN_GIVE: "Received book!"
|
||||
SUCCESS_SIGN_CREATED: "BwB sign created successfully!"
|
||||
# ------------ #
|
||||
# Placeholders #
|
||||
# -------------¤
|
||||
|
Reference in New Issue
Block a user