Biome Decorator


This plugin provides a simple generator for server admins to use to create an infinite world of building plots (of a configurable size), the idea is for it to be used to create a world to be used for building competitions. I made this to use on my server and am releasing it just in case anyone else is looking for the same thing.

NOTE: This does not create any worlds, you will need to use a plugin like MultiVerse or edit your world.yml file to create one using this plugins name as the generator. An example of the command used to create a world using MultiVerse would be

/mv create competition_world normal -g InfinitePlots

Bug Reports / Suggestions

If you find a bug, encounter a problem or have a suggestion, please fill out a ticket via the Tickets link above. I do not have the time to read through the comments section, any comment that fits the previous three categories will be ignored.

Plot Size

The plot-size option in the config file controls the size of the plots that are generated, it will only take effect in new areas so you may need to delete the worlds folder and have it regenerate.

You can also set the size of the plots for a given world using the generator ID parameter, for a size of 64 (the default) you can do

/mv create competition_world normal -g InfinitePlots:64

for 128 you would do

/mv create competition_world normal -g InfinitePlots:128

If the ID parameter is not specified the value from the config file will be used.

For details of the other config options see the config page.


Contributions to the project are very much welcome, if you have a feature that you want implemented and know a nice way to do it then consider forking the repo and submitting a pull request. These will be accepted as long as the following simple guidelines are followed.

  • Do not edit the structure of the pom.xml file, feel free to add a dependency if you need it but the formatting and structure should not be changed.
  • If you are exposing a new API method, add a JavaDoc comment to it, but don't over-comment internal code.
  • Follow the existing code style, don't antagonise over every space though !

All dependencies that are used are now available from a public Maven repo, so you don't have to worry about building several other projects just to add a simple change any more.

Source Code

Available on GitHub

Dev Builds

Changes Since Last Release

Information on the development version can be found on the new version of this page


Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.

Download Stats

View detailed stats

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of masterpedro masterpedro Mar 15, 2014 at 21:59 UTC - 0 likes

    What are the commands??

  • Avatar of gsjdks13 gsjdks13 Feb 27, 2014 at 10:08 UTC - 0 likes

    Thanks this was really help full for my server i hope this plugin keeps going into future minecraft updates thanks :)

  • Avatar of mal67 mal67 Jan 25, 2014 at 04:41 UTC - 0 likes

    @cdcp998: Go

    use plotme

  • Avatar of cdcp998 cdcp998 Jan 21, 2014 at 04:27 UTC - 0 likes

    How to solve this problem?

    • 2014-01-21 12:23:29 [δΈ₯重] Could not pass event WorldInitEvent to InfinitePlots v0.9-SNAPSHOT org.bukkit.event.EventException at$1.execute(JavaPluginLoader.ja va:437) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredLi at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:479) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:464) at org.bukkit.craftbukkit.v1_6_R3.CraftServer.createWorld(CraftServer.ja va:740) at org.bukkit.Bukkit.createWorld( at org.bukkit.WorldCreator.createWorld( at com.onarandombox.MultiverseCore.utils.WorldManager.doLoad(WorldManage at com.onarandombox.MultiverseCore.utils.WorldManager.addWorld(WorldMana at com.onarandombox.MultiverseCore.commands.CreateCommand.runCommand(Cre at com.pneumaticraft.commandhandler.multiverse.CommandHandler.checkAndRu nCommand( at com.pneumaticraft.commandhandler.multiverse.CommandHandler.processFou ndCommands( at com.pneumaticraft.commandhandler.multiverse.CommandHandler.locateAndR unCommand( at com.onarandombox.MultiverseCore.MultiverseCore.onCommand(MultiverseCo at org.bukkit.command.PluginCommand.execute( at org.bukkit.command.SimpleCommandMap.dispatch( 2) at org.bukkit.craftbukkit.v1_6_R3.CraftServer.dispatchCommand(CraftServe at java:1405) at 9) at java:1201) at a:68) at 70) at java:233) at at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747 _b( at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.jav a:914) at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(Dedicated at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.jav a:781) at at java:16) Caused by: java.lang.NoClassDefFoundError: org/bukkit/craftbukkit/v1_7_R1/CraftW orld at at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at$1.execute(JavaPluginLoader.ja va:435) ... 30 more Caused by: java.lang.ClassNotFoundException: org.bukkit.craftbukkit.v1_7_R1.Craf tWorld at .java:441) at java:234) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 36 more
    Last edited Jan 21, 2014 by cdcp998
  • Avatar of xXNicholasdXx xXNicholasdXx Jan 15, 2014 at 20:51 UTC - 0 likes

    When I go and create a plot world, it says that its creating then it says FAILED
    How do I fix it? Oh btw, its only plot worlds it does it to

  • Avatar of DeeeM508 DeeeM508 Jan 15, 2014 at 16:48 UTC - 0 likes

    I am trying to make it so that it does not show signs on the top of claimed plots. I have set show-signs to false, and I have even deleted and regenerated my world multiple times. It seems as if there is no way to diable the signs, because as soon as I claim a plot it adds one. I would really like to beable to disable them completely or I would like for it to work with the NAMER API so it will show nicknames instead.

    by the way I am using the latest DEV version.

    Last edited Jan 15, 2014 by DeeeM508
  • Avatar of xXNicholasdXx xXNicholasdXx Jan 14, 2014 at 23:32 UTC - 0 likes


  • Avatar of mal67 mal67 Jan 11, 2014 at 01:16 UTC - 0 likes
    10.01 20:15:15 [Server] INFO Players: Malaeus
    10.01 20:15:07 [Server] INFO Amenti Test Server - 1.7.2
    10.01 20:15:02 [Server] INFO Malaeus: FAILED.
    10.01 20:15:02 [Server] ERROR Failed to Create/Load the world 'Plot2'
    10.01 20:15:02 [Server] ERROR
    10.01 20:15:02 [Server] ERROR Try using Chukster to repair your world! 'Plot2'
    10.01 20:15:02 [Server] ERROR The world 'Plot2' could NOT be loaded because it contains errors!
    10.01 20:15:02 [Server] WARN at
    10.01 20:15:02 [Server] WARN at
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.MinecraftServer.t(
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.DedicatedServer.u(
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.MinecraftServer.u(
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134)
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.NetworkManager.a(
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.PacketPlayInChat.handle(
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.PacketPlayInChat.a(
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.PlayerConnection.a(
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.PlayerConnection.handleCommand(
    10.01 20:15:02 [Server] WARN at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(
    10.01 20:15:02 [Server] WARN at org.bukkit.command.SimpleCommandMap.dispatch(
    10.01 20:15:02 [Server] WARN at org.bukkit.command.PluginCommand.execute(
    10.01 20:15:02 [Server] WARN at com.onarandombox.MultiverseCore.MultiverseCore.onCommand(
    10.01 20:15:02 [Server] WARN at com.pneumaticraft.commandhandler.multiverse.CommandHandler.locateAndRunCommand(
    10.01 20:15:02 [Server] WARN at com.pneumaticraft.commandhandler.multiverse.CommandHandler.processFoundCommands(
    10.01 20:15:02 [Server] WARN at com.pneumaticraft.commandhandler.multiverse.CommandHandler.checkAndRunCommand(
    10.01 20:15:02 [Server] WARN at com.onarandombox.MultiverseCore.commands.CreateCommand.runCommand(
    10.01 20:15:02 [Server] WARN at com.onarandombox.MultiverseCore.utils.WorldManager.addWorld(
    10.01 20:15:02 [Server] WARN at com.onarandombox.MultiverseCore.utils.WorldManager.doLoad(
    10.01 20:15:02 [Server] WARN at org.bukkit.WorldCreator.createWorld(
    10.01 20:15:02 [Server] WARN at org.bukkit.Bukkit.createWorld(
    10.01 20:15:02 [Server] WARN at org.bukkit.craftbukkit.v1_7_R1.CraftServer.createWorld(
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.ChunkProviderServer.getChunkAt(
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.ChunkProviderServer.getChunkAt(
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.Chunk.a(
    10.01 20:15:02 [Server] WARN at net.minecraft.server.v1_7_R1.ChunkProviderServer.getChunkAt(
    10.01 20:15:02 [Server] WARN at
    10.01 20:15:02 [Server] WARN at org.bukkit.craftbukkit.v1_7_R1.block.CraftBlock.setTypeIdAndData(
    10.01 20:15:02 [Server] WARN at org.bukkit.craftbukkit.v1_7_R1.block.CraftBlock.getNMSBlock(
    10.01 20:15:02 [Server] WARN at org.bukkit.craftbukkit.v1_7_R1.util.CraftMagicNumbers.getBlock(
    10.01 20:15:02 [Server] WARN at org.bukkit.craftbukkit.v1_7_R1.util.CraftMagicNumbers.getBlock(
    10.01 20:15:02 [Server] WARN java.lang.NullPointerException
    10.01 20:15:02 [Server] INFO Preparing start region for level 4 (Seed: -6724559867642988288)
    10.01 20:15:02 [Server] INFO [InfinitePlots v0.9-SNAPSHOT]: Changed the world type of 'Plot2' to flat (this makes the void blue down to y = 0).
    10.01 20:15:02 [Server] INFO Loading World & Settings - 'Plot2' - Env: NORMAL - Type: NORMAL & generator: InfinitePlots
    10.01 20:15:02 [Server] INFO Malaeus: Starting creation of world 'Plot2'...

    im getting this error any time i try to create a world. this happens with the latest on dev bukkit, as well as the latest stable DEV build

    confused and disappointed as it *was* working on my test server a week or two ago. but when i go to change the worlds materials to something different (like quartz block for the road 155 instead of 43) it just spams console with errors and MV tells me FAILED when creating the world.

    whether i use the :size or not like /mv create world Normal -g InfinitePlots:64

    also, is there already an aliased command for /plot ? those who use towny cant access the command.

    Last edited Jan 11, 2014 by mal67
  • Avatar of Icecreamking99 Icecreamking99 Dec 29, 2013 at 19:18 UTC - 0 likes

    How can I make it so people that aren't opped or aren't added to the plot can trade with villagers?

  • Avatar of haduke haduke Dec 21, 2013 at 18:22 UTC - 1 like

    Okay. So here is the issue I am having with your plugin.

    When a player claims a plot they can place blocks on it and build all they like. However, they can not break ANY blocks, not even the ones they have placed!!! Also, as the admin/owner of my server, I can't decorate, addbuilders, etc etc to any other plots! It keeps telling me that I am not the owner of this plot. Like HELL I'm not! I'm the fricking owner of the server, lol!

    I am using craftbukkit-1.7.2-R0.2 and InfinitePlots Last Stable Build #95. PLEASE fix this problem because this plugin is what I have been looking for for well over a year now and it is doing EVERYTHING that I want it to do! I just need it to allow players to break the blocks on the plots that they have claimed!!!

    I am using bPermissions as my permissions plugin and from what I can tell all of my other plugins tied into it are working. Here is my config file for bPermissions:

    default: default
        - iConomy.access
        - infiniteplots.plot.teleport.others
        - modifyworld.*
        - multiverse.teleport.self.*
        - ^bukkit.command.plugins
        - ^infiniteplots.plot.decorate
        - ^infiniteplots.plot.reset
        - ^infiniteplots.plot.set-biome
        - ^infiniteplots.plot.unclaim
        groups: []
          priority: '100'
        - ygo.admin
        groups: []
          priority: '200'

    And here is my config for InfinitePlots:

    generator-only: false
    grid-size: 128
    grid-height: 30
    use-signs: true
    track-stats: true
    owner-prefix: Plot Owner
    purge-safe-list: []
      delay: 5
      pertick: 500
      protect-paths: true
      max: 2
      max-unused: 2
      cost: 50.0
      path: 45
      path-data: 0
      lower-wall: 98
      lower-wall-data: 0
      upper-wall: 44
      upper-wall-data: 0
      surface: 2
      ground: 1

    I am only going to be home until Tuesday December 24th and then won't be back again until January 3rd. I was hoping to have my server ready to launch by the end of January. Please look into this and get back to me ASAP! Thanks!!!

    Last edited Dec 22, 2013 by haduke


Date created
Sep 05, 2011
Last update
Aug 04, 2013
Development stage
GNU General Public License version 3 (GPLv3)
Curse link
Recent files