Version 0.3 - Feature-Packed Plot Management (April 15, 2025)
I'm excited to introduce
PlotPlugin, a lightweight and feature-rich plot management plugin for Minecraft servers! This initial release (version 0.3) brings a comprehensive set of tools for players to claim, manage, and protect their plots, with plenty of customization options for server admins. Here's what PlotPlugin offers:
Features
- Plot Creation with Plot Blocks
- Craft a special "Plot Block" (8 diamonds surrounding 1 emerald) to claim a plot.
- Right-click with the Plot Block to create a fixed-size plot (default: 64x64 blocks).
- Admins can use /plot give (requires plot.give permission, default: op) to obtain Plot Blocks.
- Plot Management Commands
- /plot create: Informs players to use a Plot Block to create a plot.
- /plot delete: Deletes the plot you're standing on (owner only).
- /plot add <player>: Adds a player to the plot's allowed list (owner only).
- /plot remove <player>: Removes a player from the allowed list (owner only).
- /plot list: Lists all your plots with their coordinates and world.
- /plot show: Displays the boundaries of the plot you're on using particle effects (Villager Happy particles).
- /plot expand: Expands your plot for a cost in emeralds (default: 10 emeralds, expands by 16 blocks in each direction).
- /plot tp <number>: Teleports you to the center of a selected plot (number from /plot list).
- Plot Protection
- Prevents unauthorized players from:
- Breaking or placing blocks.
- Interacting with chests, doors, or other blocks.
- Attacking mobs or players (PvP protection).
- Picking up items.
- Using vehicles (e.g., minecarts, boats).
- Interacting with item frames.
- PvP is only allowed if both players are on the plot's allowed list (owner or added via /plot add).
- SQLite Database Storage
- Plots are stored in a lightweight SQLite database (plots.db) for better performance and scalability.
- No clutter in config.yml – all plot data is managed in the database.
- Customization with config.yml
- Configure settings like:
- max-plots-per-player (default: 3).
- spawn-protection-radius (default: 100 blocks).
- default-plot-size (default: 64 blocks).
- max-plot-size (default: 128 blocks).
- expand-size-increment (default: 16 blocks).
- expand-cost-emeralds (default: 10).
- Customize all messages with color code support (&).
- Safety Features
- Spawn Protection: Plots cannot be created within a configurable radius of the world spawn (default: 100 blocks).
- Plot Overlap Protection: Prevents plots from overlapping when created or expanded.
- Maximum Plot Size: Limits plot expansion to a configurable maximum size (default: 128x128 blocks).
- Dynamic Update Checker
- Automatically checks for updates on SpigotMC using their API.
- Admins with plot.admin permission (default: op) receive update notifications on join.
- The server console displays update notifications on startup.
- Includes a direct link to the plugin page: SpigotMC - MyPlots.
Configuration Example
Here’s a snippet of the config.yml:
Code (YAML):
settings
: max-plots-per-player
: 3 spawn-protection-radius
: 100 default-plot-size
: 64 max-plot-size
: 128 expand-size-increment
: 16 expand-cost-emeralds
: 10 messages
: prefix
:
"&b[PlotPlugin] &r" plot-created
:
"&aPlot created successfully!" plot-expanded
:
"&aPlot expanded successfully! Charged {cost} emeralds." cannot-pvp
:
"&cYou cannot attack players on this plot!" update-available
:
"&eA new version of PlotPlugin ({version}) is available! Download it at: &ahttps://www.spigotmc.org/resources/myplots.124086/"
Installation
- Place the PlotPlugin JAR in your plugins folder.
- Start your server to generate the config.yml and plots.db.
- Customize the config.yml to your liking.
- Reload or restart your server to apply changes.
Notes
- Requires Minecraft 1.21 (API version 1.21).
- The plugin uses SQLite, so no external database setup is needed.
- Internet access is required for the update checker to fetch the latest version from SpigotMC.
- If you encounter any bugs or have feature suggestions, please let me know in the discussion section or on Discord!
Thank you for trying PlotPlugin! I hope it enhances your server experience.