Bookshelf | Store Books Inside! | Enchantment Table Boosting | Supports Protection Plugins 3.0.4

Store Books in bookshelves with effect and sounds, with support for multiple other plugins!

  1. LOOHP
    Native Minecraft Version:
    1.17
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    • 1.17
    Source Code:
    https://github.com/LOOHP/Bookshelf
    Contributors:
    Henry (Resource Icon)
    Languages Supported:
    All messages sent to players are translatable. Default language: English (en-US)
    By the way! Check out my server at play.sunknights.fun!

    [​IMG] Consider donating!
    It helps me keep on supporting my plugins while keeping them free! DM me and I'll put your name here! Click me!


    [​IMG]
    Join the discord server here!

    [​IMG]

    About

    Ever wondered why bookshelves in Minecraft cannot be used to store books? Well, now you can!
    With this plugin, you will be able to open bookshelves like chests and store books inside them.


    Screenshots
    [​IMG]
    ^The particle effect indicating that a bookshelf is being opened

    [​IMG]
    ^The bookshelf contents, the number of rows can be customized

    Features
    1. The bookshelves!
    - Right-click bookshelves to open a chest-like inventory

    - Bookshelves emit particles when a player is opening it (togglable in config) [1.13 or above]
    - Customize the number of rows each bookshelf has (default to 2 rows in config)
    - Plays a book placing sound when a player place or remove an item in a bookshelf
    - Limit the type of item that can be placed into bookshelves (Default to only books-like items in config)


    - Supports moving bookshelves with pistons and sticky pistons

    - Supports named bookshelves! (Similar to when you name a chest and place it down, the inventory retains the chest's item name)

    - Support Droppers (Need to be enabled in config)

    - Experimental support Hoppers and Hoppers Minecarts (Need to be enabled in config)
    (Note that it is quite resource intensive if you have too many bookshelves)

    - Supports creative shift-middle-click block to copy bookshelf with items inside

    2. Enchantment Table Boosting![1.11 or above]
    - Boost Enchantment Tables with surrounding it with bookshelves containing enchantment books with the enchantment of your choice!
    - More books, higher chance!
    - For example, if every slot of all bookshelf is Sharpness 5 books you will be guaranteed a sharpness enchantment!
    - The feature can be toggled in the config as always


    Supported Plugins
    - Supports LWCX Protections (Requires the latest version)
    - Supports BlockLocker Container Locking
    - Supports
    WorldGuard regions (Requires at least version 7.0.0)
    - Supports GriefPrevention land claim protections

    - Supports RedProtect land claim protections
    - Supports Residence land claim protections
    - Supports Towny land claim protections

    - Supports Lands land claim protections (Requires the latest version)
    - Supports ASkyBlock island protections
    - Supports BentoBox island protections
    - Supports
    SuperiorSkyblock2 island protections
    - Supports PlotSquared plot protections (Requires v4, v5, or v6)
    - Supports OpenInv silent chest
    - Supports Essentials player vanish
    - Supports CMI player vanish
    - Supports SuperVanish player vanish
    - Supports PremiumVanish player vanish

    - Supports InteractionVisualizer bookshelf interact animations (Requires the latest dev build)


    (Bookshelves are seen just like chests in most of these plugins)


    Installation
    1. Put Bookshelf.jar into the plugins folder
    2. Start the server
    3. Edit the config (if you need to)
    4. Restart the server (if you changed something in the config in step 3)


    Development Builds
    [​IMG]

    Jenkins

    Commands

    /bookshelf reload - Reloads the plugin
    /bookshelf update - Check for updates

    Q&A
    Hoppers and Droppers do not work! What do I do?
    You have to enable "EnableHopperSupport" and/or "EnableDropperSupport" in the config!
    (Note that it is quite resource intensive if you have too many bookshelves)

    Enchantment Table Boosting does not work, and there are no errors, and I've already enabled it in the config, why is that?
    If you are running Minecraft version 1.8 - 1.10.2, unfortunately, enchantment table boosting feature is unsupported on these versions.
    If you are running Minecraft version 1.11 or above, double check your settings and permissions or contact me!

    The shift + pick block with NBT function does not work, I already gave myself permission, what's wrong?
    Currently, the feature is only tested in Minecraft 1.15+. If it doesn't work in another version, it is normal and is being worked on. Thank you for being patient!

    How is the Enchantment Table Boosting calculated?
    Check out the wiki page: https://github.com/LOOHP/Bookshelf/wiki/Enchantment-Table-Boosting


    API
    Bookshelf does provide an API for developers to customize or use its functions
    - When hoppers or hopper minecarts exchange items with bookshelves
    InventoryMoveItemEvent will fire, just listen to it just like any other bukkit events
    - When a player opens or closes a bookshelf, PlayerOpenBookshelfEvent or PlayerCloseBookshelfEvent will fire. If a player does not have permission to access that bookshelf (includes protection from other plugins, it will fire as cancelled (After priority LOWEST)

    https://github.com/LOOHP/Bookshelf/tree/master/src/main/java/com/loohp/bookshelf/API
    More info through the link above

    Permissions
    bookshelf.use - Allow players to use a bookshelf [default: false]
    bookshelf.reload - Reload the plugin [default: op]
    bookshelf.copynbt - Allows you to shift-middle-click to copy bookshelf with items inside in creative [default: op]
    bookshelf.update - Allow you to receive update messages [default: op]

    Default Config
    Latest Config with Descriptions

    Limitations
    - Bookshelves do not output a redstone signal via a redstone comparator, I will attempt to add that once I find a method that works :/
    - Bookshelves transactions are not picked up by block loggers such as coreprotect, I will try to add that or create my own logging system in the future.

    [​IMG]


    Notes:
    I only guarantee that the plugin works perfectly and with full features in the latest version of spigot and paper
    Mainly because I am a student and my time is limited, sadly you can't live with just doing what you like, writing plugins, life just doesn't work like what we all wanted :(
    Older versions are just "supported", so they might be missing a few features or hooks, but generally should work just fine.
    Nevertheless, do your own testing to be sure, just like any other plugin in this forum.

    Report problems in the discussion, not in a review. Thanks :)

Recent Reviews

  1. Nextler
    Nextler
    5/5,
    Version: 3.0.4
    Add please support for Lands !
    1. LOOHP
      Author's Response
      Lands should already be supported!
  2. CubyMaster
    CubyMaster
    5/5,
    Version: 3.0.0
    :) Usando la versión de Spigot 1.16.5 Gracias funciona muy bien / thanks works very well !
    1. LOOHP
      Author's Response
      Thank you!!
  3. HongMint
    HongMint
    5/5,
    Version: 2.6.9
    This plugin is good, but loading is very slow when the server is turned on. The more bookshelves there are, the slower! This can't be helped, can it?
    1. LOOHP
      Author's Response
      It should be much faster in 3.0.0!
  4. byteCardona
    byteCardona
    5/5,
    Version: 2.6.7
    Sería fantastico si se pudiera deshabilitar para ciertos mundos como por ejemplo, estar disponible para World, pero no en Nether o End.
    Gracias por crearlo !!
    1. LOOHP
      Author's Response
      That's a good suggestion! Thank you!
  5. Potato_IQ
    Potato_IQ
    5/5,
    Version: 2.6.7
    I have never seen a quick support from a developer like LOOHP! I use almost all of the developers plugins because how well done, useful and lightweight and creative they are. Bookshelf is probably the best plugin out there to store books or items in bookshelves, the compatibility with protection plugins is one of the most important features that other plugins lack, let alone the use of hoppers and droppers!
    1. LOOHP
      Author's Response
      Thank you very much! :D
  6. Hoang_Redstone
    Hoang_Redstone
    5/5,
    Version: 2.6.4
    A great plugin but it seems a bit laggy for the server every time I reload the plugin
    1. LOOHP
      Author's Response
      That's when the plugin pre-loads the bookshelves into the world so that it can be less performance heavy during gameplay!
  7. Daley
    Daley
    5/5,
    Version: 2.4.0
    Hello author, this plug-in is great. I want to ask you, can I use the logo of this picture for reference
    1. LOOHP
      Author's Response
      For reference? What are you referring to?
  8. tinkeringmatt
    tinkeringmatt
    4/5,
    Version: 2.4.0
    So apparently this plugin is the NUMBER ONE cause of tps dropping on my server. I used /timings to check on tick time usage and 98% of the tick time was being used by the bookshelves
    1. LOOHP
      Author's Response
      Did you enable hoppers in the config? You might want to disable it as it is quite performance heavy. That's why it is marked as experimental.
  9. RenWuLanMEMZ
    RenWuLanMEMZ
    5/5,
    Version: 2.4.0
    Hi! I reprint again, I will still move to www.mcbbs.net. Can you agree? Thanks for your cooperation!谢谢合作!
    1. LOOHP
      Author's Response
      I believe somebody already reposted the plugin on that form before. I heard that you can't do it multiple times.
      But in case I am wrong, you can always repost any of my plugins as long as you link them here for download and send me a link to the page.
  10. DiosCraft
    DiosCraft
    5/5,
    Version: 2.4.0
    WOW Nice plugin!, I hope you update it more because I would like some changes! :D :D
    1. LOOHP
      Author's Response
      Thank you for the review!
      Feel free to give suggestions :)