
X-Commands
You can create custom commands with an interactive GUI.
Оцените первым
424
2
Список изменений
🚀 X-Commands v2.7 - Changelog
🛡️ Security Fixes
- Added null byte (
\0) and control character removal in command sanitization (ConsoleAction,PlayerAction) to prevent potential injection exploits. - Fixed
PermissionConditionallowing server operators to bypass LuckPerms negation nodes — OP players are now properly checked against negative permissions.
🐛 Bug Fixes
- Fixed
CommandManagerstill referencing old template names (ejemplo.ymlandaviso.yml) instead of the renamedexample.ymlandannounce.yml, causing command creation to fail. - Fixed
HealActioncrashing on servers running pre-1.20.6 due to direct use oforg.bukkit.Registry.ATTRIBUTE. Added fallback compatibility usingAttribute.valueOf(). - Fixed
UpdateCheckerthrowingNumberFormatExceptionwhen parsing version strings likev1.0.0-beta, which caused the update checker to crash silently. - Fixed
ActionsMenunot finding commands case-insensitively, causing commands with uppercase letters to not appear in the menu. - Fixed
SchedulerUtilsthread safety issues — task references are nowvolatileto prevent race conditions. - Fixed
CompatibilityUtils.isPapernot beingvolatile, causing unreliable Paper detection from async threads. - Fixed
ConfigUpdatercrashing withNullPointerExceptionwhen a resource template was missing from the JAR. - Fixed
VelocityActionsending messages through theBungeeCordchannel, which Velocity doesn't listen to. Added console warning and corrected channel usage. - Fixed
KickActionapplying double color translation, which could corrupt formatted kick messages. - Fixed
BaseMenusharing a single mutableItemStackreference across all empty glass pane slots — modifying one would corrupt all others. - Fixed
LocateCommandshowing a misleading "language changed" message when only displaying the current language. - Fixed
SendToActionusing tag"SENT_TO"instead of the expected"SEND_TO", causing proxy forwarding to fail. - Fixed
EffectActionunnecessarily initializing a variable tonull. - Fixed
MenuHolder.getInventory()potentially returningnullon plugin disable. - Fixed
InventoryListenershowing hardcoded Spanish text ("Anterior"/"Siguiente") as fallback for pagination buttons instead of using translated keys. - Fixed
LoggerUtilseagerly initializingBukkit.getConsoleSender()at class load time, which could fail during early startup. - Fixed 9 silently swallowed exceptions in
CompatibilityUtils— all compatibility checks now log debug messages on failure for easier troubleshooting.
🔧 Code Quality
- Added
volatilemodifier to all fields accessed from async threads (UpdateChecker,SchedulerUtils,CompatibilityUtils) to ensure proper memory visibility. - Improved error handling and logging across the entire codebase for better diagnostics.
- Reduced code duplication in proxy-related actions (
BungeeAction,VelocityAction,SendToAction). - Cleaned up unnecessary initializations and dead code.
- Standardized error messages to use language keys instead of hardcoded strings.
Файлы
X-Commands.jar(292.77 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
2.7
Загрузчики
BukkitFoliaPaperPurpurSpigot
Версии игры
1.18.2–26.1.2
Загрузок
40
Дата публикации
07.06.2026
