Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
ScalaPlot
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.
A valid premium key can be bought here
Proof Of Concept
Click to see the images!


Features
- Custom Plot World Generation: Automatically generates a world with configurable plot and road sizes.
- Plot Management: Players can claim, teleport, rename, and get information about plots.
- GUI Manager: A full GUI panel to manage all plot settings without typing commands.
- Collaboration: Plot owners can add or remove trusted players to build together, and ban disruptive players.
- Plot Protection: Full protection against unauthorized building and griefing, with configurable exploit prevention (pistons, dispensers, liquid flow, etc.).
- Fine-Grained Control: Use plot flags to control specific actions like block breaking (
break) and placing (place). - Plot Rating System: Allows players to rate each other's plots on a scale of 1 to 5.
- Plot Visiting: Visit any player's plot by name with
/p visit <player>. - Per-Plot Weather: Set custom weather for your plot (Clear, Rain, Thunder, Snow).
- Per-Plot Road Material: Customize the road material surrounding your plot.
- Backup System: Automatic and manual plot backups with configurable intervals and restore support.
- Player Worlds: Players can create and manage their own isolated worlds with custom grid sizes.
- Integrated WorldEdit: A suite of WorldEdit commands are built-in, allowing players to use commands like
/p walls,/p copy, and/p pastewithin their plot boundaries. - Report System: Players can report inappropriate plots; rewards are issued for valid reports.
- Discord Webhooks: Send notifications to Discord on plot claims, ratings, and reports.
- Economy Integration: Optional Vault integration to set a cost for claiming plots.
- Web Map (Premium): An integrated web server that displays a live, browsable map of the plot world.
- Map Rendering (Premium): Manually or automatically render the world to keep the web map up-to-date.
- Admin Utilities: Powerful admin commands for managing any plot.
- Folia Compatible: Designed to run efficiently on modern Folia servers.
- Multi-Language: Supports 7 languages, easily configurable.
- Automatic Swastika Detection: Protects your server from inappropriate builds. (Coming soon)
- Plot Selling: Player-to-player plot marketplace via Vault. (Coming soon)
- Events Mode: Streamer/community build events with timer, voting, and leaderboard. (Coming soon)
Installation
- Download the latest release from the releases page.
- Place the
Plot-X.X.X.jarfile into your server'spluginsdirectory. - Restart your server. The plugin will generate the necessary configuration files.
- Configure the plugin by editing
plugins/Plot/config.yml. - (Optional) If using a multiverse plugin, ensure the
plot_worldinconfig.ymlmatches the name of your plot world.
World Setup & Generation
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.
Method 1: Manual Generation (Standard)
This is the recommended method if you are not using a world management plugin.
- Open your server's
bukkit.ymlfile. - Scroll to the bottom and add the following configuration:
(If your world is named something other than "world", replace the name accordingly.)worlds: world: generator: Plot - Delete the existing world folder (e.g., the
/worldfolder) while the server is offline to allow the generator to build the plot structure from scratch. - Start your server.
Method 2: MultiverseCore
If you want to use a separate world for plots, create it with:
/mv create <worldName> normal -g Plot
Configuration
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.
Configuration
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
Commands & Permissions
The main command is /plot (or its alias /p).
Plot Commands
| 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 |
Backup Commands
| 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 |
Player World Commands
| 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 |
WorldEdit Commands
| 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 |
Admin Commands
| 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 |
Developer API
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).
License & Usage Terms
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.
Ownership & License
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.
Restrictions
You may not:
- Redistribute, sell, or share this plugin or its premium features
- Modify, decompile, or reverse engineer the plugin
- Bypass premium or license systems
Premium Features
Paid features are available under a valid license. Sharing or leaking access is strictly prohibited.
Anti-Piracy & Support
Cracked, leaked, or modified versions are not supported and may stop working at any time. Support is only provided for legitimate copies.
Acceptance
By using this plugin, you agree to these terms. If you do not agree, do not use it.
© 2026 All rights reserved.


