- Fixes issues with commands being delivered but never cleared, especially if those commands used delays
- Resolves an issue where the /buy UI would not appear on latest versions
2.4.0
=====
- Feature/Fix: XUIDs are now supported, verified with Floodgate API. This resolves issues delivering commands on Geyser stores.
- Feature: Support for Fabric 26.1
- Feature: Bedrock checkout links will instruct the user to type the checkout link into their browser.
- Fix: Improper class name for Bungee plugin
**Notice**: Fabric versions prior to 26.1 are no longer supported after this version.
Fix: UUID matching not working properly for offline players / Geyser servers
Fix: Duplicated command queue handling for Folia
Fix: Permission checks on certain Fabric versions
Fix: /buy GUI will no longer show if a store is not connected
Fix: ArrayIndexOutOfBounds exception for multithreaded servers
Fix: Memory optimization and thread-safety improved for Fabric and BungeeCord
Fix: Backwards compatibility support for all GUI colors
Fix: Incorrect telemetry sent from Fabric plugins
Fix: ClassCastException on certain store types when commands are executed
This build resolves the `Unexpected status code when sending server events` caused by excessive precision in date format.
Notice: This is the final supported build for Fabric 1.20.1 and 1.20.4.
- Feature: A build for Fabric 1.21.4 is now available (Thanks @ZekeZDev)
- Feature: Better command suggestions on Velocity (Thanks @RealBauHD)
- Fix: Create coupon caused unnecessary RuntimeException if `Cart` used as effective type
- Fix: /information request was duplicated on plugin enable
- Fix: Some requests would attempt to run if secret key was not set or invalid
- Fix: Proper version string replacement in all variants
- Fix: Improvements to debug logging
Feature: Player IP addresses for join events are now anonymized before sending to Tebex
Fix: Online commands did not respect command delays
Fix: Server events use Instant.now() for UTC timing.
Fix: Buy GUI now appropriately re-sizes according to number of packages in a category.
This version resolves the majority of cross-version and inter-plugin issues experienced on the current Bukkit variant.
- Bukkit/Spigot/Paper support: 1.8.8+
- BungeeCord support: 1.18+
- Velocity support: API 3.3.0 and above
- Fabric support: 1.20.1, 1.20.4, 1.21.1
Fixes
- `java.lang.NoSuchMethodError: com.google.gson.JsonArray.add` on certain Minecraft versions fixed
- Join event queue could become too large and indefinitely fail to send
- Triumph dependency made redundant (Bukkit)
- sgui dependency made redundant (Fabric)
- `tebex reload` now appropriately reloads the buy command
- `com.google.gson` is now relocated to avoid version conflicts
- `com.cryptomorin.xseries` is now relocated to avoid conflicts
- Improved tracking of warning and error events relating to processing player commands
- An appropriate `User-Agent` is now set for Tebex API requests
- Store listings are always appropriately refreshed after setting a secret key
- Updated all remaining dependencies
Features
- Improved warning and error logs. All warnings will suggest solutions. Revised which errors and data are sent automatically to Tebex.
Fixes
- /buy command no longer causes the crashing/errors affecting 1.20.6 and 1.21
- isBuyCommandEnabled setting was ignored in previous versions and now works properly
This update includes fixes for Velocity servers that would not consistently run commands without requiring a restart.
Fixes
- Checks for commands would not be rescheduled if an error occurred, preventing commands from being checked until server restart
- Commands that required slots and delays incorrectly used the delay value as the number of slots required
- Improvements to error reporting system
- `/tebex report` did not allow for multiple words
- `/tebex lookup` no longer causes an error if the player had no purchases, and has more descriptive error messaging
- Version did not not appear correctly in Velocity
- Version did not appear correctly in Fabric
- Index out of bounds if `/tebex debug` is used without an arg on Velocity
This update addresses issues with command variables such as {id} and {name} not being parsed properly on Geyser/Offline servers.
2.0.4
Fixes
- The `{id}` parameter is now properly replaced on Geyser and Minecraft Offline/Geyser store types. For offline servers, it will be replaced with the user's name. For online servers, this will be the player's UUID.
- Fix for `java.lang.String cannot be cast to class java.util.UUID` on Offline/Geyser servers
- Fixed the use of deprecated characters directly in components in the Velocity module
- Relocated Adventure to prevent conflicts with older Adventure APIs on the server
This update addresses reported issues for Geyser/Bedrock servers and certain offline setups. Previous fixes in 2.0.2 did not address problems that would occur on these types of servers.
Features
- SDK:
{uuid} command parameter is now filled by the plugin if a uuid is available and not filled by Tebex API
Fixes
-
Minecraft Offline/Geyser: Offline actions (such as removing groups) with no payment or package attached will now be processed properly.
-
Minecraft Offline/Geyser: Certain types of offline commands still could not be parsed and executed, causing console errors.
-
Bukkit:
/sendlink now sends the checkout link to the target player
-
SDK:
mojangIdToJavaId() no longer returns a null ID if any provided parameters are null
This update resolves reported problems with servers running in
offline mode, as well as several other various reported issues.
Changelog:
Features
- Improvements to debug mode showing relevant HTTP request and response data
-
/tebex lookup provides more in-depth feedback when users are not found
Changes
-
`tebex ban no longer requires an ip or reason
Fixes
- Servers running offline mode are now able to process commands
- Online commands are handled more efficiently on large servers to avoid rate limits (code 429)
- Fix for
`Failed to get online commands: java.lang.UnsupportedOperationException: JsonNull` caused by online commands with no package reference
-
/tebex sendlink incorrectly used player id instead of username
- Fix
/tebex report now sends the entire report
- Arguments such as
{id} and
{username} are now properly parsed for all command types
This update addresses issues migrating from previous versions of BuycraftX, as well as issues setting the secret key via command, which could put the plugin in an errored state where no commands would execute until the server was restarted.
Changelog
- Command usage instructions are now shown if incorrect/not enough args are used
- Store information was not properly reloaded after running
/tebex secret, causing errors until the server was restarted.
- /
tebex lookup now uses the appropriate endpoint
- Some commands' usage instructions improperly included a `.` in the command name
-
/tebex report now properly sends all report information to Tebex