[SKRIPT BSB] Better Shulker Boxes (NBT)

Script [SKRIPT BSB] Better Shulker Boxes (NBT) 7.4

  • Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

Contributors
eult, Fusezion
Supported Minecraft Versions
  1. 1.17
  2. 1.18
  3. 1.19
  4. 1.20
Requirements: Skript 2.6.4+ and SkBee 2.9.0+

Better Shulker Boxes [SKRIPT]
Tired of placing your shulker box every time you want to use it? If yes, use Better Shulker Boxes! It is a script that allows you to easily store and access your items in the shulker box without placing the shulker box manually. Allowing you to save time and effort. Plus, you can easily move the items between different shulker boxes without closing your inventory because it allows you to right-click a shulker in your inventory and it will open the corresponding shulker box, making it even easier to manage your items. it comes with a user-friendly interface.

Features:
  • Effortless Access: Open any shulker box with a single right-click, making inventory management a breeze.
  • Inventory Convenience: Right-click shulker boxes in your inventory to open them directly.
  • User-Friendly Script: The script is well-commented and easy to modify to suit your needs.
  • Immersive Sounds: Enjoy immersive sound effects when opening and closing shulker boxes.
  • Readable Code: The code comes with comments that enhance readability and understanding.
  • Rapid Updates: Stay secure with fast updates in case of any duping methods being discovered.
  • Lock Suspect Shulkers: Suspected shulkers can be locked, preventing duplication, and unlocked using the /bsbunlock command (For safety reasons, It requires an admin permission).
  • Customizable Cooldowns: Tailor the cooldown system to your server's needs for a personalized experience.
Demonstration video:


Options include:
Code:
options:
    # PERMISSIONS
        # whether or not the permission should be required to use
        permission-required: false
        # what permission is required to open any shulker box
        permission: bsb.use
        # permission required by admins to unlock locked shulker boxes using the command
        permission-admin: bsb.admin
        # message to send when a user doesn't have the required permission node to unlock shulker boxes
        permission-message: &cYou do not have permission to this. &7&o(Missing node 'bsb.use')
        # message to send when a user doesn't have the required permission node to unlock shulker boxes
        permission-message-admin: &cYou do not have permission to this. &7&o(Missing node 'bsb.admin')
        # how the message should be displayed to the player
        permission-message-format: actionbar # accepted entries are 'actionbar', 'title', 'message' (using any other will effectively disable this)

    # MISCELLANEOUS
        # whether or not players should be allowed to place shulker boxes
        place-shulkers: true
        # whether or not players opening shulkr boxes by shift clicking in the inventory
        open-with-sneaking: false

    # COOLDOWN
        # whether or not a cooldown should be applied to opening shulker boxes
        cooldown-enabled: true
        # how long a cooldown duration should last on the items
        cooldown-duration: 5 seconds
        # cooldown bypass permission to allow admins to freely open shulker boxes
        cooldown-bypass-permission: bsb.admin
        # message to send when attempting to open a shulker box while on cooldown
        # you can use '%{_remaining}%' to showcase how much longer
        cooldown-message: &cYou're current on cooldown for another %{_remaining}%
        # whether or not the skript should send a message when trying to open a shulker box while on cooldown
        cooldown-message-enabled: true
        # how the message should be displayed to the player
        cooldown-message-format: title # accepted entries are 'actionbar', 'title', 'message' (using any other will effectively disable this)

    # SOUNDS
        # Note: setting any of the sounds to 'none' will disable the functionality
        # sound to play when a user opens a shulker box
        sounds-open: block.shulker_box.open
        # sound to play when a user closes a shulker box
        sounds-close: block.shulker_box.close
        # sound to play when a user attempts to open a locked shulker box
        sounds-locked: block.chest.locked
        # sound to play when a user attempts to open a shulker box while on cooldown
        sounds-cooldown: block.chest.locked
        # sound to player when a user doesn't have the requiered permission
        sounds-permission: block.chest.locked

    # LOCKED STATE
        # message to send when attempting to open a locked shulker box
        locked-message: &cThis shulker box is currently locked, please ask an admin to unlock!
        # whether or not the skript should attempt to lock suspicious shulker boxes
        locked-enabled: true
        # whether or not the skript should send a message when attempting to open a locked shulker box
        locked-message-enabled: true
        # how the message should be displayed to the player
        locked-message-format: actionbar # accepted entries are 'actionbar', 'title', 'message' (using any other will effectively disable this)
        # disable dispenser message when they are locked
        # you can use '%{_amount}%' for the amount of locked shulkers in the dispenser
        locked-dispenser: &cInactivated dispenser contains &6%{_amount}% &clocked shulker/s, so it is inoperable.
        # message to send when attempting to drop a locked shulker
        Locked-dropped: &cLocked items cannot be dropped

    # LOCKED REASON
        # listed below are possible reasons for shulker's lockup
        locked-reason-1: Containing illegible items.
        locked-reason-2: Suspicious of duplicate.
        locked-reason-3: Other reason.

    # CLARIFICATION
        # as a clarification of the locks, locks prevent the duplication; the shulker gets locked when it's opened,
        # then unlocked when it's closed. Whenever a shulker is closed without a packet, a lock remains.

