Easyland
2.0.1Easyland — a high-performance PaperMC land-claim plugin for Minecraft (Paper 1.21.x, Java 21). Provides land creation/claiming, trust management, flexible protection rules, visual boundary display, an
Easyland
A high-performance PaperMC land management plugin that covers land creation, access control, protection rules, and particle-based visualization.
[!note]
When updating to version 2.0.0, please use themigratecommand to migrate data from older versions!
✨ Highlights
Land Management: Create, claim, abandon, list, rename, and teleport to lands.
Sub-claims: Create smaller sub-areas within your land for finer control.
Trust System: Flexible member management with pre-trust support.
Protection Policies: Block, explosion, container, player, and entry control protection.
Data Storage: Powered by SQLite for secure and efficient data handling.
Visualized Boundaries: Particle effects render land borders directly in-game.
Built-in Localization: Chinese, English, and Japanese translations included.
🛠️ Command Overview
Main command: /easyland (aliases: /el, /land)
| Subcommand | Description | Permission |
|---|---|---|
select | Get selection tool | easyland.select |
create [id] | Create land | easyland.create |
claim [id] | Claim land | easyland.claim |
abandon [id] | Abandon land | easyland.abandon |
subcreate <parent> [name] | Create sub-claim | easyland.subcreate |
trust <land> <player> | Trust player | easyland.trust |
untrust <land> <player> | Untrust player | easyland.trust |
trustlist <land> | View trust list | easyland.trust |
info [land] | View land info | easyland.info |
show [land] [time] | Show boundaries | easyland.show |
list [page] | List lands | easyland.list |
rename <land> <new_name> | Rename land | easyland.rename |
setspawn | Set land spawn | easyland.setspawn |
tp <land> | Teleport to land | easyland.tp |
delete <id> | Delete land | easyland.delete |
rule [land] [rule] [on/off] | Manage rules | easyland.rule |
reload | Reload config | easyland.admin |
migrate | Migrate data | easyland.admin.migrate |
help | View help | None |
🔐 Permission Nodes
| Permission | Description | Default |
|---|---|---|
| easyland.select | Get selection tool | true |
| easyland.create | Create land | op |
| easyland.claim | Claim land | true |
| easyland.abandon | Abandon land | true |
| easyland.subcreate | Create sub-claim | true |
| easyland.trust | Manage trust | true |
| easyland.info | View info | true |
| easyland.show | Show boundaries | true |
| easyland.list | View list | true |
| easyland.rename | Rename land | true |
| easyland.setspawn | Set spawn | true |
| easyland.tp | Teleport to land | true |
| easyland.rule | Manage rules | true |
| easyland.delete | Delete land | true |
| easyland.admin | Admin bundle | op |
easyland.admin inherits every sub-permission above—no extra assignment required.
⚙️ Core Configuration
| Key | Purpose | Default |
|---|---|---|
land.max-per-player | Max lands per player | 10 |
land.max-area | Max area per land | 10000 |
land.min-area | Min area per land | 100 |
land.min-distance | Min distance between lands | 5 |
visualization.default-duration | Boundary show duration (s) | 10 |
sub-claim.max-per-land | Max sub-claims per land | 5 |
sub-claim.max-depth | Max sub-claim depth | 2 |
Protection Rules
Each rule provides two flags:
enable: Whether the rule is available on the serverdefault: Default state for newly created lands
| Rule Name | Description |
|---|---|
build | Allow building/placing blocks |
break | Allow breaking blocks |
interact | Allow interaction (chests/doors) |
use | Allow item usage |
pvp | Allow PvP |
pve | Allow PvE (mob damage) |
explosions | Allow explosions |
fire_spread | Allow fire spread |
enter | Allow entry |
mob_spawning | Allow mob spawning |
🌍 Localization
Set the language value in config.yml to switch the UI language:
# Supported values: zh_cn, en_us, ja_jp
language: en_us
| Code | Language |
|---|---|
zh_cn | Simplified Chinese |
en_us | English |
ja_jp | Japanese |
Community translations are welcome—send a PR to add your language.
📦 Deployment
Environment
- Server: Paper 1.21.x
- Java: 21 or newer
Installation
- Download the latest
easyland-2.0.0.jarbuild. - Drop the plugin into your server's
pluginsdirectory. - Start or restart the server to generate configuration files.
- Adjust
config.ymland permission nodes as needed.
Build from Source (Optional)
- Clone the repository:
git clone https://github.com/railgun19457/Easyland.git. - Run
mvn clean packagein the project root to produce artifacts. - Deploy
target/easyland-2.0.0.jarto your Paper server.
📝 Changelog
v2.0.0 · Major Refactor
Core Refactor: Complete rewrite of the codebase for better architecture and performance.
SQLite Storage: Replaced file storage with SQLite database for improved security and efficiency.
Sub-claims: Added support for sub-claims to manage smaller areas within a land.
Entry Control: Added
enterprotection rule to prevent unauthorized entry (with knockback and visual feedback).Teleportation: Added
/el setspawnand/el tpfor easy travel.Renaming: Added
/el renamecommand.Better Alerts: Comprehensive Action Bar notifications for clearer feedback.
Localization Sync: Full support for Chinese, English, and Japanese.
v1.4.1
Introduced a full i18n system
Fixed infinite resource duplication caused by vein-miner style plugins
Added
reloadandhelpcommands
v1.4 · Paper 1.21.8 Compatibility
Updated to support Paper 1.21.8 and Java 21
Fixed
LandEnterListenerNullPointerExceptionStreamlined explosion protection checks
Player protection no longer includes natural damage (falling, etc.)
Remains compatible with Paper 1.20.4+
v1.3.1
Spatial index optimization improves lookup performance by 60–80%
Adopted
ConcurrentHashMapthroughout for thread safetyReduced memory usage by 20–30%
Refactored configuration to remove hard-coded values
v1.3
Completely overhauled the land protection system
Added the
/easyland rulecommand flowStored protection rules per land instead of globally
Upgraded configuration structure
v1.2
Introduced the configuration management system
Added an administrator permission group
showcommand supports custom durations
v1.1
Trust system now supports pre-trusting players
Added the
trustlistcommand
v1.0
Delivered the core land management feature set
📄 License
Released under the MIT License. Please retain copyright and license notices when redistributing.
🤝 Support
Star the repository to support the project
Report issues via GitHub Issues
Contribute features or translations through Pull Requests
Thanks for choosing Easyland—have fun building thriving communities!
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta