Minor changes
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
Changes bookshelf peeking to require sneaking Makes sure plain books are displayed in the book list
This commit is contained in:
parent
1158820f97
commit
c389c6fbcb
@ -139,4 +139,4 @@ The **_decrypt_** sign must have **\[Decrypt]** on its second line. The third li
|
||||
| Author_Only_Save | Whether to only allow saving a player's own books with /savebook |
|
||||
| Format_Book_After_Signing | Whether to automatically format every book when it's signed |
|
||||
| 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 to see the shelf's contents. Sneaking is required to destroy a bookshelf if this is enabled. |
|
||||
| Enable_Book_Peeking | Whether to enable hitting a chiseled bookshelf while sneaking to see the shelf's contents. |
|
@ -32,9 +32,9 @@ public class BookshelfListener implements Listener {
|
||||
public void onBookshelfClick(PlayerInteractEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
// If left-clicking a chiseled bookshelf and not sneaking, display contents
|
||||
// If left-clicking a chiseled bookshelf and sneaking, display contents
|
||||
if (!event.hasBlock() || !(event.getClickedBlock().getState() instanceof ChiseledBookshelf chiseledBookshelf) ||
|
||||
event.getAction() != Action.LEFT_CLICK_BLOCK || player.isSneaking()) {
|
||||
event.getAction() != Action.LEFT_CLICK_BLOCK || !player.isSneaking()) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -69,11 +69,27 @@ public class BookshelfListener implements Listener {
|
||||
builder.append(getBookDescription(bookMeta));
|
||||
} else if (meta instanceof EnchantmentStorageMeta enchantmentStorageMeta) {
|
||||
builder.append(getEnchantedBookDescription(enchantmentStorageMeta));
|
||||
} else if (meta != null) {
|
||||
builder.append(getPlainBookDescription(meta));
|
||||
}
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the description of a plain (enchant-able) book
|
||||
*
|
||||
* @param itemMeta <p>The metadata for the book to describe</p>
|
||||
* @return <p>The description of the book</p>
|
||||
*/
|
||||
private String getPlainBookDescription(ItemMeta itemMeta) {
|
||||
String name = itemMeta.getDisplayName();
|
||||
if (name.isEmpty()) {
|
||||
name = "Plain book";
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the description of a book
|
||||
*
|
||||
|
@ -30,6 +30,5 @@ Options:
|
||||
# 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 cannot be copied further.
|
||||
Change_Generation_On_Copy: false
|
||||
# Whether to enable hitting a chiseled bookshelf to see the shelf's contents. Sneaking is required to destroy a
|
||||
# bookshelf if this is enabled.
|
||||
# Whether to enable hitting a chiseled bookshelf while sneaking to see the shelf's contents.
|
||||
Enable_Book_Peeking: false
|
Loading…
Reference in New Issue
Block a user