Version History

Version 0.13f


  • Nullpointerexception on player login
  • Nullpointerexception when looking at a plot information on a currency plot world

Version 0.13de


  • Made SqlManager.addPlotComment() also accept the same arguments as the previous plotme version.

Version 0.13c


  • Updated to use UUIDs on Owner, Current Bidder, Allowed players, Denied players and commenters
    • On first start, server will fetch the UUID of every player in the database. This is made in an asynchronous process and should cause minimal lag to the server.
    • When testing if a player can build in an area, his UUID is now compared instead of his name.
    • Soon Mojang will allow players to change name. To compensate for that, when a player logs on the server, it will verify and update when needed his name on plots. This is also done asynchronously but I believe it could cause issues on dense servers with many many plots. If it becomes a problem, I might turn this into a manual process. The player would need to type a command to update plots with his name.
    • When you set a plot to a player, add a player, deny a player, if that player is not online, it will query the mojang server to fetch his UUID. This way, if the player changes name before he logs back on there is less chance of issues.


  • Items from Item frames can no longer be removed by unauthorized players
  • Snowman no longer leave snow behind them (You will see ghost snow but it will be gone if you relog)
  • Fixed the generator to properly use the second value in blocks defined in configuration (i.e RoadMainBlockId: '159:9')
  • Fixed migration from Flat file to SQL where it would not copy the allowed/denied/comments
  • Fixed a typo in a caption when removing denied players

Version 0.13b


  • Fix converting database from SQLite to MySQL
  • Added the captions missing from info command for auctions
  • Fixed error when using plotme home from a non plot world
  • Added missing caption MsgNowAllowed
  • Fix error when teleporting caused by plugins not teleporting properly (they provide locations with null world)

Version 0.13


  • Added an option to deny players from entering a plot. If you deny someone currently in the plot, they get teleported to the plot home.
    • Added prices to deny and undeny players
    • There is a global configuration to enable or disable this feature (allowDeny)
    • Deny * to deny everyone except people allowed on the plot
    • Adds a new table to the database plotmeDenied
  • Added permission node to bypass denial plotme.admin.bypassdeny
  • Added permission node to build anywhere like what plotme.admin gave: plotme.admin.buildanywhere
  • Added permission nodes to bypass the protected blocks with plotme.unblock.<id>. Ex: plotme.unblock.54

API changes:

  • Added PlotManager.getPlotHome(world, plot)
  • Changed PlotManager.getPlayersInPlot to now require a World as first argument

Version 0.12e


  • Made the MoveEvent take less time, should reduce lag. (This only concerns people with WorldEdit installed)
  • Fixed possible grief on plot borders by doubling the half-steps.
  • Changed the default plot limit back to 1 by default if permissions "plotme.use" is present and to 0 if not present.

Version 0.12d


  • Fixed a critical issue that messed the plot limit.

Version 0.12c


  • Really fixed plot clearing and reset speed.
  • Fixed not being able to use commands that cost $0 when you have $0
  • Fixed some memory leaks caused by static variables

Version 0.12b


  • Tweaked the clear and reset commands. Instead of searching the whole world for entities in the plot, it will only look at the chunk entities. We are still working on an alternative way of clearing plots.