BSB extensions
If you want the abillty to automatically store the item in the shulker box upon pickup without placing it and It will fill players' hands as they consume and place events, then use Better Shulkers Extension
PMcl6U7.png
License
You are free to share and modify this resource as long as you:
- Give credit to the original creator
- Do not use it for commercial purposes

NOTES
if you experience any problems, let me know on discord eult
if you don't have problem with using skript-reflect use lotzy skript (1.12.2 support)

Buy me a coffee?
Author
eult
Downloads
3,992
Views
3,992
First release
Last update
Rating
5.00 star(s) 1 ratings

More resources from eult

Latest updates

  1. Bug fixing and small changes

    - Fixed the command permission. - Fixed the parse of options. - Added clarification for locks.
  2. Bug fixing

    - I've fixed the permissions-required option that wasn't working
  3. Bug fixing

    - Fixed the swap bug - Improved on the command

Latest reviews

Once upon a time, in a small village, lived a talented and passionate programmer named Eult. Eult was known for his exceptional coding skills and his unwavering determination to create flawless software. One day, he embarked on a new project that would test his abilities like never before.

Eult started writing the code with great enthusiasm, fueled by his ambition to deliver a top-notch solution. He spent countless hours meticulously designing the architecture, implementing intricate algorithms, and refining the user interface. However, as the project progressed, he began to encounter unexpected challenges and shortcomings in his code.

At first, Eult faced minor bugs and glitches that required him to dive deep into the code, tracing lines and fixing logical errors. He stayed up late into the night, determined to find the root causes and provide elegant solutions. But as he fixed one problem, two more seemed to arise in its place. It felt like an endless cycle of debugging and troubleshooting.

Undeterred, Eult sought guidance from fellow programmers and turned to online resources and forums. He delved into textbooks and academic papers, studying different approaches and best practices. He was not one to give up easily, and he knew that overcoming these challenges would make him a better programmer.

Days turned into weeks, and weeks turned into months. Eult toiled tirelessly, rewriting sections of code, optimizing algorithms, and refactoring complex functions. He learned from each mistake and setback, growing stronger and more resilient with every hurdle he faced.

During this arduous journey, Eult discovered the importance of unit testing and adopted a systematic approach to identify and fix issues. He created an extensive suite of tests that covered various scenarios and edge cases, ensuring the stability and reliability of his code.

With each passing day, Eult's determination grew stronger. He drew inspiration from the successes of renowned programmers who had overcome seemingly insurmountable challenges. He refused to let setbacks define him, channeling his frustrations into a relentless pursuit of excellence.

Finally, after months of perseverance and hard work, Eult achieved his goal. The code that had once been riddled with bugs and shortcomings now stood as a robust and efficient solution. It was a testament to his unwavering dedication and unyielding spirit.

Eult's journey taught him invaluable lessons about the importance of patience, continuous learning, and the indomitable human spirit. He became a source of inspiration for aspiring programmers, sharing his story and encouraging others to embrace challenges as opportunities for growth.

From that day forward, Eult's name became synonymous with perseverance and excellence in the coding community. His story reminded everyone that success often comes after enduring a long and challenging road. Eult's triumph stood as a testament to the power of determination and the rewards that await those who never give up on their dreams.
eult
eult
pure factss