BTClaims Extension
Advanced Chunk Claiming System for BetterTeams
Version 1.8 | Requires BetterTeams 5.1.2
Overview
BTClaims Extension is a powerful chunk-based land claiming addon for BetterTeams that allows teams to protect their territory, manage grief protection, and control land ownership through an economy-based system.
Key Highlights:
- Economy-based claiming system
- ️ Comprehensive grief protection
- Flexible claim limits (static or purchasable)
- Per-chunk protection settings
- Visual chunk boundaries
- Highly configurable
⚠️ Dependencies
Required:
Optional:
- Vault - Compatible economy plugin (used by BetterTeams)
- WorldEdit & World Guard - If you enable worldguard_hook!
✨ Features
Land Claiming
- Claim chunks for your team using team balance
- Only team admins and owners can manage claims
- Configurable claim costs and refund percentages
- Distance restrictions from other teams' claims
- Visual chunk borders when claiming/unclaiming
Grief Protection
- TNT explosion control
- Creeper explosion protection
- Wither explosion management
- Other explosions (Ghasts, End Crystals, Respawn Anchors)
- Chest access protection
- Interaction control (doors, buttons, levers, trapdoors)
- ⚙️ Piston push/pull protection
- Mob griefing control (Endermen block movement, etc.)
Claim Management
- GUI-based claim list viewer
- GUI-based grief settings per claim
- Teleport to your claims
- Easy claim removal with refunds
- Automatic cleanup on team disband
Economy System
- Pay to claim chunks from team balance
- Configurable refund percentage on unclaim
- Optional purchasable claim slot system
- Buy additional claim slots beyond starter amount
Commands
Player Commands
Code (Text):
/team claim - Claim the chunk you're standing in
/team unclaim - Unclaim the chunk you're standing in
/team claimlist - View all your team's claims (GUI)
/team claims - Alias for claimlist
/team grief - Open grief protection settings (must be in your claim)
/team buyclaimslot - Purchase an additional claim slot (if enabled)
/team buyslot - Alias for buyclaimslot
/team border - Toggle on/off border visual effects
/team particles - Open particles GUI
Admin Commands
Code (Text):
/team claim - Claim the chunk you're standing in
/teama claims unclaim <team> - Unclaim the chunk you're standing on from a specific team
/teama claims unclaimall <team> - Unclaim All chunks owned by a specific team
/teama claims help - View claim help page
Player Alies Commands (this commands only working if you enable claim-config: alias-commands: true )
Code (Text):
/claim claim - Claim the chunk you're standing in
/claim unclaim - Unclaim the chunk you're standing in
/claim claimlist - View all your team's claims (GUI)
/claim claims - Alias for claimlist
/claim grief - Open grief protection settings (must be in your claim)
/claim buyclaimslot - Purchase an additional claim slot (if enabled)
/claim buyslot - Alias for buyclaimslot
/claim border - Toggle on/off border visual effects
/claim particles - Open particles GUI
Permission Requirements:
- All commands require player to be in a team
- Claim management requires ADMIN or OWNER rank in team
- Grief settings require ADMIN or OWNER rank in team
⚙️ Configuration
claim-config.yml
Code (Text):
# BTClaimsExtension Configuration
settings:
database-type: "sqlite"
alias-commands: false
economy:
claim-cost: 1000.0
unclaim-refund-percentage: 50
starting-balance: 1000 #when teams get created team balance will recive 1000$, if you don't want use change to 0!
claim-limits:
purchasable-claim-slots: false
starter-claims-per-team: 10
claim-slot-cost: 5000.0
max-purchasable-slots: 50
max-claims-per-team: 10
min-distance-from-other-teams: 3
protection-defaults:
allow-tnt-default: false
allow-creeper-default: false
allow-wither-default: false
allow-other-explosions-default: false
allow-chest-access-default: false
allow-interact-default: false
allow-piston-default: false
allow-mob-grief-default: false
particles:
own-border-particle: "HAPPY_VILLAGER"
own-accent-particle: "HAPPY_VILLAGER"
own-ground-particle: "FLAME"
enemy-border-particle: "FLAME"
enemy-accent-particle: "LAVA"
enemy-ground-particle: "SMOKE"
world-restrictions:
mode: "whitelist" # "whitelist" or "blacklist"
worlds:
- "world"
- "world_nether"
# WorldGuard hook (optional)
worldguard_hook:
enabled: true # set to true to enable WorldGuard region checks
min-distance: 5 # minimum blocks from any region required to claim (0 = no distance check)
region-blacklist: # list of region names where claiming is completely forbidden
- "spawn"
- "arena"
# - "example"
messages:
no-team: "§cYou must be in a team to do this!"
no-permission: "§cOnly team admins can manage claims!"
error-team-data: "§cError getting team player data!"
world-not-allowed: "§cYou cannot claim chunks in this world!"
region-protected: "§cThis area is protected by WorldGuard and cannot be claimed!"
already-claimed: "§cThis chunk is already claimed by your team!"
protected: "§cThis land is protected by another team!"
max-claims-reached-purchasable: "§cYour team has no available claim slots! §7(§f{current}§7/§f{max}§7) §ePurchase more with §f/team buyclaimslot"
max-claims-reached: "§cYour team has reached the maximum claim limit! (§f{max}§c)"
too-close: "§cThis chunk is too close to another team's claim! Minimum distance: §f{distance} chunks"
insufficient-funds: "§cYour team doesn't have enough money! Need: §f${cost}"
claim-success-title: "§a▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬"
claim-success-line1: "§a✓ Chunk successfully claimed!"
claim-success-cost: "§7Cost: §f${cost}"
claim-success-location: "§7Location: §fX: {x}, Z: {z}"
claim-success-claims: "§7Claims: §f{current} / {max}"
claim-success-footer: "§a▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬"
not-claimed: "§cThis chunk is not claimed!"
not-owned: "§cYou can only unclaim chunks owned by your team!"
unclaim-success-title: "§e▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬"
unclaim-success-line1: "§c✓ Chunk successfully unclaimed!"
unclaim-success-refund: "§7Refund: §f${refund} §7({percent}%)"
unclaim-success-location: "§7Location: §fX: {x}, Z: {z}"
unclaim-success-footer: "§e▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬"
must-be-in-own-claim: "§cYou must be standing in your team's claim!"
claim-slots-disabled: "§cClaim slot purchasing is disabled on this server!"
actionbar-own-team: "§a§lYour Team's Claim §8| §f{team}"
actionbar-enemy-team: "§c§lEntering: §f{team}"
actionbar-wilderness: "§7Entering: Wilderness"
not-in-team: "§cYou are not in a team!"
unclaimed: "§e✓ Chunk successfully unclaimed!"
particle-gui-title: "§8§lChoose Particles"
particle-gui-invalid: "§cInvalid particle name!"
gui-not-found: "§cMenu configuration not found!"
particle-gui-saved: "§a✓ Particle settings saved!"
Configuration Modes:
Purchasable Slots Mode (purchasable-claim-slots: true)
- Teams start with starter-claims-per-team free slots
- Teams can purchase more slots with /team buyclaimslot
- Each slot costs claim-slot-cost from team balance
- Maximum purchasable limited by max-purchasable-slots
- Great for progression servers!
Static Limit Mode (purchasable-claim-slots: false)
- All teams have fixed max-claims-per-team limit
- No slot purchasing available
- Simpler system for casual servers
PlaceholderAPI Support
Available Placeholders
Basic Placeholders:
Code (Text):
%btclaims_total% - Current claimed chunks
%btclaims_max% - Maximum claim slots (adapts to config mode)
%btclaims_available% - Available slots remaining
%btclaims_claim_cost% - Cost to claim one chunk
Purchasable System Placeholders:
Code (Text):
%btclaims_starter% - Starter claim slots
%btclaims_purchased% - Number of purchased slots
%btclaims_max_purchasable% - Maximum purchasable slots
%btclaims_slot_cost% - Cost to buy one claim slot
Example Usage:
Code (Text):
Claims: %btclaims_total%/%btclaims_max%
Available: %btclaims_available%
Purchased Slots: %btclaims_purchased%/%btclaims_max_purchasable%
Usage Examples
Claiming Land
- Stand in the chunk you want to claim
- Run /team claim
- Confirm you have enough money in team balance
- Chunk is now protected for your team!
Managing Protection
- Stand in your claimed chunk
- Run /team grief
- Click items in GUI to toggle protection settings
- Changes save automatically
Purchasing Claim Slots
- Ensure purchasable-claim-slots is enabled
- Run /team buyclaimslot
- Pay the slot cost from team balance
- Your team's max claims increases by 1!
️ Database
BTClaims uses SQLite for data storage:
- claims.db - Stores all claim data and protection settings
- Tables: claims, purchased_slots
- Automatic database migration and column additions
- Async save operations for performance
Installation
- Install BetterTeams 5.1.2+ - Download Here
- Place BTClaimsExtension.jar in plugins/BetterTeams/extensions/
- Restart your server
- Configure claim-config.yml to your preferences
- Reload with /teama reload or restart again
Optional Dependencies:
- Install PlaceholderAPI for placeholder support
- Install Vault compatible economy plugin (if not already installed)
Messages
All messages are customizable in claim-config.yml:
Code (Text):
messages:
no-team: "§cYou must be in a team to do this!"
no-permission: "§cOnly team admins can manage claims!"
claimed: "§a✓ Chunk successfully claimed!"
unclaimed: "§e✓ Chunk successfully unclaimed!"
protected: "§cThis land is protected by another team!"
insufficient-funds: "§cYour team doesn't have enough money! Need: §f${cost}"
max-claims-reached: "§cYour team has reached the maximum claim limit!"
max-claims-reached-purchasable: "§cNo available claim slots! Purchase more with /team buyclaimslot"
claim-slot-purchased: "§a✓ Claim slot purchased successfully!"
❓ FAQ
Q: Can individual players claim land?
A: No, only teams can claim land. Players must be team admins/owners to manage claims.
Q: What happens to claims when a team disbands?
A: All claims and purchased slots are automatically deleted from the database.
Q: Can I have unlimited claims?
A: Yes! Set max-claims-per-team or max-purchasable-slots to -1.
Q: Does it work with other claim plugins?
A: BTClaims is independent but may conflict with other claim systems. Use one or the other.
Q: Can I change from static to purchasable mode?
A: Yes! Just change purchasable-claim-slots and restart. Existing data is preserved.
Q: What Minecraft versions are supported?
A: Requires Spigot/Paper 1.21+. Recommended: 1.21.5+ for best compatibility.
Support
Found a bug or need help?
- Check the logs in console for errors
- Verify BetterTeams 5.1.2+ is installed correctly
- Ensure database permissions are correct
- Report issues with full error logs
- Include your server version and BetterTeams version
Thank you for using BTClaims Extension!
Built for BetterTeams | Chunk-based protection made easy
Compatible with BetterTeams 5.1.2+ | Get BetterTeams