NysxlUtilities icon

NysxlUtilities -----

Library required for my plugins.



[​IMG]

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 ✨

  • 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).
  • 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)​
  • /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
  • /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


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.
Resource Information
Author:
----------
Total Downloads: 228
First Release: Mar 6, 2024
Last Update: Apr 17, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings