Inactive [WGEN/SEC] PlotMe v0.9 - Plot generation and protection [1.3-R1.0]

Discussion in 'Inactive/Unsupported Plugins' started by ZachBora, Jun 2, 2012.

  1. Offline


    PlotMe - Plot Generation and Protection
    Version: v0.6b

    Greetings dear server admin! I present you PlotMe, a multi-world plot plugin. Each plot world has it's own configurations. Each plot is protected and only the owner can build on it. The paths surrounding the plots are protected against grief. Example world dynmap



    The only requirement is CraftBukkit and a SuperPermissions plugin. If you will host multiple worlds or if you are adding a new world, it is suggested to install a world management plugin like MultiVerse.

    Optional Dynmap addon

    You can find DynmapPlotMe here. It will show on your dynmap who owns which plots and the helpers.

    Video tutorial by Samkio and Torrent from WoopaGaming :

    Once you have place the PlotMe.jar in your plugins directory, Start your server with any map. This will create the configuration file located in your plugins/PlotMe folder.
    Open the file config.yml with a text editor and change the default settings (see configuration section below).

    Only map
    If this is the only map you will be using, go in your bukkit.yml and look for a section called "worlds:", if it is not present at it at the end of the file.
    In this section, add the name of your world and set the generator to PlotMe like this :
        generator: PlotMe
    Multiple maps
    If you are using MultiVerse, create the world like so :
    /mv create {NAME} normal -g PlotMe

    Since v0.3, PlotMe is now using Metrics by Hidendra. This sends unanonymous data to every half hour regarding the plugin version and number of plots. This is harmless but if you ever feel the need, it can be disabled in folder plugins/PluginMetrics/config.yml Just change the opt-out to true.

    PlotMe comes with following default configurations :
        PlotAutoLimit: 100
        PathWidth: 7
        PlotSize: 32
        BottomBlockId: 7
        WallBlockId: 44
        PlotFloorBlockId: 2
        PlotFillingBlockId: 3
        RoadHeight: 64
        DaysToExpiration: 7
    usemySQL: false
    mySQLconn: jdbc:mysql://localhost:3306/minecraft
    mySQLuname: root
    mySQLpass: password
    • PlotAutoLimit - This is the max plot X that the command /plot auto will loop. 100 means 100x100 plots will be scanned. Increase when the command returns an error. "No plot found within 10000 plots. Contact an admin."
    • PathWidth - This is the width of the paths INCLUDING the plot walls
    • PlotSize - This is the size of one side of each plots and excludes the wall. The walls cannot be modified by plot owners
    • BottomBlockId - The is the block at the bottom of the world. By default bedrock
    • WallBlockId - This is the block around each plots. By default half-step. Other values could be 0 (air).
    • PlotFloorBlockId - This is the top layer of each plot
    • PlotFillingBlockId - This is the content between the top layer and the bottom layer in each plot.
    • RoadHeight - This is the height at which the road is.
    • DaysToExpiration - This is the number of days at which plots expire. Setting this to 0 makes the plots never expire. Expired plots are not deleted or cleared, they are simply added to the list of expired plots at "/plotme expired".
    • usemySQL - If this is false, PlotMe will use a SQLLite file located in the plugin subfolder next to this configuration file. If set to true, the plugin will use MySQL
    • mySQLconn - Connection string with MySQL
    • mySQLuname - Username for MySQL
    • mySQLpass - Password for MySQL
    Example with 3 maps :
    Show Spoiler

        PlotAutoLimit: 100
        PathWidth: 7
        PlotSize: 32
        BottomBlockId: 7
        WallBlockId: 44
        PlotFloorBlockId: 2
        PlotFillingBlockId: 3
        RoadHeight: 64
        DaysToExpiration: 7
        PlotAutoLimit: 100
        PathWidth: 9
        PlotSize: 50
        BottomBlockId: 7
        WallBlockId: 44
        PlotFloorBlockId: 2
        PlotFillingBlockId: 3
        RoadHeight: 30
        DaysToExpiration: 0
        PlotAutoLimit: 100
        PathWidth: 15
        PlotSize: 200
        BottomBlockId: 7
        WallBlockId: 44
        PlotFloorBlockId: 2
        PlotFillingBlockId: 3
        RoadHeight: 10
        DaysToExpiration: 0
    usemySQL: false
    mySQLconn: jdbc:mysql://localhost:3306/minecraft
    mySQLuname: root
    mySQLpass: password


    Once your server is configure and everything is ready and after you've setup the permissions using the section below, the rest is very easy.
    All that needs to be done is for a user to come up to a plot and type /plotme claim or from anywhere inside the plot world use /plotme auto and a plot will be automatically assigned to the person. A claimed plot gets a sign in the corner that displays the plot id along with the owner. This sign will disappear if the plot is reset.

    The owner of the plot can now build whatever he wants.

    What if the owner wants to get rid of his plot? An admin or someone with the right permissions can use /plot clear and the plot will be recreated just like it was previously.

    Plots and paths will be protected, as long as the world name is in the configuration file, no need to create a worldguard region.

    The commands can start either by /plotme /plot or /p as long as no other plugin conflicts. VoxelSniper uses /p
    • /plotme claim Claim the plot
    • /plotme claim <player> Claim the plot for a player
    • /plotme auto Claim the next free plot
    • /plotme home[:#] Brings you to your plot. :# if multiple plots. Example: /plotme home will take you to your first plot. /plotme home:2 will take you to your second plot.
    • /plotme home[:#] <player> Teleport to that player plot. :# if multiple plots. Example: /plotme home zachbora will take you to his first plot. /plotme home:2 zachbora will take you to his second plot.
    • /plotme info Displays info on the plot. (The plot ID, owner, biome, expiration date, finished, helpers)
    • /plotme comment <text> Leave a comment
    • /plotme comments Shows the plot comments
    • /plotme biome Shows current biome
    • /plotme biome <biome> Sets the plot biome
    • /plotme biomelist List the possible biomes
    • /plotme tp <id> Teleports to a plot
    • /plotme id Gets plot id and coordinates
    • /plotme clear Clears the plot
    • /plotme reset Clears the plot and removes owner
    • /plotme add <player> Allows a player on the plot
    • /plotme remove <player> Removes a player on the plot
    • /plotme setowner <player> Sets the plot owner
    • /plotme move <id-from> <id-to> Exchanges both plots (VERY experimental, will break torches and stuff)
    • /plotme reload Reloads the plugin
    • /plotme list Lists your plots
    • /plotme list <player> Lists that player's plot
    • /plotme weanywhere Allows to use WorldEdit outside plots that you own
    Commands usable by console
    • /plotme reload Reloads the plugin

    There are 2 main permissions. You can either give those or give specific sub-permissions.
    • plotme.useIncludes :
      • plotme.use.claim Gives /plotme claim
      • Gives /plotme auto
      • plotme.use.home Gives /plotme home[:#]
      • Gives /plotme info and /plotme biome
      • plotme.use.comment Gives /plotme comment
      • plotme.use.comments Gives /plotme comments
      • plotme.use.biome Gives /plotme biome <biome> and /plotme biomelist
      • plotme.use.comments Gives /plotme comments
      • plotme.use.clear Gives /plotme clear for plots owned
      • plotme.use.add Gives /plotme add <player> for plots owned
      • plotme.use.remove Gives /plotme remove <player> for plots owned
    • Not included in :
      • plotme.use.add Gives /plotme add <player>(Only applies to plots you own)
      • plotme.use.remove Gives /plotme remove <player>(Only applies to plots you own)
      • plotme.limit.X Replace X by a number to limit the number of plots a user can claim/auto or by * for unlimited plots. If the user doesn't have permission, default is 1 plot. If the user has multiple permissions due to inheritance, highest number is kept
    • plotme.adminIncludes :
      • plotme.admin.claim.other Gives /plotme claim <player>
      • plotme.admin.home.other Gives /plotme home[:#] <player>
      • Gives /plotme tp <id>
      • Gives /plotme id
      • plotme.admin.clear Gives /plotme clear
      • plotme.admin.reset Gives /plotme reset
      • plotme.admin.add Gives /plotme add <player>
      • plotme.admin.remove Gives /plotme remove <player>
      • plotme.admin.setowner Gives /plotme setowner <player>
      • plotme.admin.move Gives /plotme move <id-from> <id-to>
      • plotme.admin.weanywhere Gives /plotme weanywhere
      • plotme.admin.list Gives /plotme list <player>
      • plotme.admin.reload Gives /plotme reload
    Things to do / Planned additions
    • Find a way to make /plot move more stable.
    • Add function to move a plot from a smaller world to a bigger plot world.
    • Add a command to flag plots Done and a command for admins to see plots that are done
    • Add function to connect adjacent plots of the same owner.
    Examples / Testimonies

    The plugin is currently in use on the PwegoServer. Dynmap example

    Version 0.7
    Major changes
    • Added 2 protection groups per world.
      • ProtectedBlocks : Will prevent people from interacting with these blocks. 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. Defaults :
        • 351:15 Bonemeal
        • 321 Paiting
        • 259 Flint and Steel
        • 328 Minecraft
        • 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

    Older versions
    Show Spoiler

    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
    • Built help pages, usable with /plotme, /plotme 2, /plotme 3, etc. Thanks to t3hcontroller
    • Made worlds case-insensitive. Existing worlds shouldn't be affected, if they are please notice 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 no longer turn the corner block into double half-steps. Removing owner no longer turns corner into half-step.
    Version 0.2c
    • Fix permissions issues
    • Fix 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
    xingbreakin, JWhy, codename_B and 6 others like this.
  2. Offline


    If you give a worldedit permission (worldedit.something), they can only use it on their plots.

    The next update which will have merged/linked plots will allow to WE between plots of the same owner.
  3. Offline


    YES!!!!! That is exactly what i wanted, your awesome man!!!!
  4. Offline


    PLEASE HELP!!! Why does this keep happening ITS SOOO ANNOYING:[​IMG]

    Attached Files:

  5. Offline


    Please provide in a your plotme config.yml, your multiverse config and your server start log.
  6. Offline


    Hmmmm I think you should do /PlotMe Buy instead of /PlotMe Claim Maybe in future update?
  7. Offline


    There's already a plotme buy command to buy plots being sold by another player or by the bank.
  8. Offline


    Here are links to all:
    PlotMe config:
    MultiVerse config:
    Server log:

    How long will it be till this is 1.3 compatable

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 26, 2016
  9. Offline


    This looks fine.

    We're going to do 2 things and we'll see if it fixes it.
    1. In your plotme config.yml, change "plotworld:" to "PlotWorld:". The plugin is supposed to be already case-insensitive regarding world name but I might have forgotten a part somewhere.
    2. In your bukkit.yml add this at the end :
    Replace the SPACE with real spaces.

    After that, see if new chunks are looking OK. If they are, then you'll just need to fix existing bad chunks with worldedit //regen. You might need to replace wool with planks after using regen.

    In my opinion, it's already 1.3 compatible we just need to wait for craftbukkit to update.

    I doubt anything will break with 1.3. When they put a 1.3 build available, I will try my plugin on it and anything requirying to be fixed should be quick.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 26, 2016
  10. Offline


    Ok, i will try the first one and just hope it works and if it doesnt i will find out in a few days/weeks probably
  11. Offline


    Thank you! I hope that it works :)
  12. Offline


    Yup. Btw, should I perhaps create the plotworld then edit the config.yml, or edit the config first, or does it matter? Oh wait, in the plotme config? Hm...I'll try again. Hm, with files that have a config.yml file, they seem to have a defaults folder that the config is located in, and I can't find a defaults folder in plotme, and I looked in every folder for a config, but it seems to not like existing.
  13. Offline


    Under plugins you should have a PlotMe folder that gets created upon first server start. You can edit the config.yml within it and save. Then you can do /plotme reload. When that's done, you create your world.
  14. Hi, on my server this plugin works fine except for 1 MAJOR PROBLEM (PS I am using Dev version of 1.3.1 craftbukkit) So basically a bug you will need to fix is when you type /mv create [world] -g PlotMe it doesnt create a plotme world, it only creates a normal world. When I updated i tried to import it but it kept giving me errors I believe because of the compatibility of the plugin. Just a bug i thought i'd mention! And please fix it soon!

    it works fine on 1.2.5 though :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 26, 2016
  15. Offline


    Can you check in your server log if there was any errors on server load or when using the /mv create command?

    Edit: Also remember that this might very well be that Custom Generator are plain broken in this DEV build. It could be temporary and be fixed in a later build. DEV builds aren't made to be used on live servers unless you know what you're doing.
  16. Yes. I have used dev builds before, so I know what i am doing with that. Also I'll check for errors soon.

    It seems like my old world was broken. Trying to use chunkster and see if that will work.

    EDIT: Didn't work. I'll notify bukkit about the custom generators.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 26, 2016
  17. Offline


    2012-08-02 20:44:30 [INFO] [Multiverse-Core] 22 - World(s) loaded.
    2012-08-02 22:56:33 [INFO] [Multiverse-Core] Loading World & Settings - 'PlotMe' - Env: NORMAL - Type: null & generator: PlotMe
    2012-08-02 22:56:33 [SEVERE] [Multiverse-Core] The world 'PlotMe' could NOT be loaded because it contains errors!
    2012-08-02 22:56:33 [SEVERE] [Multiverse-Core] Try using Chukster to repair your world! 'PlotMe'
    2012-08-02 22:56:33 [SEVERE] [Multiverse-Core]
  18. Offline


    There is currently a bug with the current dev build that doesn't create the world if using a custom generator.

    Edit: Turns out the problem is Multiverse. Will need to wait for them to update. Without multiverse my world is running fine.
  19. Offline


    kk,I´ll wait for the next multiversee update [creeper]
  20. Zach, you're right about the generators being broken. I just tested with another plots plugin that generates plots and it did the EXACT SAME THING yours did. So we have 2 problems: Either multiverse (which has been fully tested and is claimed to 100% work with 1.3) or Craftbukkit isn't working with it (which i think is the right solution) i'll notify the team about the custom generation bug. Thanks for the plugin!

    EDIT: I believe Multiverse came out with a new version or something yesterday, but it could be multiverse. The only thing the craftbukkit dev build has done is made my game get more FPS lag and sometimes some server crashes.

    These errors anything new?

    2012-08-03 09:30:04 [SEVERE] java.lang.NullPointerException
    2012-08-03 09:30:04 [SEVERE]at net.minecraft.server.WorldServer.<init>(
    2012-08-03 09:30:04 [SEVERE]at org.bukkit.craftbukkit.CraftServer.createWorld(
    2012-08-03 09:30:04 [SEVERE]at org.bukkit.Bukkit.createWorld(
    2012-08-03 09:30:04 [SEVERE]at org.bukkit.WorldCreator.createWorld(
    2012-08-03 09:30:04 [SEVERE]at com.onarandombox.MultiverseCore.utils.WorldManager.doLoad(
    2012-08-03 09:30:04 [SEVERE]at com.onarandombox.MultiverseCore.utils.WorldManager.doLoad(
    2012-08-03 09:30:04 [SEVERE]at com.onarandombox.MultiverseCore.utils.WorldManager.loadWorlds(
    2012-08-03 09:30:04 [SEVERE]at com.onarandombox.MultiverseCore.MultiverseCore.onEnable(
    2012-08-03 09:30:04 [SEVERE]at
    2012-08-03 09:30:04 [SEVERE]at
    2012-08-03 09:30:04 [SEVERE]at org.bukkit.plugin.SimplePluginManager.enablePlugin(
    2012-08-03 09:30:04 [SEVERE]at org.bukkit.craftbukkit.CraftServer.loadPlugin(
    2012-08-03 09:30:04 [SEVERE]at org.bukkit.craftbukkit.CraftServer.enablePlugins(
    2012-08-03 09:30:04 [SEVERE]at org.bukkit.craftbukkit.CraftServer.reload(
    2012-08-03 09:30:04 [SEVERE]at org.bukkit.Bukkit.reload(
    2012-08-03 09:30:04 [SEVERE]at org.bukkit.command.defaults.ReloadCommand.execute(
    2012-08-03 09:30:04 [SEVERE]at org.bukkit.command.SimpleCommandMap.dispatch(
    2012-08-03 09:30:04 [SEVERE]at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
    2012-08-03 09:30:04 [SEVERE]at net.minecraft.server.NetServerHandler.handleCommand(
    2012-08-03 09:30:04 [SEVERE]at
    2012-08-03 09:30:04 [SEVERE]at net.minecraft.server.NetServerHandler.a(
    2012-08-03 09:30:04 [SEVERE]at net.minecraft.server.Packet3Chat.handle(
    2012-08-03 09:30:04 [SEVERE]at net.minecraft.server.NetworkManager.b(
    2012-08-03 09:30:04 [SEVERE]at net.minecraft.server.NetServerHandler.d(
    2012-08-03 09:30:04 [SEVERE]at net.minecraft.server.ServerConnection.b(SourceFile:35)
    2012-08-03 09:30:04 [SEVERE]at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
    2012-08-03 09:30:04 [SEVERE]at net.minecraft.server.MinecraftServer.q(
    2012-08-03 09:30:04 [SEVERE]at net.minecraft.server.DedicatedServer.q(
    2012-08-03 09:30:04 [SEVERE]at net.minecraft.server.MinecraftServer.p(
    2012-08-03 09:30:04 [SEVERE]at
    2012-08-03 09:30:04 [SEVERE]at
    2012-08-03 09:30:04 [SEVERE] [Multiverse-Core] The world 'Creativity' could NOT be loaded because it contains errors!
    2012-08-03 09:30:04 [SEVERE] [Multiverse-Core] Try using Chukster to repair your world! 'Creativity'
    2012-08-03 09:30:04 [SEVERE] [Multiverse-Core]

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 26, 2016
  21. Offline


    I do not support dev builds, they are too wacky and it's most-likely bukkit's fault. You can submit problems to

    I will however do my possible to get everything working by the time a Beta build is ready. And when I say that it means reporting to bukkit the problems I obtain from using PlotMe, it doesn't mean PlotMe is responsible for the problems.
  22. Offline


    I just tried to generate a new plot world on 1.3.1 Dev build and it generated a world with nothing in it... No errors though.
  23. Are you using multiverse or a dev build for craftbukkit? One of those is glitching the plot worlds up
  24. Offline


    Im Having a Problem with plotme on 1.3 where anyone can place water and lava on anyone elses plot. (took ages to fix 120 plots!) :'(
  25. Offline


    I do not support dev 1.3 it is just a DEV build and SHOULDN'T be used on live servers. It's at your own risks.
  26. Offline


    Thanks For the Quick Reply. Do you know when the 1.3 update for plotme will be released?
  27. Offline


    It has nothing to do with PlotMe. It's Bukkit that needs to fix itself and PlotMe should work as is.
  28. Offline


    awesome plugin. how do i change the size of the plots though?
  29. Offline


    In the configuration before you create the world.
  30. Offline


    when i changed the size it reverted back to 32
  31. Offline


    Did you reload the plugin after saving it and before creating the world? /plotme reload

Share This Page