PlotMe

Main

r28

PlotMe

Greetings dear server admins! I present to you, PlotMe, a multi-world plot management plugin. Each plot world has its own configurations. Each plot is also protected and only the owner can build on it. The paths/road surrounding the plots are protected against any type of griefing. DynMap world example

Requirements

Requirements to run PlotMe are CraftBukkit and a permissions plugin that supports SuperPermissions(PEX, PermissionsBukkit, bPermissions, etc.). If you will host multiple worlds or if you are adding a new world it's suggested to install a world management plugin such as Multiverse-Core.

Installation

One you have placed PlotMe.jar in your plugins directory, start your server with any map. This will then create a configuration file located in "/plugins/PlotMe" folder. Open the file config.yml with a text editor(such as Notepad++) and change the default settings to your liking(see the configuration section below for more information).

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 :

worlds:
  plotworld:
    generator: PlotMe

Multiple worlds
If you are using Multiverse, create the world like so : /mv create {NAME} normal -g PlotMe The -g PlotMe part is very important and is the part that chooses the generator. But, you also need to have your world in the configuration for it to work.

Metrics

Since v0.3, PlotMe is now using Metrics by Hidendra. This sends unanonymous data to mcstats.org 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.

Configuration

PlotMe comes with following default configurations :

worlds:
  plotworld:
    PlotAutoLimit: 100
    PathWidth: 7
    PlotSize: 32
    BottomBlockId: 7
    WallBlockId: 44
    PlotFloorBlockId: 2
    PlotFillingBlockId: 3
usemySQL: false
mySQLconn: jdbc:mysql://localhost:3306/minecraft
mySQLuname: root
mySQLpass: password
  • plotworld: - This is the name of your Map. You can have multiple times this section if you intend on having more than one map
  • 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.
  • 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 :

worlds:
  starterland:
    PlotAutoLimit: 100
    PathWidth: 7
    PlotSize: 32
    BottomBlockId: 7
    WallBlockId: 44
    PlotFloorBlockId: 2
    PlotFillingBlockId: 3
  advancedworld:
    PlotAutoLimit: 100
    PathWidth: 9
    PlotSize: 50
    BottomBlockId: 7
    WallBlockId: 44
    PlotFloorBlockId: 2
    PlotFillingBlockId: 3
  megabuilds:
    PlotAutoLimit: 100
    PathWidth: 15
    PlotSize: 200
    BottomBlockId: 7
    WallBlockId: 44
    PlotFloorBlockId: 2
    PlotFillingBlockId: 3
usemySQL: false
mySQLconn: jdbc:mysql://localhost:3306/minecraft
mySQLuname: root
mySQLpass: password

Usage

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.

Commands

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

Commands usable by console

  • /plotme reload Reloads the plugin

Permissions

There are 2 main permissions. You can either give those or give specific sub-permissions.

  • plotme.use Includes :
    • plotme.use.claim Gives /plotme claim
    • plotme.use.auto Gives /plotme auto
    • plotme.use.home Gives /plotme home[:#]
    • plotme.use.info 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 Does NOT Include :
    • plotme.use.add Gives /plotme add <player> for plots owned
    • plotme.use.remove Gives /plotme remove <player> for plots owned
  • plotme.admin Includes :
    • plotme.admin.claim.other Gives /plotme claim <player>
    • plotme.admin.home.other Gives /plotme home[:#] <player>
    • plotme.admin.tp Gives /plotme tp <id>
    • plotme.admin.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.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 a command for admins to see which plots have expired. The admin will then decide if the plot is to be Reset or kept
  • Add function to connect adjacent plots of the same owner.
  • Add dynmap support : show who's plot each is
  • Add config to reset expired date or not when building on the plot and the time it expires, right now it's 7 days from the claiming

Examples / Testimonies

The plugin is currently in use on the PwegoServer. Pwegoserver live dynmap

Shirecraft.us live dynmap

Version History

v0.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.
  • PlotMe is now using Metrics by Hidendra. More information in the Metrics section above.

v0.2c

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

0.2b

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

0.2

  • First public release

Facts

Date created
Jun 12, 2012