A revolutionary villager control plugin that lets you claim, manage, and control villagers using a simple stick!
🌟 Features
Core Features
- 🏘️ Stick-Based Interaction - Right-click villagers with a STICK (no more mumbling!)
- 🎯 Villager Claiming - Claim villagers with custom names and full control
- 🚶 Follow System - Make villagers follow you around the world
- 🧊 Freeze System - Freeze villagers in place when needed
- 🔒 Permission-Based Limits - Control how many villagers players can claim (8, 16, 32, 64, or unlimited)
- 💾 Smart Persistence - All villager states persist across server restarts
- 🎨 Visual Effects - Particle effects and smooth animations
- ⚡ Performance Optimized - Efficient tracking with smart cleanup systems
Advanced Features
- Freeze-on-Look - Villagers freeze when you look at them (configurable duration)
- Cross-World Support - Bring villagers between worlds (configurable)
- Inventory System - Access and manage villager inventories with full item storage
- Auto-Despawn Protection - Villagers despawn when too far away (performance)
- Manual Despawn System - Use
/vc awayto make villagers disappear manually - Bring Back System - Use
/vc bringto restore despawned villagers - Inventory Protection - Villagers with items become invulnerable and can't be unclaimed
- Smart Despawn - Villagers auto-despawn when you fly too fast with elytra
- Teleportation Limits - Prevent abuse with cooldowns and limits
- World Restrictions - Control which worlds villagers can be brought to
- Command Cooldowns - Prevent spam with configurable cooldowns
- Debug System - Comprehensive logging for troubleshooting
📥 Installation
Prerequisites
- Paper or Spigot server running Minecraft 1.21+
- Java 17 or higher installed on your server
Steps
- Download the latest
VillagerClaim-1.0.0.jarfile - Stop your Minecraft server
- Place the JAR file in your server's
pluginsfolder - Start your server
- The plugin will create a
VillagerClaimfolder with default configuration - Configure the plugin by editing
plugins/VillagerClaim/config.yml - Reload the plugin with
/vc reloador restart the server
Verification
After installation, verify the plugin is working:
> plugins
[10:00:00 INFO]: Plugins (1): VillagerClaim
⚙️ Configuration
The plugin generates a config.yml file in plugins/VillagerClaim/ with extensive customization options.
Basic Configuration
General Settings
general:
# Maximum distance to interact with villagers
max-interaction-distance: 5.0
# Time in seconds to freeze villager when looking at it
# Set to -1 for infinite duration (until player looks away)
freeze-on-look-duration: 3
# Interaction tool - players must hold a STICK
interaction-tool: STICK
World Restrictions
worlds:
# Allow bringing villagers to specific worlds
allow-worlds:
world: true # Overworld (default world)
world_nether: false # Nether
world_the_end: false # End
# Cross-world villager management
cross-world-teleport: true
Message Customization
All messages support Minecraft color codes (& format):
messages:
# Claim messages
villager-claimed: "&a&l✓ &aYou have claimed &e{villager_name} &aas your villager!"
villager-already-claimed: "&c&l✗ &cThis villager is already claimed by &e{owner_name}&c!"
# Command messages
villager-following: "&a&l✓ &a{villager_name} &ais now following you!"
villager-frozen: "&b&l✓ &b{villager_name} &bis now frozen in place!"
villager-unclaimed: "&c&l✓ &c{villager_name} &chas been unclaimed!"
Feature Toggles
features:
# Enable villager freezing when looking at them
freeze-on-look: true
# Enable villager following mechanics
follow-mechanics: true
# Enable villager freezing mechanics
freeze-mechanics: true
# Enable command cooldowns (in seconds)
command-cooldown: 2
# Enable villager inventory system
villager-inventory: true
Advanced Settings
advanced:
# Auto-save villager data (in minutes)
auto-save-interval: 5
# Maximum villager name length
max-name-length: 20
# Teleportation limits
max-teleports-per-minute: 3
teleport-cooldown-seconds: 5
# Despawn settings
max-follow-distance: 50
despawn-distance: 100
Configuration Examples
Example 1: Basic Setup (Default)
general:
freeze-on-look-duration: 3
max-interaction-distance: 5.0
features:
freeze-on-look: true
follow-mechanics: true
freeze-mechanics: true
Example 2: Infinite Freeze on Look
general:
freeze-on-look-duration: -1 # Infinite until look away
Example 3: No Freeze on Look
general:
freeze-on-look-duration: 0 # Disabled
features:
freeze-on-look: false
Example 4: Cross-World Disabled
worlds:
cross-world-teleport: false
allow-worlds:
world: true
world_nether: false
world_the_end: false
📜 Commands
All commands use the /vc prefix (alias for /villagerclaim).
Player Commands
| Command | Description | Permission |
|---|---|---|
/vc list | Lists all your claimed villagers | villagerclaim.use |
/vc despawned | Lists your despawned villagers | villagerclaim.use |
/vc follow <name> | Makes a villager follow you | villagerclaim.use |
/vc unfollow <name> | Stops a villager from following | villagerclaim.use |
/vc freeze <name> | Freezes a villager in place | villagerclaim.use |
/vc unfreeze <name> | Unfreezes a villager | villagerclaim.use |
/vc unclaim <name> | Releases a villager | villagerclaim.use |
/vc bring <name> | Bring back a despawned villager | villagerclaim.use |
/vc away <name> | Make a villager disappear (manual despawn) | villagerclaim.use |
/vc inventory <name> | Open villager's inventory | villagerclaim.use |
/vc inv <name> | Short form of inventory command | villagerclaim.use |
/vc worlds | Show allowed worlds for villagers | villagerclaim.use |
Admin Commands
| Command | Description | Permission |
|---|---|---|
/vc reload | Reloads the configuration | villagerclaim.admin |
/vc check <player> | Views a player's villagers | villagerclaim.admin |
/vc reset <player> | Resets a player's villagers | villagerclaim.admin |
Command Details
/vc list
Shows all your claimed villagers with their status:
Your Villagers:
- Steve (Following)
- Bob (Frozen)
- Alice (Idle)
/vc follow <name>
Makes a villager follow you around:
✓ Steve is now following you!
/vc freeze <name>
Freezes a villager in place:
✓ Steve is now frozen in place!
/vc unclaim <name>
Releases a villager (they become normal villagers):
✓ Steve has been unclaimed!
/vc despawned
Shows all your despawned villagers:
Your Despawned Villagers:
- Steve (Despawned)
- Bob (Despawned)
/vc bring <name>
Brings back a despawned villager:
✓ Steve has been brought back!
/vc away <name>
Makes a villager disappear (manual despawn):
✓ Steve has been sent away!
/vc inventory <name>
Opens a villager's inventory:
✓ Opened Steve's inventory!
/vc worlds
Shows allowed worlds for villagers:
Allowed Worlds:
- world (Overworld)
- world_nether (Nether) - Disabled
- world_the_end (End) - Disabled
🔐 Permissions
| Permission | Description | Default |
|---|---|---|
villagerclaim.use | Use basic villager commands | true (everyone) |
villagerclaim.admin | Access admin commands | op (operators only) |
villagerclaim.limit.8 | Claim up to 8 villagers | true (default) |
villagerclaim.limit.16 | Claim up to 16 villagers | false |
villagerclaim.limit.32 | Claim up to 32 villagers | false |
villagerclaim.limit.64 | Claim up to 64 villagers | false |
villagerclaim.limit.unlimited | Claim unlimited villagers | false |
Permission Examples
Give a player 16 villager limit:
# Using LuckPerms
/lp user Player permission set villagerclaim.limit.16 true
Give unlimited villagers to a VIP:
# Using LuckPerms
/lp user VIP permission set villagerclaim.limit.unlimited true
Group permissions (in your permissions plugin):
groups:
default:
permissions:
- villagerclaim.use
- villagerclaim.limit.8
vip:
permissions:
- villagerclaim.limit.32
admin:
permissions:
- villagerclaim.admin
- villagerclaim.limit.unlimited
📖 Usage Guide
For Players
Getting Started
- Hold a STICK in your hand
- Right-click a villager with the stick
- Type a name when prompted
- Use commands to control your villagers
Basic Interactions
- Claim a villager: Right-click with stick → Enter name
- Make follow:
/vc follow <name> - Freeze in place:
/vc freeze <name> - Release villager:
/vc unclaim <name>
Advanced Features
- Freeze on look: Look at your villager to freeze them
- Cross-world travel: Bring villagers to different worlds
- Inventory access: Right-click to open villager inventory or use
/vc inventory <name> - Auto-despawn protection: Villagers despawn when too far away
- Manual despawn: Use
/vc away <name>to make villagers disappear - Bring back system: Use
/vc bring <name>to restore despawned villagers - Inventory protection: Villagers with items become invulnerable
- Smart despawn: Villagers auto-despawn when you fly too fast with elytra
For Admins
Monitoring Players
Check any player's villagers:
/vc check PlayerName
Managing Limits
Set villager limits using permissions:
/lp user Player permission set villagerclaim.limit.32 true
Configuration Changes
- Edit
plugins/VillagerClaim/config.yml - Run
/vc reload - Changes apply immediately
💾 Data Storage
Files Created
plugins/
└── VillagerClaim/
├── config.yml # Plugin configuration
├── villagerdata.yml # Villager claim data
└── bypass.yml # Bypass player data
Villager Data Structure
The villagerdata.yml file stores:
- Villager UUID and name
- Owner UUID and name
- Current status (following/frozen/idle)
- Location data
- Inventory contents
- World information
Data Persistence
Villager data is automatically saved:
- When a player disconnects
- Every 5 minutes (configurable)
- When the server stops
- When villager status changes
🔧 Troubleshooting
Common Issues
Issue: Can't interact with villagers
Solutions:
- Make sure you're holding a STICK
- Check you're within interaction distance (5 blocks)
- Verify villager isn't already claimed by someone else
- Check permissions:
/vc list
Issue: Villagers not following
Solutions:
- Check villager is claimed by you:
/vc list - Verify follow command:
/vc follow <name> - Check if villager is frozen:
/vc unfreeze <name> - Ensure you're not too far away (50 block limit)
Issue: Commands not working
Solutions:
- Verify permissions are set correctly
- Check console for errors
- Ensure you're using correct command format
- Try using the full command:
/villagerclaiminstead of/vc
Issue: Villagers disappearing
Solutions:
- Check despawn distance settings
- Verify world restrictions
- Check if villager died (they can take damage)
- Look for console errors
Issue: Cross-world not working
Solutions:
- Check
cross-world-teleport: truein config - Verify world is in
allow-worldslist - Check player permissions
- Ensure villager is following you
Issue: Villager disappeared (despawned)
Solutions:
- Check if villager is despawned:
/vc despawned - Bring back with:
/vc bring <name> - Check if you flew too fast with elytra
- Verify villager wasn't killed by mobs
Issue: Can't unclaim villager
Solutions:
- Check if villager has items:
/vc inventory <name> - Empty villager inventory first
- Villagers with items are protected from unclaiming
- Use
/vc away <name>to despawn if needed
Issue: Villager inventory not saving
Solutions:
- Check if villager is claimed by you
- Ensure you're the owner of the villager
- Try closing and reopening inventory
- Check console for errors
Getting Help
If you need additional support:
- Check console logs for error messages
- Verify your configuration is valid YAML syntax
- Join our Discord server: https://discord.gg/cybycQ9wGp
📊 Performance
Resource Usage
- Memory: Minimal (<10MB for typical server)
- CPU: Very light (efficient tracking system)
- Disk: Small data files (YAML format)
- Network: No network operations
Optimization Tips
- Adjust
auto-save-intervalbased on villager count - Set appropriate
despawn-distance - Use
max-follow-distanceto reduce unnecessary checks - Consider world restrictions for performance
Tested Performance
- ✅ Works efficiently with 100+ claimed villagers
- ✅ No noticeable TPS impact
- ✅ Fast data saving (<100ms)
- ✅ Minimal memory footprint
🚀 Roadmap
Potential features for future versions:
- Villager trading integration
- Villager profession management
- Villager breeding system
- GUI for villager management
- Villager groups and teams
- Advanced villager AI
- Villager marketplace
- Villager statistics tracking
- Enhanced inventory management
- Villager job assignments
- Automated villager tasks
🤝 Support
Bug Reports
If you find a bug, please report it with:
- Plugin version
- Server software and version
- Steps to reproduce
- Console errors (if any)
Feature Requests
Have an idea? Share it with details about:
- What you want to achieve
- How it would benefit users
- Example use cases
Discord Community
Join our Discord server for support, updates, and community discussion: https://discord.gg/cybycQ9wGp
📜 License
This plugin is free to use and modify for your server.
Terms
- ✅ Licensed for use on any server
- ❌ Modification for personal purposes is prohibited
- ❌ Redistribution, even with credit, is prohibited
- ❌ Commercial resale is prohibited
- ❌ No warranty or guarantee is provided
👨💻 Author
Yenith
⭐ Thank You!
Thank you for using VillagerClaim! If you enjoy this plugin:
- Share it with other server owners
- Leave feedback and suggestions
- Report bugs to help improve it
- Consider supporting future development
- Join our Discord community: https://discord.gg/cybycQ9wGp
Made with ❤️ for the Minecraft community
Last Updated: 08 October 2025

