Added a new feature, claim taxes!! Server owners can configure taxes for claim owners based on the total size all of their claims combined.
Everything is configurable in the config. Please add this new section.
Code (YAML):
# Claim taxes (charged per period, based on TOTAL claimblocks owned by a player)
claim-tax:
enabled
: true
# What claimblocks are counted for tax calculation
basis
:
# Tax is based on the sum of all claim sizes a player OWNS.
include:
owned-claims
: true
# If you ever add "co-owned/shared" claim ownership, keep these off by default:
trusted-claims
: false
admin-claims
: false
# When and how often tax is collected
billing
:
# DAILY | WEEKLY | MONTHLY
period
: WEEKLY
# Time of day in server timezone
charge-at
:
"03:00"
# Payment methods, AUTOMATIC | MANUAL (from /claimflag gui)
payment-method
: AUTOMATIC
# If payment fails, try again automatically
retry:
enabled
: true
interval-minutes
: 30
max-attempts
: 48
# 48 attempts * 30m = 24 hours of retries before giving up
# Pricing model: picks a €/claimblock rate based on total claimblocks, then total = totalBlocks * rate
pricing
:
# Used when total claimblocks is smaller than the first bracket (or brackets disabled/empty)
base:
cost-per-claimblock
: 0.10
size-scaling:
enabled
: true
# Brackets are matched by TOTAL claimblocks owned by the player.
# Rule: pick the bracket with the highest min-claimblocks that is <= total.
brackets:
- min-claimblocks
: 40000
cost-per-claimblock
: 0.10
- min-claimblocks
: 80000
cost-per-claimblock
: 0.15
- min-claimblocks
: 160000
cost-per-claimblock
: 0.20
- min-claimblocks
: 320000
cost-per-claimblock
: 0.25
- min-claimblocks
: 640000
cost-per-claimblock
: 0.35
- min-claimblocks
: 1280000
cost-per-claimblock
: 0.45
- min-claimblocks
: 2560000
cost-per-claimblock
: 0.50
# What happens if the player can't pay
enforcement
:
# If true, unpaid tax creates "debt" and their claims can be frozen until debt is cleared
# Freeze ALL claims the player owns
freeze-on-nonpayment
: true
# Automatically unfreeze when the player pays off their debt
auto-unfreeze-on-paid
: true
# If you allow debt to accumulate, you can also cap it (optional)
debt:
enabled
: false
max-debt
: 1000000
# set to 0 or remove to disable a cap
# Messages
messages
:
# Claim taxes messages
charged
:
"&7Claim tax charged: &a€{amount}&7 ({totalClaimBlocks} blocks @ €{rate}/block)."
insufficient-funds
:
"&cYou couldn't pay your claim tax (&a€{amount}&c). Your claims are now frozen."
frozen-reminder
:
"&cYour claims are frozen due to unpaid claim tax. Debt: &a€{debt}&c."
unfrozen
:
"&aThanks! Your claim tax debt is cleared and your claims are unfrozen."
- Reduced lag spikes caused by claim checks while players move.
- Movement checks now run less often (only when a player changes block), with a small cooldown to prevent spam.
- Heavy work is handled in the background so the main server thread stays responsive.
- Claim protection is now more consistent across breaking/placing blocks, interactions, and projectiles.
- Startup is more reliable, especially on Docker/Pelican/container hosts.
- Reduced the chance of startup errors like “database is full” on busy servers.
- Claim visit history is automatically cleaned up and rate-limited so the database doesn’t grow forever.
- Automatic fixes/cleanup for older or messy data (including duplicate trust entries) to prevent upgrade/startup issues.
- Added clearer console logging when storage/temp limits are the real cause of an error.
Please consider leaving a good review for the plugin.
Discord Support