Native Major MC Version: 1.21 Tested Major MC Versions:
![[IMG] [IMG]](/proxy.php?image=https%3A%2F%2Fi.ibb.co%2F39frnNV6%2Fnysxlutilities-960x540.png&hash=cedd5d047d06007a97c3cb13504f4784)
NysxlUtilities - Core Server Utilities
A foundational utility plugin providing essential backend features for Spigot servers.
Developer API Disclaimer 
NysxlUtilities is primarily designed for internal use by Nysxl plugins (like PPLootChests).
It is not intended as a stable public API for other developers.
Internal code structure and features change frequently and without notice, which will break external plugins depending on it.
Note: While primarily an internal library, this plugin also includes some standalone admin commands.
Core Features 
Dependencies
Included Commands (Detailed)
Placeholders (Requires PlaceholderAPI)
NysxlUtilities serves as a core library, providing robust and reusable components essential for other Nysxl plugins and offering useful standalone utilities.
- 1.20
- 1.20.6
- 1.21
![[IMG] [IMG]](/proxy.php?image=https%3A%2F%2Fi.ibb.co%2F39frnNV6%2Fnysxlutilities-960x540.png&hash=cedd5d047d06007a97c3cb13504f4784)
NysxlUtilities - Core Server Utilities
A foundational utility plugin providing essential backend features for Spigot servers.


NysxlUtilities is primarily designed for internal use by Nysxl plugins (like PPLootChests).
It is not intended as a stable public API for other developers.
Internal code structure and features change frequently and without notice, which will break external plugins depending on it.
Note: While primarily an internal library, this plugin also includes some standalone admin commands.


- Multi-Currency Economy: Manage multiple custom currencies via the EconomyManager. Features include setting/getting balances, deposits, withdrawals, transfers, and tax management. Includes Vault integration check and MySQL database support for persistence. (Requires Vault)
Advanced Command Framework: Utilizes powerful internal command builders (DynamicCommandBuilder, FluentCommandBuilder) for creating complex, validated commands with tab-completion support.
- ️ Dynamic GUI Manager: A backend system (DynamicInventoryHolder & related listeners) for creating interactive, custom inventory GUIs with simplified event handling for developers.
- Advanced Text Formatting: Includes utilities (TextUtils, ClickableTextHandler) for creating richly formatted text components with custom colors (including hex like #RRGGBB), styles, hover text, and clickable actions (run command, suggest command, open URL). Features automatic text centering approximation.
- PlaceholderAPI Support (Optional): Registers custom placeholders using its own PlaceholderRegistry if PlaceholderAPI is installed. Example provided: %nysxlserverutils_announcement%.
Dynamic Configuration Manager: Simplifies loading, saving, and accessing custom configuration files (DynamicConfigManager).
Item Interaction Manager: Provides a system (ItemInteractionManager) for defining and handling custom actions when players interact with specific items.
- Language/Localization System: Includes a basic Language class framework for managing translatable messages.
- ️ MySQL Integration Helper: Simple utility class (MySQL) for connecting to and interacting with MySQL databases from config, including automatic table initialization.
- Admin Commands: Includes commands like /currency, /tax, and /ServerAnnouncement for direct server management (permissions required).
- Player Chat Input Getter: Utility (PlayerChatGetter) potentially used for retrieving direct player input via chat.
Dependencies
- Vault: (Required) This plugin requires Vault for all economy features (/currency, /tax) to function correctly. You must have Vault installed along with a compatible economy plugin (e.g., EssentialsX Economy).
Get Vault Here (BukkitDev)
- PlaceholderAPI: (Optional) Required only if you want to use the custom placeholders (like %nysxlserverutils_announcement%) provided by this plugin.
Included Commands (Detailed)
- /tax - Base Permission: (Assumed myapp.tax.use from code)
Description:Manages tax rates and viewing collected tax per currency. (Requires Vault)- set rate <currency> <percentage>
Description: Sets the tax percentage (0.0 to 1.0) for a currency.
Permission: NysxlServerUtils.tax.admin - set <currency> <amount>
Description: Manually sets the total amount recorded as paid tax for a currency.
Permission: NysxlServerUtils.tax.admin - get rate <currency>
Description: Shows the current tax rate percentage for a currency.
Permission: Base permission (e.g., myapp.tax.use) - get <currency>
Description: Shows the total amount recorded as paid tax for a currency.
Permission: Base permission (e.g., myapp.tax.use)
- set rate <currency> <percentage>
- /currency
Description:Manages player balances and currency types. (Requires Vault)- set <currency> <player> <amount>
Description: Sets a player's balance for a specific currency.
Permission: NysxlServerUtils.currency.admin - get <currency> <player>
Description: Checks a player's balance for a specific currency.
Permission: NysxlServerUtils.currency.admin - add <currency> <player> <amount>
Description: Adds an amount to a player's balance.
Permission: NysxlServerUtils.currency.admin - subtract <currency> <player> <amount>
Description: Subtracts an amount from a player's balance (checks funds).
Permission: NysxlServerUtils.currency.admin - pay <currency> <player> <amount>
Description: Transfers amount from your balance to another player. (Player command)
Permission: (Player must have sufficient funds; no specific node found beyond base command access) - create <currency> <aliase>
Description: Creates a new currency type.
Arguments: <currency> = New name, <aliase> = Symbol/short name.
Permission: NysxlServerUtils.currency.admin
- set <currency> <player> <amount>
- /ServerAnnouncement
Description:Manages the server announcement message.- set <message>
Description: Sets the announcement text (supports multiple words).
Arguments: <message> = The full announcement text.
Permission: serverutils.announcement
- set <message>
Placeholders (Requires PlaceholderAPI)
- %nysxlserverutils_announcement%: Displays the current server announcement message.
- (More placeholders may be registered depending on configuration/use)
NysxlUtilities serves as a core library, providing robust and reusable components essential for other Nysxl plugins and offering useful standalone utilities.