TebexClaimSystem is a Minecraft 1.8 Bukkit/Spigot plugin that lets players claim Tebex purchases in-game through a custom GUI and allows players to collect their purchases the next time they are online.
- Accepts Tebex-delivery style commands from console:
tebexclaimsystem add <username> <productName> <quantity> - Stores pending claims in a flat YAML file so claims survive restarts
- Notifies players on join when they have pending items
- Sends online reminder messages every 30 minutes to players with pending claims
- Opens a GUI with one entry per pending product plus a Claim All button
- Checks free inventory space before claiming
- Executes configurable product commands with
{player}placeholders - Logs each claim with timestamp, player, product, and quantity
- Build the plugin jar.
- Put the jar in your server's
plugins/folder. - Start/restart the server.
- Edit
plugins/TebexClaimSystem/config.ymlto match your products/commands. - Reload/restart after config changes.
/tebexclaimsystem- Opens the claim GUI for players.- Aliases:
/tcs,/claimstore,/claims,/webstoreclaim,/wsc. tebexclaimsystem add <username> <productName> <quantity>- Console-only command (intended for Tebex delivery)./tebexclaimsystem reload- Reloadsconfig.ymlwithout restarting the server (tebexclaimsystem.reload, defaultop).
tebexclaimsystem add Notch vip_rank 1
tebexclaimsystem add Notch starter_kit 2
Main config file: plugins/TebexClaimSystem/config.yml
Define each claimable product by ID. The ID must match what Tebex sends as <productName>.
displayName- Name shown in GUIitemMaterial- GUI icon materialrequiredSlotsPerUnit- Space check amount per purchased unitcommands- Commands run on claim (supports{player}and{quantity})
Example:
products:
vip_rank:
displayName: "&6VIP Rank"
itemMaterial: "EMERALD"
requiredSlotsPerUnit: 1
commands:
- "lp user {player} parent set vip"
starter_kit:
displayName: "&bStarter Kit"
itemMaterial: "CHEST"
requiredSlotsPerUnit: 2
commands:
- "give {player} diamond_sword 1"
- "give {player} bread 16"title- Inventory titlesize- Inventory size (9-54, rounded to a multiple of 9)claimAllSlot- Slot index for Claim All buttonclaimAllName/claimAllMaterial- Claim All button displayquantityLore- Lore line for quantity text
All player-facing and feedback messages are configurable.
- Prefix token:
{prefix} - Color support:
&color codes
Created in plugins/TebexClaimSystem/:
pending-claims.yml- Current pending claims per player/productclaim-log.txt- Claim audit log entries
pending-claims.yml is updated immediately whenever claims are added or removed.
- Tebex (or console) runs
tebexclaimsystem add ... - TebexClaimSystem stores pending quantity for that player/product
- Player joins and gets a notification if pending claims exist
- Player opens
/tebexclaimsystem(or any configured alias) - Player clicks one item or Claim All
- Plugin validates available inventory slots
- If valid, product commands are dispatched and pending entry is removed
- Claim is written to
claim-log.txt
Windows PowerShell:
.\gradlew.bat buildLinux/macOS:
./gradlew buildRun tests:
.\gradlew.bat testunknown productmessage: ensure Tebex product ID exactly matches a key underproducts.- Player cannot claim due to space: increase empty inventory slots or tune
requiredSlotsPerUnit. - Console command denied in-game:
addis intentionally restricted to console senders. - No GUI items: verify
pending-claims.ymlhas entries and product IDs exist inconfig.yml.