Builder for Citizens2

Builder for Citizens2

Builder is a character plugin for the NPC plugin Citizens2. With Builder, A NPC can be given a mcedit/worldedit schematic file and build it block by block. Builder NPCs can also maintain an existing building, replacing changed blocks or removing new ones.


Builde' NPCs can:

  • Build MCEdit/Worldedit schematics, block by block.
  • Rebuild an existing structure, fixing anything that has been changed.
  • Require players to supply the building materials before starting to build.


  • Install Citizens2 Please use Latest Dev Builds
  • Unzip to your minecraft /plugins/ directory.
  • This will install Builder jar, create the Builder/schematics/ folder and put house.schamatic in it.
  • Start your server.


  • Create a NPC with Citizens and give it the 'builder' trait.
    •  /npc create Bob --trait builder
  • Load a schematic with /builder load, Example:
    •  /builder load house
    • This will load the included example house.schematic file.
  • Position the NPC in the center of the area in which it should build.
  • Start the NPC building with:
    •  /builder build

More detailed instructions and other commands can be found on the Citizens 2 Wiki


Q: How can I use multiple builders on one project?

A: You can use up to 4 builders on one project by giving them all the same schematic and origin, but different build patterns. You can also manually split your schematic into multiple parts with WorldEdit or MCEdit.

Q: How can I make builders go faster?

A: Use the /builder timeout command to set the max time between blocks. You can also make the builder walk faster with "/npc speed"

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

  • Avatar of happycamper7433 happycamper7433 Jun 29, 2013 at 15:21 UTC - 0 likes

    Man I love this plugin! I set builders to work with like 10 of them working on different layers and projects are finished very quickly and it's fun to watch. The only problem I'm getting is that when loading large schematics (500,000 bytes or more) it crashes my server. Anyway to make it load the schematic in parts for small server owners?

  • Avatar of jrbudda jrbudda Jun 22, 2013 at 18:38 UTC - 0 likes

    @Wolf314151: Go

    Could you pastebin the whole stacktrace from the server console for that NavigationCancelEvent error?

  • Avatar of Wolf314151 Wolf314151 Jun 15, 2013 at 21:28 UTC - 0 likes

    There is an issue with builder and denizens, I believe it is on this plugin's end not denizen. When I declare a denizen I am able to teleport him on assignment just fine. Then later I run a task where I teleport him just fine. Then I have him build something and it works great. Then I have him teleport back on build complete and it says in the debug he teleported fine, but he doesn't. Also, if I try to build something on build complete it generates an exception error in my console "Could not pass event NavigationCancelEvent to builder v0.6.9

    Basically something in the On Build Complete is messed up and doesn't allow all commands to work right.

    Last edited Jun 15, 2013 by Wolf314151
  • Avatar of richreid44 richreid44 Jun 06, 2013 at 20:59 UTC - 0 likes

    Confused on how to use multiple builder on the same project :S

  • Avatar of jonoww jonoww May 31, 2013 at 14:30 UTC - 0 likes

    @CosmicVoyager: Go

    Use the 0.6.9 Version on the wiki

  • Avatar of jolbol1 jolbol1 May 31, 2013 at 13:48 UTC - 0 likes

    I Get Error 29.05 23:45:56 [Server] SEVERE at org.bukkit.command.SimpleCommandMap.dispatch( 29.05 23:45:56 [Server] SEVERE at org.bukkit.command.PluginCommand.execute( 29.05 23:45:56 [Server] SEVERE at net.citizensnpcs.Citizens.onCommand( 29.05 23:45:56 [Server] SEVERE at net.citizensnpcs.api.command.CommandManager.executeSafe( 29.05 23:45:56 [Server] SEVERE at net.citizensnpcs.api.command.CommandManager.execute( 29.05 23:45:56 [Server] SEVERE at net.citizensnpcs.api.command.CommandManager.executeMethod( 29.05 23:45:56 [Server] SEVERE at java.lang.reflect.Method.invoke( 29.05 23:45:56 [Server] SEVERE at sun.reflect.DelegatingMethodAccessorImpl.invoke( 29.05 23:45:56 [Server] SEVERE at sun.reflect.NativeMethodAccessorImpl.invoke( 29.05 23:45:56 [Server] SEVERE at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 29.05 23:45:56 [Server] SEVERE at net.citizensnpcs.commands.NPCCommands.create( 29.05 23:45:56 [Server] SEVERE at net.citizensnpcs.api.npc.AbstractNPC.addTrait( 29.05 23:45:56 [Server] SEVERE at net.jrbudda.builder.BuilderTrait.onSpawn( 29.05 23:45:56 [Server] SEVERE java.lang.ClassCastException: net.jrbudda.builder.Builder cannot be cast to net.jrbudda.builder.Builder

    BFAK:90617352,07369ef89b9e3575ea825a67fdc64f46a5ddd639a0e70487ab97448697800308 Hello There! ;)

  • Avatar of ChanceLune ChanceLune May 25, 2013 at 18:36 UTC - 0 likes

    Excellent Plugin ! Very good ;) ( And sentry )

  • Avatar of jdb200 jdb200 May 25, 2013 at 12:54 UTC - 0 likes

    @Mr_Wired: Go

    Yes, it works quite well with Sentry. I suggest using it as builder and sentry to keep mobs, animals, and players away from the project.

  • Avatar of jrbudda jrbudda May 24, 2013 at 21:17 UTC - 0 likes

    @Silversbane: Go

    Ive actually moved away from that and implemented a custom supply mode list so you can configure exactly which item each block requires. This will be in the next update. However for now I'm still only matching on block ID. Future update I will add support for matching on ID and data.

  • Avatar of Silversbane Silversbane May 23, 2013 at 19:57 UTC - 0 likes

    @jrbudda: Go

    Add server-wide setting so that Supply mode requires exact blocks.

    I saw this on your most recent update. But I am not sure what it means. I am trying to force people to place specific blocks for example - spruce wood over oak wood. Or stone slab over wooden slab and so on.


Date created
Sep 11, 2012
Last update
Jun 03, 2014
Development stage
Public Domain
Curse link
Builder for Citizens2
Recent files