SmartPlots
The most advanced Plot Management System for Hytale. Build, protect, and manage player plots with ease.
๐ฅ Installation
Requirements
Setup
- Download
SmartPlots.jarfrom your purchase - Copy the JAR to
Hytale/UserData/Mods/ - Install LuckPerms for permission management
- (Optional) Install an economy plugin for plot costs
- Start your Hytale server โ config is auto-generated
๐ Quick Start
For Players
- Join the server and enter the plot world
- Type
/plot autoto find and claim a free plot - Start building! Your first 4 plots are free
- Invite friends with
/plot trust <name> - Customize your plot border with
/plot rand <block>
For Admins
- Edit
config.jsonto customize plot sizes, costs, and features - Set up LuckPerms groups for VIP tiers
- Configure economy provider (or use free mode)
โจ Features
Auto-Claim
Players find and claim free plots instantly with a single command.
Economy Integration
5 economy providers supported. Fixed or progressive pricing.
Permission System
LuckPerms integration with VIP tiers and granular control.
Full Protection
Block, interaction, PvP, bucket, crop, and capture crate protection.
Plot Merging
Combine adjacent plots for massive builds. Automatic border handling.
Multi-Language
English & German built-in. Easily add custom translations.
Database Options
H2 (default), SQLite, or MySQL. Auto-migration and backups.
Plot Customization
Custom walls, borders, aliases, home positions, and flags.
๐ฎ Commands
Plot Management
| Command | Description | Aliases |
|---|---|---|
/plot auto | Find and claim the nearest free plot | โ |
/plot claim | Claim the plot you're standing on | โ |
/plot delete | Delete your plot (with confirmation) | โ |
/plot info | View plot information | โ |
/plot list | List all your plots | โ |
/plot reset | Reset plot terrain to default | โ |
Navigation
| Command | Description | Aliases |
|---|---|---|
/plot home <PlotID> | Teleport to a specific plot | โ |
/plot home <Player> | Visit another player's plot | โ |
/plot home <alias> | Teleport using a plot alias | โ |
/plot sethome | Set custom spawn point on your plot | /plot sh, /plot setspawn |
/plot setmain | Set current plot as default for /plot home | /plot main |
/plot removemain | Remove your main plot setting | โ |
Customization
| Command | Description | Aliases |
|---|---|---|
/plot alias <name> | Set a custom alias for your plot | โ |
/plot alias remove | Remove plot alias | โ |
/plot wall <block> | Change wall blocks (below border) | /plot wand, /plot side |
/plot rand <block> | Change border blocks (top layer) | /plot border, /plot edge |
Confirmation
| Command | Description |
|---|---|
/plot confirm | Confirm a pending action (purchase, transfer, delete) |
/plot cancel | Cancel a pending action |
/plot help | Show available commands (filtered by permissions) |
๐ค Trust System
Control who can interact with your plot using the trust system. There are three access levels:
Owner
Full control over the plot. Can manage trust, flags, and settings.
Trusted
Can build and modify blocks on the plot.
Denied
Completely blocked from accessing the plot.
| Command | Description |
|---|---|
/plot trust <Player> | Give a player build access |
/plot untrust <Player> | Remove build access |
/plot deny <Player> | Ban a player from your plot |
/plot undeny <Player> | Unban a player from your plot |
/plot setowner <Player> | Transfer plot ownership |
๐ Plot Merging
Combine adjacent plots to create massive building areas. You must own both plots to merge them.
| Command | Description |
|---|---|
/plot merge north | Merge with the plot to the north |
/plot merge south | Merge with the plot to the south |
/plot merge east | Merge with the plot to the east |
/plot merge west | Merge with the plot to the west |
/plot unmerge | Separate merged plots (admin) |
๐ณ๏ธ Plot Flags
Customize individual plot behavior with flags.
| Command | Description |
|---|---|
/plot flag set pvp true | Enable PvP on your plot |
/plot flag set pvp false | Disable PvP on your plot |
/plot flag set pve false | Disable mob damage on your plot |
/plot flag use <blocktype> | Allow all players to interact with a block type |
/plot flag remove <flag> | Remove a flag |
/plot flag list | Show all active flags |
/plot flag info | Show flag information |
๐จ Plot Customization
Wall & Border Blocks
Players can personalize their plots by changing wall and border blocks:
- Border โ Top layer at Y=floorY+1 (e.g., Y=65). Changed with
/plot rand - Wall โ Blocks from Y=1 to floorY below the border. Changed with
/plot wall
# Examples
/plot wall stone
/plot wall plank_tropical
/plot rand rock_gold_brick_half
/plot rand glass
plot.wallblock.<blockname> and plot.borderblock.<blockname>. Use wildcards (plot.wallblock.*) to allow all blocks.
Plot Aliases
Give your plot a memorable name instead of coordinates:
/plot alias my-castle # Set alias
/plot home my-castle # Navigate by alias
/plot alias remove # Remove alias
Aliases are max 25 characters, alphanumeric + underscore/dash. A blacklist prevents inappropriate names.
๐ฐ Economy System
How It Works
Players receive a configurable number of free plots (default: 4). After that, each additional plot costs money.
# Example flow: Player claims their 5th plot
Player: /plot claim
System: "This will cost: 1000$"
System: "Use /plot confirm to proceed or /plot cancel to abort"
Player: /plot confirm
System: "Successfully claimed plot 5;3! Cost: 1000$"
Pricing Modes
| Mode | Description | Example |
|---|---|---|
| Fixed | Every plot costs the same | $1000, $1000, $1000โฆ |
| Progressive | Prices increase per plot | $1000, $2000, $3000โฆ |
| Free | Set cost to 0 | All plots free |
๐ฆ Economy Providers
SmartPlots supports 5 economy providers. Set your preference in config.json:
"preferredEconomyProvider": "auto"
// Options: "auto", "economysystem", "vaultunlocked", "ecotale", "hyvault", "none"
| Provider | Status | Notes |
|---|---|---|
| EconomySystem | โ Fully tested | Original implementation |
| VaultUnlocked | โ Fully tested | Cross-platform Vault-style API (2.18.0+) |
| Ecotale | โ ๏ธ Untested | Auto rate-limit handling (50 burst, 10 ops/sec) |
| HyVault | โ ๏ธ Untested | Universal economy bridge |
| None | โ Works | Free mode โ all features free |
With "auto", SmartPlots detects providers in this order: EconomySystem โ VaultUnlocked โ HyVault โ Ecotale โ None
๐ Free Plot Tiers
Reward players and VIP ranks with different amounts of free plots:
| Permission | Free Plots | Recommended For |
|---|---|---|
plot.claim.free.unlimited | โ | Admins & Staff |
plot.claim.free.25 | 25 | Premium VIP |
plot.claim.free.10 | 10 | VIP Members |
plot.claim.free.5 | 5 | Supporters |
plot.claim.free.N | N | Any custom amount |
| (no permission) | 4 | Regular Players |
# LuckPerms setup examples
/lp group vip permission set plot.claim.free.10 true
/lp group premium permission set plot.claim.free.25 true
/lp group admin permission set plot.claim.free.unlimited true
๐ Permissions
Player Permissions
| Permission | Command | Description |
|---|---|---|
plot.player.info | /plot info | View plot information |
plot.player.claim | /plot claim | Claim a plot |
plot.player.auto | /plot auto | Auto-claim nearest free plot |
plot.player.delete | /plot delete | Delete your plot |
plot.player.reset | /plot reset | Reset plot terrain |
plot.player.list | /plot list | List your plots |
plot.player.home | /plot home | Teleport to a plot |
plot.player.sethome | /plot sethome | Set plot spawn point |
plot.player.setmain | /plot setmain | Set/remove main plot |
plot.player.alias | /plot alias | Set/remove plot alias |
plot.player.merge | /plot merge | Merge plots together |
plot.player.trust | /plot trust | Manage trust system |
plot.player.flag | /plot flag | Manage plot flags |
plot.player.setowner | /plot setowner | Transfer ownership |
plot.player.wall | /plot wall | Change wall blocks |
plot.player.rand | /plot rand | Change border blocks |
Admin Bypass Permissions
| Permission | Description |
|---|---|
plot.admin.bypass.build | Bypass build protection on any plot |
plot.admin.bypass.trust | Manage trust on any plot |
plot.admin.bypass.merge | Merge/unmerge any plots |
plot.admin.bypass.reset | Reset any plot |
plot.admin.bypass.delete | Delete any plot |
plot.admin.bypass.transfer | Instant transfers without confirmation |
plot.admin.bypass.wall | Change walls on any plot |
plot.admin.bypass.rand | Change borders on any plot |
smartplots.admin | Global admin bypass for all protections |
Wildcards
| Permission | Description |
|---|---|
plot.* | All plot permissions |
plot.player.* | All player permissions |
plot.admin.* | All admin permissions |
plot.admin.bypass.* | All bypass permissions |
plot.wallblock.* | All wall block types |
plot.borderblock.* | All border block types |
Example LuckPerms Setup
# Default players โ all basic commands
/lp group default permission set plot.player.* true
# VIP โ 10 free plots, all blocks
/lp group vip permission set plot.player.* true
/lp group vip permission set plot.claim.free.10 true
/lp group vip permission set plot.wallblock.* true
/lp group vip permission set plot.borderblock.* true
# Moderator โ bypass for other plots
/lp group mod permission set plot.admin.bypass.* true
/lp group mod permission set smartplots.admin true
# Administrator โ everything
/lp group admin permission set plot.* true
/lp group admin permission set smartplots.admin true
โ๏ธ Configuration
The config.json is auto-generated on first start. Here are the key settings:
Economy Settings
| Option | Default | Description |
|---|---|---|
economyPlotCost | 1000.0 | Cost per plot after free plots |
economyProgressiveCosts | false | Enable progressive cost increase |
economyDefaultFreePlots | 4 | Free plots per player (no permission needed) |
economyMergeCost | 10000.0 | Cost for merging two plots |
preferredEconomyProvider | "auto" | Economy provider preference |
Plot Settings
| Option | Default | Description |
|---|---|---|
plotSize | 32 | Size of each plot in blocks |
roadWidth | 3 | Width of roads between plots |
borderWidth | 1 | Width of plot borders |
floorY | 64 | Y-coordinate of plot floor |
Teleport Settings
| Option | Default | Description |
|---|---|---|
teleportWarmupSeconds | 3 | Warmup time before teleport |
cancelTeleportOnDamage | true | Cancel teleport when taking damage |
Other Settings
| Option | Default | Description |
|---|---|---|
language | "de" | Server language (en or de) |
storageType | "H2" | Database type (H2, SQLite, MySQL) |
Full Example
{
"plotSize": 32,
"roadWidth": 3,
"borderWidth": 1,
"floorY": 64,
"economyPlotCost": 1000.0,
"economyProgressiveCosts": false,
"economyDefaultFreePlots": 4,
"economyMergeCost": 10000.0,
"preferredEconomyProvider": "auto",
"teleportWarmupSeconds": 3,
"cancelTeleportOnDamage": true,
"language": "en",
"storageType": "H2"
}
๐พ Database
Storage Options
H2 (Default)
Embedded database. Zero configuration. Perfect for small to medium servers.
SQLite
Lightweight file-based database. Good alternative to H2.
MySQL
External database. Recommended for large servers and networks.
MySQL Configuration
{
"storageType": "MySQL",
"mysqlHost": "localhost",
"mysqlPort": 3306,
"mysqlDatabase": "plots",
"mysqlUsername": "root",
"mysqlPassword": "password"
}
Database Migration
Migrate between storage backends with the admin command:
/plot port sqlite # Migrate to SQLite
server/mods/de.smartcodelabs_SmartPlots/backups/
๐ ๏ธ Admin Commands
| Command | Permission | Description |
|---|---|---|
/plot setowner <player> | plot.admin.bypass.transfer | Set plot owner (instant, no confirmation) |
/plot reset | plot.admin.bypass.reset | Reset any plot's terrain |
/plot delete | plot.admin.bypass.delete | Delete any plot |
/plot unmerge | plot.admin.unmerge | Separate merged plots |
/plot fixmerge | plot.superadmin.fixmerge | Fix broken merge data |
/plot port sqlite | plot.admin.portDB | Migrate database |
๐ก๏ธ Protection System
SmartPlots provides comprehensive protection for all plots:
Block Protection
Only owners and trusted players can place or break blocks.
Fluid Protection
Water buckets and fluids blocked on foreign plots.
Crop Protection
Harvesting plants, flowers, and crops blocked on foreign plots.
Interaction Protection
F-Key interactions (pickup flowers, mushrooms, pebbles) blocked.
PvP Control
Per-plot PvP toggle via flags.
Capture Crate Protection
No capturing or releasing NPCs on foreign plots.
/plot flag use <blocktype>. Example: /plot flag use chest allows everyone to open chests.
๐ Changelog
๐ Major Update โ Economy Multi-Provider & World Fix
- Economy Multi-Provider โ Support for EconomySystem, VaultUnlocked, Ecotale, HyVault, None
- Sky/Environment Fix โ Plot worlds now display proper sky and lighting
- Enhanced Protection โ F-Key, water bucket, crop, capture crate, field protection
- New Commands โ /plot sethome, setmain, removemain, alias, wall, rand, flag use
- SQLite Support โ New storage backend with automatic backups and migrations
- Player Profiles โ UUID-to-Name mapping with name history
- Many bug fixes: translations, LuckPerms, merge operations, entity cleanup
- /plot wall โ Change wall blocks below the border
- /plot rand โ Change border blocks (top layer)
- /plot sethome โ Set custom spawn point
- Wall and border are now separate customizable elements
- Translations fixed, SLF4J conflicts resolved, merge stability improved
- Economy settings now configurable via
config.json - Language setting added to config
- Core plot functionality: claiming, merging, management
- LuckPerms & TheEconomy integration
- Translation system (EN/DE)
- Database support (H2/MySQL)
โ FAQ & Troubleshooting
"No free plots found in search radius!"
The /plot auto search area is limited. Move to a different area or use /plot claim manually on an unclaimed plot.
"This plot is already claimed!"
Someone owns this plot. Use /plot info to see the owner, or find another plot.
"Insufficient funds!"
You've used all your free plots and don't have enough money. Earn more or ask an admin about VIP ranks with more free plots.
"You are denied access to this plot!"
The plot owner has denied you. Contact them to be removed from the deny list.
Teleport gets cancelled
Stand still for the warmup period (default 3 seconds). Don't move or take damage.
Black sky in plot world
Update to v1.1.0+. The PlotEnvironmentFixer automatically sets the correct environment for proper sky rendering.
๐ Support
Discord
Community support via Discord: Blacky888
Documentation
This documentation covers all features and settings.
Bug Reports
Bug fix guarantee. Report issues via Discord.
Updates
Regular updates with new features and improvements.