JennyProtects
Complete Documentation
Version 1.0.3 - Technical Reference Guide
Table of Contents
- Installation & Setup
- Getting Started Guide
- Commands Reference
- Permissions System
- Configuration Guide
- Trust System
- Biome System
- GUI Interfaces
- Multi-Language Support
- Database Management
- Troubleshooting
- Developer API
1. Installation & Setup
Requirements:
- Spigot or Paper server (1.17.x - 1.21.x)
- Java 17 or higher
- Minimum 512MB RAM allocated
Optional Dependencies:
- Vault - Economy integration for biome costs
- Essentials - Full compatibility
Installation Steps:
- Download JennyProtects-1.0.3.jar
- Place in your server's plugins folder
- Install Vault (optional) for economy features
- Start or restart your server
- Plugin auto-generates configuration files
- Edit plugins/JennyProtects/config.yml as needed
- Use /jennyprotects reload to apply changes
File Structure Created:
Code (Text):
plugins/JennyProtects/
├── config.yml
├── database.db
└── languages/
├── messages_en.yml
├── messages_pt_br.yml
├── messages_es.yml
├── messages_it.yml
├── messages_ru.yml
└── messages_zh.yml
2. Getting Started Guide
For Players - Creating Your First Claim:
- Get Golden Shovel
- Use /claimtool command
- Or craft a golden shovel
- Select First Corner
- Right-click a block
- Message: "First corner set!"
- Select Second Corner
- Right-click another block
- Particle outline appears showing boundaries
- Confirm or Cancel
- Shift + Right-click to confirm
- Right-click to cancel
- Done!
- Your claim is now protected
- Particles show boundaries (500ms cooldown)
What Your Claim Protects:
- Block breaking/placing
- Container access (chests, furnaces, hoppers)
- Entity damage (mobs, animals, players)
- PvP combat
- Explosion damage (creepers, TNT, etc)
- Crop trampling (farmland protection)
For Administrators - Initial Configuration:
- Set claim size limits in config.yml
- Configure claim blocks allocation
- Enable/disable specific worlds
- Setup economy costs (requires Vault)
- Choose server language
- Configure protection settings
- Setup database backup intervals
3. Commands Reference
Player Commands:
/claim
Create a new claim with golden shovel
Aliases: /terreno, /proteger, /territorio
Permission: jennyprotects.claim
/trust <player>
Open trust level selection GUI
Aliases: /confiar
Permission: jennyprotects.trust
Usage: /trust Steve
/untrust <player>
Remove player from trust list
Permission: jennyprotects.trust
Usage: /untrust Steve
/trustlist
List all trusted players in current claim
Permission: jennyprotects.trust
/claimlist
View all your claims in GUI
Permission: jennyprotects.list
/claiminfo
View detailed information about current claim
Permission: jennyprotects.info
/abandonclaim
Delete the claim you're standing in
Aliases: /abandonar
Permission: jennyprotects.abandon
Requires confirmation: /abandonclaim confirm
/setbiome <biome>
Change your claim's biome
Permission: jennyprotects.setbiome
Usage: /setbiome list (view available)
Usage: /setbiome PLAINS (change to plains)
/claimtool
Receive a golden shovel tool
Permission: jennyprotects.claim
/claimgui
Open claims management GUI
Permission: jennyprotects.list
Admin Commands:
/jennyprotects
Main plugin command, shows status
No permission required
/jennyprotects reload
Reload configuration files
Permission: jennyprotects.reload
/jennyprotects admin deleteclaim <player>
Delete a player's claim
Permission: jennyprotects.admin
/jennyprotects admin info <player>
View player claim statistics
Permission: jennyprotects.admin
4. Permissions System
Player Permissions:
Code (Text):
jennyprotects.claim - Create and manage claims (default: true)
jennyprotects.trust - Manage trusted players (default: true)
jennyprotects.untrust - Remove trusted players (default: true)
jennyprotects.abandon - Delete own claims (default: true)
jennyprotects.info - View claim information (default: true)
jennyprotects.list - List own claims (default: true)
jennyprotects.setbiome - Change claim biomes (default: true)
Admin Permissions:
Code (Text):
jennyprotects.admin - Full administrative access (default: op)
jennyprotects.reload - Reload configuration (default: op)
jennyprotects.admin.bypass - Bypass all protections (default: op)
Bonus Block Permissions:
Grant extra claim blocks to players or groups:
Code (Text):
jennyprotects.blocks.bonus.1000 - +1000 bonus blocks
jennyprotects.blocks.bonus.5000 - +5000 bonus blocks
jennyprotects.blocks.bonus.10000 - +10000 bonus blocks
Example using LuckPerms:
Code (Text):
/lp user Steve permission set jennyprotects.blocks.bonus.5000 true
/lp group vip permission set jennyprotects.blocks.bonus.1000 true
5. Configuration Guide
Claim Settings:
Code (Text):
claims:
min-size: 10 # Minimum claim size (10x10)
max-size: 500 # Maximum claim size (500x500)
max-claims-per-player: 5 # Max claims per player
initial-blocks: 500 # Starting claim blocks
blocks-per-hour: 100 # Blocks earned per hour
buffer-distance: 10 # Space between claims
afk-detection:
enabled: true # Enable AFK detection
timeout: 600 # 10 minutes without movement
World Settings:
Code (Text):
worlds:
mode: whitelist # whitelist or blacklist
enabled-worlds:
- world
- world_nether
- world_the_end
Protection Settings:
Code (Text):
protection:
block-break: true # Protect from breaking
block-place: true # Protect from placing
container-access: true # Protect containers
entity-damage: true # Protect entities
pvp: true # Disable PvP in claims
explosions: true # Prevent explosions
crop-trample: true # Protect farmland
button-press: true # Protect buttons
lever-toggle: true # Protect levers
door-open: true # Protect doors
Biome Settings:
Code (Text):
biome:
enabled: true # Enable biome changes
cost:
enabled: true # Require payment (Vault)
amount: 1000.0 # Cost per change
cooldown: 86400 # 24 hours in seconds
daily-limit: 3 # Max changes per day
Visualization Settings:
Code (Text):
visualization:
particle: VILLAGER_HAPPY # Particle type
cooldown: 500 # Cooldown in milliseconds
density: 2 # Blocks between particles
Database Settings:
Code (Text):
database:
type: sqlite # Database type
backup:
enabled: true # Enable auto backups
interval: 3600 # Every hour
format: json # json or sql
Language Settings:
Code (Text):
language: en # en, pt_br, es, it, ru, zh
date-format: "yyyy-MM-dd HH:mm:ss"
6. Trust System
Trust Levels Explained:
NONE (Default)
- No access to claim
- Cannot break or place blocks
- Cannot open containers
- Cannot interact with anything
- All protections active
ACCESS
- Can open containers (chests, furnaces, etc)
- Can use buttons, levers, doors
- Can interact with entities
- CANNOT break or place blocks
- Perfect for: Friends who need storage access
FULL
- All ACCESS permissions included
- Can break blocks
- Can place blocks
- Full build rights within claim
- Perfect for: Building partners, co-owners
Managing Trust via Commands:
- Stand in your claim
- Use /trust PlayerName
- GUI opens with trust level options
- Click ACCESS or FULL to grant permission
- Player receives notification
Remove trust:
Code (Text):
/untrust PlayerName
List trusted players:
Trust Management GUI:
Open with
/trust PlayerName or via claim list GUI
- View all trusted players
- Click player head to remove trust
- Add new players with + button
- Visual trust level indicators
7. Biome System
50+ Available Biomes:
Overworld:
PLAINS, FOREST, TAIGA, SWAMP, JUNGLE, DESERT, SAVANNA, MOUNTAINS, OCEAN, RIVER, BEACH, MUSHROOM_FIELDS
Cold Biomes:
SNOWY_PLAINS, ICE_SPIKES, FROZEN_RIVER, SNOWY_TAIGA, FROZEN_OCEAN
Hot Biomes:
DESERT, BADLANDS, SAVANNA
Special Biomes:
MUSHROOM_FIELDS, FLOWER_FOREST, BAMBOO_JUNGLE, CHERRY_GROVE, DEEP_DARK
How to Change Biomes:
- Stand in your claim
- View available biomes:
Code (Text):
/setbiome list
- Change to desired biome:
Code (Text):
/setbiome PLAINS
- Cost deducted (if Vault enabled)
- Biome changes immediately
- Players may need to reload chunks (F3+A)
Requirements:
- Must own the claim
- Must have economy balance (if cost enabled)
- Must respect cooldown period (default: 24 hours)
- Cannot exceed daily limit (default: 3 changes)
Economy Integration:
Requires Vault + economy plugin (EssentialsX, etc)
Code (Text):
biome:
cost:
enabled: true
amount: 1000.0 # Cost per change
8. GUI Interfaces
1. Claim List GUI
Command:
/claimlist or
/claimgui
Features:
- View all your claims
- Left-click to teleport to claim
- Shift + Left-click to delete claim
- Shows claim size and location
- Displays trusted player count
2. Trust Management GUI
Command:
/trust PlayerName (while in claim)
Features:
- View all trusted players
- Click player head to remove trust
- Add new players with + button
- Visual player head icons
- Easy trust level management
3. Trust Level Selector GUI
Opens after:
/trust PlayerName
Features:
- Choose trust level (ACCESS or FULL)
- Visual descriptions of each level
- Instant application
- Clear permission explanations
4. Biome Selector GUI
Command:
/setbiome (without arguments)
Features:
- Browse 50+ available biomes
- Visual biome icons
- Shows costs for each biome
- Instant biome change on click
9. Multi-Language Support
6 Fully Translated Languages:
- English (en) - 150+ messages
- Portuguese Brazil (pt_br) - 150+ messages
- Spanish (es) - 150+ messages
- Italian (it) - 150+ messages
- Russian (ru) - 150+ messages
- Chinese (zh) - 150+ messages
Setting Language:
Code (Text):
# config.yml
language: en # Options: en, pt_br, es, it, ru, zh
Command Aliases by Language:
Portuguese:
Code (Text):
/terreno → /claim
/confiar → /trust
/abandonar → /abandonclaim
Spanish:
Code (Text):
/territorio → /claim
/confiar → /trust
/abandonar → /abandonclaim
Customizing Messages:
- Open language file: plugins/JennyProtects/languages/messages_<lang>.yml
- Edit messages with color codes (&a, &c, &e, etc)
- Reload: /jennyprotects reload
10. Database Management
Database Type:
SQLite (local file-based)
Location:
plugins/JennyProtects/database.db
Automatic Backups:
Code (Text):
database:
backup:
enabled: true
interval: 3600 # Every hour
format: json
Backup location:
Code (Text):
plugins/JennyProtects/backups/
├── backup_2025-10-18_12-00-00.json
├── backup_2025-10-18_13-00-00.json
└── backup_2025-10-18_14-00-00.json
Manual Backup:
- Stop server
- Copy plugins/JennyProtects/database.db
- Copy plugins/JennyProtects/backups/
- Store in safe location
Restore from Backup:
- Stop server
- Replace database.db with backup file
- Start server
- Verify data: /jennyprotects admin info <player>
11. Troubleshooting
Claims Not Protecting:
- Check claim ownership: /claiminfo
- Verify protection settings in config.yml
- Check for bypass permissions
- Reload plugin: /jennyprotects reload
Too Many Particles / Server Lag:
Code (Text):
visualization:
cooldown: 1000 # Increase to 1 second
density: 5 # More blocks between particles
Language Not Loading:
- Check language code in config.yml
- Verify language file exists
- Reload: /jennyprotects reload
- Check console for errors
Vault Not Working:
- Verify Vault installed
- Check economy plugin installed (EssentialsX, etc)
- Test Vault: /vault-info
- Check console for errors
Database Issues:
- Stop server
- Restore from backup
- Check file permissions
- Contact support with console errors
12. Developer API
Maven Dependency:
Code (Text):
<dependency>
<groupId>com.jennyprotects</groupId>
<artifactId>JennyProtects</artifactId>
<version>1.0.3</version>
<scope>provided</scope>
</dependency>
Get Plugin Instance:
Code (Text):
JennyProtects plugin = (JennyProtects) Bukkit.getPluginManager()
.getPlugin("JennyProtects");
Check Claim at Location:
Code (Text):
ClaimManager claimManager = plugin.getClaimManager();
Claim claim = claimManager.getClaimAt(location);
if (claim != null) {
UUID owner = claim.getOwner();
// Location is in a claim
}
Check Trust Level:
Code (Text):
TrustManager trustManager = plugin.getTrustManager();
TrustLevel level = trustManager.getTrustLevel(claim, player.getUniqueId());
if (level == TrustLevel.FULL) {
// Player has full access
}
Technical Statistics
52+ Java classes
150+ translated messages per language
11 commands with aliases
8 protection types
4 interactive GUIs
6 language translations
50+ supported biomes
⭐ Complete documentation for JennyProtects v1.0.3 ⭐