Version 0.12


  • Customizable road blocks and values for every blocks generated.
    • Just place the id as "id:value" in the configuration.
    • Configuration 'RoadMainBlockId' and 'RoadStripeBlockId' added. Default to 5 and 5:2.
  • Added API function to get the list of players in a plot (We'll add an API page soon)
  • Added LWC support. Clear plots now remove any locks from blocks.
  • Added Extended block id support (for custom block servers)


  • Plots are now cleared all the way to bedrock instead of stopping at y:1
  • Fixed plot info signs cutting at 15 instead of 16
  • Changing the biome now refreshes instantly instead of having to relog to see the changes
  • Clearing plots now empties chests and other containers to prevent tons of items dropping
  • Clearing plots now removes every entities that aren't players
    • Monsters
    • Animals
    • Paintings
    • Itemframes
    • Vehicles (Minecarts, boats)

Version 0.11c


  • The biome change command (plotme biome <biome>) automatically refreshes the chunks the plot is contained in to the clients.

Version 0.11b


  • Added an auto-update feature in the config.yml. By default it is set to false. If you set it to true, when server starts it will check if a new update is available and download it for you. It will be updated on the next server restart.

Version 0.11


  • Removed errors on home, tp and move commands when invalid inputed data (e.g.: "/plot home:")
  • Updated Metrics
  • Tweaked the display of biomelist to be ordered top to down and accross.


  • Added language support.
    • Each language is to be placed in it's own "caption-language.yml" in the PlotMe folder. The first time you will run the server, it will create the caption-english.yml. Just copy it into your own language. In the config.yml, you can set the language.
    • For example the config "Language: russian" will try to read from "caption-russian.yml".
    • Note: You can rename every commands except the reload command. This is in case it fails to load your language file. Any errors will be displayed in your server log.
    • Note2: If you use a special language (e.g. Russian or Greek), make sure you save the file as UTF-8 without BOM. The english file is already in this encoding so unless you manually change it, there shouldn't be a problem. If someone needs more than UTF-8, you can try to save it as UTF-16 but I haven't tried it.
  • Added defaultWEAnywhere config which will make your WorldEdit users WorldEdit anywhere by default, as long as they have the permission plotme.admin.weanywhere
  • Added command allowWorldTeleport for interworld teleportation. If enabled, the TP, Auto and Home commands will either use your first plotworld by default to teleport to or accept an additionnal [world] argument
    • /plotme tp <id> [world]
    • /plotme home[:#] [player] [world]
    • /plotme auto [world]
  • Public plots : By adding * to the allowed list of a plot or setting * as owner, anyone can break or place blocks on the plot.
  • Group plots : Two elements are needed to achieve this.
    • First add to every group the permission "". This does not need to be the same name, preferably use a public name. For example the group "Admin12345" could have permission "".
    • Second, set the plot owner or add to the allowed list "Group:nameofthegroup". For example here I'd add "Group:admin".
    • Since permissions are inheritted, say you have Guest, Vip and Admin groups. You only need to give to each their own "". Setting a plot to "Group:Guest" will allow Guest, Vip and Admin to build on the plot.

Version 0.10b


  • Removed bug when using the home command with : without a number after. E.g.: /plotme home: bob
  • Fixed /plotme resetexpired <worldname>
  • Fixed error when using /plotme remove <name>

Version 0.10


  • New command to reset a few expired undone unprotected plots. It might lag server a little. /plotme resetexpired <worldname>. At the moment, it will delete 5 plots each 5 seconds up to 50 plots deleted.
  • Added default protected blocks :
    • Beacon (id: 138)
    • Flower Pot (id: 140)
    • Anvil (id: 145)


  • Protect item frames (both filling and rotating)
  • Prevent using eggs in plots you do not own. Might eventually give different options (egg anywhere, egg only your plot, egg nowhere)
  • Prevent breaking paintings

Version 0.9


  • Missing chunks

Version 0.8

Added Economy support. Vault is required to enable it. New Commands & Permissions: /plotme done
Permission : plotme.use.done / plotme.admin.done
Flags your plot as finished. It will be reviewed by an admin.
/plotme donelist
Permission : plotme.admin.done
Lists finished plots.
/plotme dispose
Permission : plotme.use.dispose / plotme.admin.dispose
Dispose will remove the plot owner without clearing the plot. Someone can come and claim it.
/plotme protect
Permission : plotme.use.protect / plotme.admin.protect
Protects a plot against /plotme clear and /plotme reset
/plotme sell <amount>
Permission : plotme.use.sell / plotme.admin.sell
Puts your plot on sale for the specified amount. Use the command again to stop selling the plot.
/plotme sell bank
Permission : plotme.use.sell / plotme.admin.sell
Sells your plot to the bank. You will receive the amount specified in the world configuration. A plot sold to the bank will automatically be placed on sale at the amount specified in the configuration.
/plotme buy
Permission : /
Buys the plot for the amount it is marked for.
/plotme auction [amount]
Permission : /
Puts your plot on auction for the specified amount or 1 by default. Use the command again to disable the auction. STILL EXPERIMENTAL, plots are on auction indefinetly.
/plotme bid <amount>
Permission :
Places a bid on the plot.

New Configurations: globalUseEconomy
Enables economy for plots for all worlds. To use economy in a plot world, both this config and the world's "UseEconomy" must be enabled
Enables advanced logging. Advanced logging will add to your log file every time something happens with a plot. (plot claim, sell, buy, comment, etc.) It does not log information commands like info, tp, biomelist.

New plot world configurations: ProtectedWallBlockId
Block id used for the wall after a plot is protected. Mixes with ForSale and Auction wall blocks.
Block id used for the wall after a plot is put on sale. Mixes with Auction and Protected wall blocks.
Block id used for the wall after a plot is put on auction. Mixes with ForSale and Protected wall blocks.

New plot world economy subsection: UseEconomy
Enables economy for this world. You will also need globalUseEconomy enabled to use it.
Allows to put plots on sale
Allows to sell plots to the bank
When the reset command is used, the ClaimPrice will be reimbursed to the plot owner.
When the setowner command is used, the ClaimPrice will be reimbursed to the plot owner.
Price to use /plotme claim and /plotme auto
Price to use /plotme clear
Price to use /plotme add
Price to use /plotme remove
Price to use /plotme home
Allows to set a custom price when selling plots
Default price when using /plotme sell
Money given when a plot is sold to the bank
After a plot is sold to the bank, the plot will be on sale at this price. Do put this price ABOVE your SellToBankPrice or people can generate money.
Price to use /plotme comment
Price to use /plotme biome <biome>
Price to use /plotme protect
Price to dispose of the plot

Minor changes: Fixed a few bugs and some minor optimization

Version 0.7

Major changes:

  • Added 2 protection groups per world.
    • ProtectedBlocks : Will prevent people from interacting with these blocks in plots they aren't allowed. Defaults :
      • 54 Chest
      • 61 Furnace
      • 62 Burning Furnace
      • 120 End Portal Frame
      • 94 Repeater On
      • 95 Repeater Off
      • 84 Jukebox
      • 25 Note Block
      • 26 Bed
      • 118 Cauldron
      • 117 Brewing Stand
    • PreventedItems : Will prevent people from right-clicking while holding these items in plots they aren't allowed. Defaults :
      • 351:15 Bonemeal
      • 321 Paiting
      • 259 Flint and Steel
      • 328 Minecart
      • 343 Minecart with Furnace
      • 342 Minecart with Chest
      • 333 Boat

Minor changes:

  • Fixed powering rails and redstone above and under roads. The physic event is no longer being listened. If this causes any issues please report this in a ticket with the process to reproduce the problem.
  • Fixed errors thrown when you didn't properly set your configurations and you tried to generate a world with Multiverse. The world will now properly generate with default values and throw a warning.
  • Removed debugging message when plots expiration is updated

Version 0.6c

  • Fixed Lag (hopefully for good this time!) by removing unnecessary Expiration date updates.
  • Enabled "Interactions" in other people plots like Levers, pressure plates, doors. Bonemeal is the only disabled interaction. This fix is temporary and in the future, flags will be added per plots and/or per world.
  • Fixed plotme.limit.X permission for PEX users. Apparently the way it was handled isn't supported by PEX, so a loop has been added and will support a limit up to 255.
  • Fix to entity explosions, hopefully no more errors thrown now.
  • Renamed the config "WorldHeight" to "RoadHeight". Existing "WorldHeight" will automatically be renamed "RoadHeight". "WorldHeight" is now deprecated. (Deprecated means it will still work for the next few updates when people migrate, but we will remove it someday and if people have never used v0.6c+ they will have the "RoadHeight" property reset to default)
  • Fixes for Null errors
  • RoadHeight (WorldHeight) is now limited to 250. Anything above that will raise an error and set itself to 250.

Version 0.6b

  • Fixed the /plotme remove command
  • Disabled TNT in all plotme worlds. This is to fix TNT exploit when triggering tons of TNT near claimed plots. There's nothing I can do to prevent it at the moment because when a TNT entity moves it does not throw an event so I cannot tell if it moved from one claimed plot to another.
  • Fix to expiration update, instead of saving to database each time a block is broken or placed, it will only save to database if the new expiration date is different than the previous one. This should improve performance.
  • Fixed help doing an error outside plot worlds.
  • Added lots of error handlings to various commands. This should remove the errors in logs.

Version 0.6

  • Fixed the help to only show commands you are allowed to use
  • Added command "/plotme list" which displays plots that you are allowed to build on along with the expiration date and helpers. (plotme.user.list)
  • Added command "/plotme list [player]" which displays plots that you are allowed to build on along with the expiration date and helpers. (plotme.admin.list)
  • Added command "/plotme expired [page]" which displays expired plots (plotme.admin.expired)
  • Added command "/plotme addtime" which resets the expiration date depending on the DaysToExpiration configuration. (plotme.admin.addtime)
  • Plots which get modified by the plot owner or by one of the helpers get it's expiration date reset. (Listening to block place, break and interact)
  • Added new parameter in the config.yml for the DaysToExpiration. Default is 7. Set to 0 for never expire.
  • Fixed config.yml to input default values for new parameters when they were previously not present (Example: WorldHeight)
  • Changed the date format for Expiration date in the command "/plotme info" to YYYY-MM-DD

Version 0.5

  • Added permission "plotme.limit.X". It determines the number of plots that can be claimed. Replace X with a number or with * for unlimited.
  • Added new parameter in the config.yml for the WorldHeight. Default is 64

Version 0.4b

  • Enabled //up for plots allowed
  • Disabled SuperPickaxe single outside plots allowed
  • Disabled TNT and setting Fire in roads and plots in which you are not allowed. TNT cannons should only break blocks in the plot they originated from.
  • Fixed sign placement when road was set on different width than 7. Existing plots can be fixed by applying /plotme setowner with the current owner. You'll have to manually break the leftover sign.
  • Fixed /plot clear and /plot reset not correctly aligning when path width different than 7.
  • Fixed Helpers being unable to use WorldEdit.
  • Fixed Helpers added with different capitalization not being able to build.
  • Fixed using worldedit while standing outside the plot. Previously you had to walk into the plot. Now it will detect on click and set your worldedit zone there if you are allowed.

Version 0.4

  • Added WorldEdit support. Even if the user has WorldEdit permission, he can only modify a plot he owns. Commands //gmask and //up are disabled in a plot world. People with permission "plotme.admin.weanywhere" can use command "/plotme weanywhere" to use WorldEdit anywhere.
  • The command /plotme clear and /plotme reset now also restore the wall surrounding the plot.

Version 0.3b

  • Fixed command setowner and biome to correctly save them in the database. Prior to this fix, they would revert upon server restart.
  • Fixed WorldGenerator error when world was not contained in configuration file (does not contain any generators that may be used in the default world). When this is the case, Default configurations will be used to generate the world and a warning will be shown in server log.

Version 0.3

  • Rebuilt help pages, usable with /plotme, /plot 2, /plotme 3, etc. Thanks to th3controller
  • Made worlds case-insensitive. Existing worlds should not be affected, if they are please notify me
  • Added clear, add, and remove for owned plots. Permissions: plotme.use.clear, plotme.use.add, and plotme.use.remove
  • Fix allowing plot owners to use buckets on the sides of the plots
  • Signs telling the plot owner can no longer turn the corner block into a double half-step. Removing owner can no longer turn the corner into a half-step.
  • PlotMe is now using Metrics by Hidendra. More information in the Metrics section in the main page.

Version 0.2c

  • Fixed permission issues
  • Fixed configuration overwritting itself with previous configuration when using the plotme reload command

Version 0.2b

  • Removed some forgotten debugging code throwing an error when no world is named "plotworld"

Version 0.2

  • First public release


Date created
Jun 12, 2012
Last updated
May 04, 2014