ScalaPlot is a comprehensive plot management plugin for Paper/Folia Minecraft servers. It provides a complete solution for creating, managing, and building in a protected plot world, with extensive features including WorldEdit integration, a web-based map, a GUI manager, player worlds, automated backups, and robust permission controls.
!Base world
!Plot world with biutiful houses
break) and placing (place)./p visit <player>./p walls, /p copy, and /p paste within their plot boundaries.Plot-X.X.X.jar file into your server's plugins directory.plugins/Plot/config.yml.plot_world in config.yml matches the name of your plot world.You can generate your plot world using one of the two methods below. Note: Ensure your plot_world name in config.yml matches the name of the world you create.
This is the recommended method if you are not using a world management plugin.
bukkit.yml file.worlds:
world:
generator: Plot
(If your world is named something other than "world", replace the name accordingly.)/world folder) while the server is offline to allow the generator to build the plot structure from scratch.If you want to use a separate world for plots, create it with:
/mv create <worldName> normal -g Plot
After creating the world, open your configuration file and change:
plot_world: world
to:
plot_world: <worldName>
Make sure
<worldName>exactly matches the name of the world you created.
The main configuration is located in plugins/Plot/config.yml.
# Available languages: de_DE, en_US, fr_FR, it_IT, ru_RU, es_ES, pl_PL
language: en_US
# The name of the world where plots are located.
plot_world: world
# Plot and road dimensions. Deleting the plot world folder is required for changes to take effect.
plot_size: 100
road_size: 2
road_material: SMOOTH_STONE_SLAB
# Max plots a single player can own.
max_ownable_plots: 5
# --- Economy (requires Vault) ---
claim_cost: 0
currency: "€"
succesfull_report_reward: 100
# --- Backup System ---
backup:
auto_backup: true
interval_minutes: 60
max_backups_per_plot: 5
storage_path: backups
backup_on_deletion: true
# --- Exploit Prevention ---
unwanted_interactions:
trapdoor: true
itemframe: true
liquid_flow: true
dispenser: true
piston: true
# --- Discord Webhooks ---
claim_webhook_url: ""
report_webhook_url: ""
star_webhook_url: ""
# --- Premium Features ---
# A valid key is required to enable premium features.
premium_key: ""
# Periodic rendering settings for the web map.
render:
auto_start: false
interval_minutes: 30
# Configuration for the web server.
webserver:
enabled: true
host: 0.0.0.0
port: 8080
# --- Misc ---
debug: false
enable_auto_update: true
send_statistic: true
The main command is /plot (or its alias /p).
| Command | Description | Permission | Default |
|---|---|---|---|
/plot claim | Claims the nearest available plot. | plot.claim | true |
/plot tp | Teleports to your plot. | plot.tp | true |
/plot visit <player> | Teleports to another player's plot. | plot.tp | true |
/plot info | Shows information about the current plot. | plot.info | true |
/plot rename <name> | Renames your plot. | plot.rename | true |
/plot add <player> | Adds a trusted member to your plot. | plot.add | true |
/plot remove <player> | Removes a trusted member from your plot. | plot.remove | true |
/plot ban <player> | Bans a player from your plot. | plot.ban | true |
/plot unban <player> | Unbans a player from your plot. | plot.unban | true |
/plot flag set <flag> <true/false> | Sets a flag (break, place) for your plot. | plot.flag | true |
/plot rate <1-5> | Rates the plot you are currently standing in. | plot.rate | true |
/plot setweather <weather> | Sets the weather of your plot. | plot.setweather | true |
/plot roadmaterial <material> | Changes the road material around your plot. | plot.roadmaterial | true |
/plot gui | Opens the plot management GUI. | plot.gui | true |
/plot reset (beta, can cause crash) | Resets your plot to its original state. | plot.reset | true |
| Command | Description | Permission | Default |
|---|---|---|---|
/plot backup create | Creates a manual backup of your plot. | plot.backup | true |
/plot backup list | Lists all backups for your plot. | plot.backup | true |
/plot backup restore <name> | Restores a backup of your plot. | plot.backup | true |
| Command | Description | Permission | Default |
|---|---|---|---|
/plot world create | Creates a personal player world. | plot.world | true |
/plot world list | Lists your player worlds. | plot.world | true |
/plot world visit <name> | Teleports to a player world. | plot.world | true |
/plot worlds | Browse all public player worlds. | plot.worlds | true |
| Command | Description | Permission | Default |
|---|---|---|---|
/plot wand | Gives you the WorldEdit selection wand. | plot.worldedit.wand | true |
/plot pos1 | Sets your first selection point. | plot.worldedit.pos1 | true |
/plot pos2 | Sets your second selection point. | plot.worldedit.pos2 | true |
/plot set <material> | Sets all blocks in your selection. | plot.worldedit.set | true |
/plot walls <material> | Builds walls around your selection. | plot.worldedit.walls | true |
/plot fill <material> | Fills the entire plot with a material. | plot.worldedit.fill | true |
/plot setground <material> | Sets the ground layer of your plot. | plot.worldedit.setground | true |
/plot copy | Copies your selection. | plot.worldedit.copy | true |
/plot paste | Pastes your copied selection. | plot.worldedit.paste | true |
/plot undo | Undoes your last WorldEdit action. | plot.worldedit.undo | true |
| Command | Description | Permission | Default |
|---|---|---|---|
/plot admin reset (beta, can cause crash) | Resets the plot you are standing in. | plot.admin | op |
/plot admin setowner <player> | Sets a new owner for the current plot. | plot.admin | op |
/plot admin delete (not working, marked for removal) | Deletes the plot and its contents. | plot.admin | op |
/plot mirror <count> | Duplicates a plot across a number of nearby plots. | plot.admin.mirror | op |
/plot render <start/stop> | Starts or stops map rendering. | scalaplot.render | op |
/plot reload | Reloads the plugin configuration. | plot.admin | op |
/plot update | Updates the Premium LIB jar. | plot.admin | op |
| (Bypass) | Allows building/breaking anywhere in the plot world. | plot.bypass | op |
ScalaPlot exposes a public API for other plugins to interact with the plot system.
// Get the API instance
PlotAPI api = (PlotAPI) Bukkit.getPluginManager().getPlugin("Plot");
// Retrieve plots
IPlot plot = api.getPlotAt(location);
List<IPlot> plots = api.getPlotsByOwner(playerUUID);
// Manage trust & bans
api.trustPlayer(plot, playerUUID);
api.untrustPlayer(plot, playerUUID);
api.banPlayer(plot, playerUUID);
// Plot operations
api.claimPlot(player);
api.resetPlot(plot);
api.deletePlot(player, plot);
// Ratings & reports
double rating = api.getAverageRating(plot);
api.setStatus(plot, ReportStatus.REVIEWED);
// Check premium
boolean premium = api.isPremium();
Available methods include full access to: plot retrieval, trust/ban management, claim/reset/delete operations, ratings, report status, and manager instances (PlotManager, WorldEditManager, MapManager).
This plugin is free to use with optional paid features. The source code and all intellectual property remain the exclusive property of the author. All rights are reserved.
By downloading or obtaining this plugin, you acquire ownership of a licensed copy. This license is limited, non-exclusive, and non-transferable. You do not gain rights to the source code or the plugin itself beyond this license.
You may not:
Paid features are available under a valid license. Sharing or leaking access is strictly prohibited.
Cracked, leaked, or modified versions are not supported and may stop working at any time. Support is only provided for legitimate copies.
By using this plugin, you agree to these terms. If you do not agree, do not use it.
© 2026 All rights reserved.

Plot management plugin with custom world generation