Compatibility
Minecraft: Java Edition
26.1โ26.1.1
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
Platforms
Links
Tags
Creators
Details
Licensed MIT
Published yesterday
๐ฆ TaxPro
Supported Java Version: Java 17+
Supported Minecraft Versions: 1.13 - 1.20+
A high-performance, completely lag-free economy and taxation plugin for Spigot/Paper servers. Built to handle massive player bases with seamless GriefPrevention and Vault integration.
๐ Table of Contents
- โจ Features
- ๐ป Commands
- ๐ Permissions
- ๐ท๏ธ Placeholders
- โ๏ธ Default Configuration (
config.yml) - ๐ฌ Default Messages (
messages.yml) - ๐ฅ Installation
- ๐ ๏ธ Building
โจ Features
- ๐ Progressive Wealth Tax: Automatically runs margin-based wealth tax deductions based on configured tiered brackets.
- ๐ก Land Tax: Taxes players for their active or unused GriefPrevention claim blocks. Includes a sophisticated strike-system that automatically unclaims abandoned properties.
- ๐ Death Penalties: Highly configurable wallet percentage deductions with world exemptions (e.g., bypass in PvP Arenas).
- ๐ธ Command Fees: Charge players in-game money for running commands. Supports custom grouped fees and individual granular overrides with dynamic bypass permissions.
- โฑ๏ธ Dynamic Data Persistence: All timers use persistent Unix timestamps. Even if your server crashes or goes offline for a week, it perfectly tracks exactly when the next tax is due!
- โก Asynchronous Optimization: Implements background batch processing. TaxPro safely executes heavy calculations on separate threads, guaranteeing it will never cause a server TPS drop.
๐ป Commands
| Command | Description | Permission Required |
|---|---|---|
/tax help |
Shows the plugin help menu | tax.admin |
/tax stats |
View your personal projected taxes, due dates, and strikes | tax.command.stats |
/tax forcewealth |
Force the wealth tax cycle and reset the timer | tax.admin |
/tax forceland |
Force the daily land tax cycle and reset the timer | tax.admin |
/tax reload |
Reloads all configurations and messages | tax.admin |
๐ Permissions
| Permission Node | Description | Default |
|---|---|---|
tax.admin |
Access to administrative commands | OP |
tax.command.stats |
Access to view personal stats | True |
tax.exempt.wealth |
Exempts the user from the wealth tax | False |
tax.exempt.land |
Exempts the user from the land tax | False |
tax.exempt.deathpenalty |
Exempts the user from dropping money on death | False |
tax.exempt.commandfees |
Master bypass for all command fees | False |
tax.exempt.commandfees.<group> |
Granular bypass for a specific command fee group | False |
๐ท๏ธ Placeholders
(Requires PlaceholderAPI)
| Placeholder | Returns |
|---|---|
%taxpro_wealth_projected% |
Projected wealth tax cost (e.g., $150.00 or Exempt ($0.00)) |
%taxpro_land_projected% |
Projected land tax cost based on current claims |
%taxpro_strikes% |
Current land tax penalty strikes |
%taxpro_strikes_max% |
The server's configured maximum strikes |
โ๏ธ Default Configuration (config.yml)
# ==========================================
# TaxPro - Main Config
# ==========================================
General:
Prefix: "&b&lTaxPro &7ยป &f"
Debug-Mode: false
# Enable logging tax deductions and payments to taxes.log
Log-Transactions: true
Integrations:
# Requires Vault and a valid Economy provider (e.g., EssentialsX, CMI)
Vault-Enabled: true
# Requires GriefPrevention
GriefPrevention-Enabled: true
Wealth-Tax:
Enabled: true
# Should the tax run automatically based on its frequency? Set to false to only allow manual /tax forcewealth
Auto-Run: true
# Frequency in hours (168 = 1 week)
Frequency-Hours: 168
Brackets:
# Marginal tax system: Only taxes the amount within the bracket
Tier1:
Min: 0
Max: 25000
Rate: 0.0
Base-Fee: 0.0
Tier2:
Min: 25001
Max: 100000
Rate: 0.02
Base-Fee: 500.0
Tier3:
Min: 100001
Max: 500000
Rate: 0.05
Base-Fee: 5000.0
Tier4:
Min: 500001
Max: 2000000
Rate: 0.08
Base-Fee: 40000.0
Tier5:
Min: 2000001
Max: -1 # -1 represents infinity
Rate: 0.10
Base-Fee: 200000.0
Land-Tax:
Enabled: true
# Should the tax run automatically based on its frequency? Set to false to only allow manual /tax forceland
Auto-Run: true
# Frequency in hours (24 = 1 day)
Frequency-Hours: 24
cost-Per-Claim-Block: 0.01
# Tax-Method can be:
# 'USED' (only blocks currently physically placed/claimed)
# 'REMAINING' (blocks sitting in their pool that are NOT physically claimed yet)
# 'TOTAL' (their entire block pool unconditionally: Used + Remaining combined)
Tax-Method: "USED"
Penalty-System:
# Max strikes before action is taken
Max-Strikes: 2
# Action on max strikes: 'UNCLAIM_OLDEST', 'UNCLAIM_ALL', or 'CUSTOM_COMMAND'
Punishment: "CUSTOM_COMMAND"
# The command to dispatch from console if Punishment is set to CUSTOM_COMMAND
Custom-Command: "cmi jail %player% 1h not paying taxes"
Death-Penalty:
Enabled: true
# Percentage of current wallet balance lost on death
Wallet-Percentage: 0.01
# Minimum balance required for the penalty to apply (protects new players)
Exempt-Below: 1000.0
# Maximum amount that can be lost in a single death (set to -1 for no cap)
Max-Penalty: -1
# List of worlds where the death penalty does NOT apply
Exempt-Worlds:
- "spawn"
Command-Fees:
Enabled: true
# Players only receive a message if they have insufficient funds.
Exempt-Below: 500.0
# Grouped prices: Apply the same fee to a list of commands
Groups:
Teleportation:
Price: 25.0
Commands:
- "tpa %" # % represents wildcard
- "tpaccept"
- "home"
# Individual prices: Overrides group prices if a command appears in both
Individual:
"ec": 50.0
"feed": 15.0
"repair": 500.0
๐ฌ Default Messages (messages.yml)
Wealth-Tax:
Broadcast-Start: "%prefix%&eThe weekly Wealth Tax is now being processed..."
Broadcast-End: "%prefix%&aWealth Tax collection complete. Thank you for supporting the economy!"
Player-Receipt: "%prefix%&7The Taxman has collected &c$%amount% &7based on your wealth bracket. New Balance: &a$%balance%. &7Run [/tax stats] for more information."
Exempt: "%prefix%&a[Tax] &7Your wealth falls under the taxation threshold. You are exempt from the Wealth Tax this week."
Land-Tax:
Broadcast-Start: "%prefix%&bThe daily Land Tax is now being processed..."
Broadcast-End: "%prefix%&aLand Tax collection complete. All properties evaluated! test"
Player-Receipt: "%prefix%&7Paid &c$%amount% &7upkeep to taxman for &b%blocks% &7claim blocks. New Balance: &a$%balance%. &7Run [/tax stats] for more information."
Strike-Warning: "%prefix%&e[Warning] &cYou had insufficient funds to pay your Land Tax! &7Strike: &c%strikes%/2&7. Fund your account to avoid claim deletion!"
Strike-Action: "%prefix%&4[ALERT] &cYou failed to pay your Land Tax for multiple days."
Death-Penalty:
Death-Message: "%prefix%&8[&4Death&8] &7The Styx toll has been collected. You lost &c$%amount% &7from your wallet."
Command-Fees:
Insufficient-Funds: "&cYou need $%amount% to use this command. Your balance: $%balance%"
Errors:
No-Permission: "&cYou do not have permission to do this."
Vault-Error: "&4Critical Error: Vault integration failed. Please contact an administrator."
Stats:
Player-Stats:
- "&8&m--------&r &eYour Tax Stats &8&m--------"
- "&eProjected Wealth Tax: &c-$%wealth_tax_amount% &7(Due in: %wealth_time_remaining%)"
- "&eProjected Land Tax: &c-$%land_tax_amount% &7(Due in: %land_time_remaining%)"
- "&cActive Penalties: %strikes% Strike(s)"
- "&8&m-----------------------------"
Tax-Exempt-Format: "&aExempt ($0.00)"
๐ฅ Installation
- Drop the compiled
TaxPro-1.0-SNAPSHOT.jarinto your server's/pluginsfolder. - Ensure you have Vault installed along with an economy provider (like EssentialsX or CMI).
- Optionally, install GriefPrevention to utilize the Land Tax feature.
- Restart your server.
๐ ๏ธ Building
- Download the source code from Github.
- Compile the plugin using Maven:
mvn clean package


