Skip to content

Alathra/BoltUX

Repository files navigation

BoltUX - An Unofficial Bolt Expansion

GitHub License GitHub Downloads (all assets, all releases) GitHub Release GitHub Actions Workflow Status GitHub Issues or Pull Requests GitHub last commit


Description

BoltUX (Bolt User Experience) primarily seeks to provide a GUI interfaces for Bolt commands and interactions, as well additonal user feedback. At this time it is only supported on Bukkit/Paper servers for Minecraft 1.21.4. This plugin is inspired by projects like TownyMenu, which provide GUIs for feature-rich, command-based plugins. By providing user interfaces, projects like TownyMenu and BoltUX make it easier for most players to use their parent plugin by abstracting away commands and granular functionality. Since the parent plugin's (Bolt's) commands are retained, more experienced players (or those who prefer commands) can use commands in conjuction with, or in the place of the GUI menus.

Features

Custom Lock Item

BoltUX adds support for a custom lock item that can be required to create protections instead of using commands. An example resourcepack is included to provide a custom texture and model for the lock item. If this feature is enabled, protections are created by shift right clicking with the lock item. If using this feature, it is highly recommended that you disable the bolt.command.lock permission node and set autoProtect: false for all parts in the Bolt config so that users cannot lock a protection without using the lock item. This feature also requires users to be given the permission node boltux.lock.

Lock Item Usage

There is a default crafting recipe for the lock item.

Lock Recipe

Protection Owner GUI

A GUI for interfacing protections can be accessed by any protection owner by shift right clicking on their owned protection with their hand. The interface facilitates most Bolt actions including but not limited to:

  • Adding player/group access
  • Removing player/group access
  • Adding trusted players/groups
  • Removing trusted players/groups
  • Transferring ownership of the protection
  • Unlocking (deleting) the proteciton

Protection Owner Gui

Glowing Effect

BoltUX uses packets in order to display a red glowing effect to the client when a player tries to interact with a protection they do not have permissions to interact with.

Protection Owner Gui


Dependencies/Hooks

Dependencies

Optional Hooks

  • If Towny is used, BoltUX will automatically use TownyAPI in order to provide Town and Nation members as suggestions in the Add Access Menu. If both Towny and BoltTowny are used, Town sources will be supported in the menus.
  • The above plugins are used to create and manage custom items. BoltUX supports the use of either of them for the optional lock item. If you wish to create a custom lock item using one of these item frameworks, you can define item id for BoltUX to link and use in the config.yml.

Permissions

BoltUX contains the following permission nodes:

  • boltux.admin Grants the user the ability to open and use the BoltUX GUI for any protection, regardless of whether the user is the protection owner. It also grants access to the /boltux getlock command.
  • boltux.lock Grants the user the ability to use the custom lock items to lock protections, if the feature is enabled.
  • boltux.craft Grants the user the ability to craft locks using the default crafting recipe.

Commands

BoltUX adds the following commands:

  • /boltux getlock <amount> Spawns the specified amount of lock items in the player's inventory, defaults to 1. This command requires the permission node boltux.admin.

Configuration

BoltUX can be configured by editing values in the config.yml. BoltUX does not have a reload command because it automatically checks for updates in the config file. When you make edits to the file the changes will be applied immediately.


About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages