Builder

From Citizens Wiki

Builder.png

Builder


Author jrbudda
Version 0.3.2
Citizens build 2.0.1 dev build #355
Other dependencies None required.
Download Link
Description: Citizens NPCs that build schematics.

Builder is NOT compatible with the released Citizens 2 on bukkitdev. Use the link at the right to download the latest Citizens2 dev build to use Builder


Builder is a Citizens 2.0 character trait that gives NPCs the ability to:

  • Build MCEdit/Worldedit schematics, block by block.
  • Rebuild an area, fixing anything that has been changed.

Updates

v. 0.3.2 Beta 9/13/2012

  • Builder will remove previous marks before building or placing new ones.
  • Fix skipping first block in schematic.
  • Improved error messages an other minor fixes.
  • Target Java 6 instead of 7.

v. 0.3.1 Alpha 9/12/2012

  • Pathing and other minor bugfixes.
  • fix /builder mark
  • /builder help actually provides help.

v. 0.3 Alpha 9/11/2012

  • Added Denizen Task script execution option on build completion and cancellation.
  • Reduced memory usage of loaded schematics by 80%.
  • Last loaded schematic is now persistent.
  • Lots of updates to messages and info.

v. 0.2.1 Alpha 9/9/2012

  • added commands origin clear, origin schematic, check, compare

v. 0.2 Alpha 9/9/2012

  • Added commands ignoreair, ignoreliquid, origin, info

v. 0.1.1 Alpha 9/9/2012

  • Added Mark command.
  • Better pathing.

v. 0.1 Alpha 9/9/2012

  • First release


|
|

Installation

  • Install Citizens 2
  • Place Builder.jar file in /plugins directory.
  • Place .schematic files in /plugins/Builder/schematics/
  • Start Server
  • Create NPC and give the Builder trait.
/npc create Bob --trait builder

or

/npc create Bob
/trait builder

Permissions

  • builder.*
  • builder.[name of command]

Commands

All commands can be run on a selected NPC as shown (/builder [command]), or on a target NPC with /builder [npcid] [command].

/builder load [schematic] - Loads a .schematic file. simply use the name of the schematic. Example

/builder load house

/builder origin - Sets the origin of the builder's projects to the builder's current location. Allows you to re-build in the same spot. If this is not set the builder will always start from his current location.

/builder origin clear - Clears the saved build origin.

/builder origin schematic - Sets the origin of the builder's projects to the origin of the loaded schematic. Best used for schematics created from the builder's world with worldedit.

/builder mark - Places a glowstone block at the 4 corners of the footprint, then returns to the origin, so you can see where it's going to build.

/builder build - Start building the schematic.

/builder cancel - Cancel a build job.

/builder info - View a Builder's loaded schematic name and size, as well as the builder's options.

/builder ignoreair - Toggles the builder to not set air blocks, false by default. Use this to build into existing block structure.

/builder ignoreliquid - Toggles the builder to not set water or lava. Use this if the schematic comes with un-contained liquids.

/builder check - Display a list of all the block types/count of the loaded schematic.

/builder compare - Display a list of all the block types/counts of the loaded schematic and compare to the player's inventory. Not really useful for anything, yet.

Usage

  • .schematic files should be placed in the /plugins/Builder/schematics/ directory.
  • Position the builder, or set the builder's origin, to the center of the footpoint you want to build before calling build. The size of the schematic is shown upon load.
  • It is highly recommended to set the Origin before building. This will allow you to cancel the build and restart it later, the builder will pick up where he left off.
  • The builder will ignore any empty space underneath the schematic object so that it will always rest on the ground where the builder starts.
  • The builder will not attempt to replace blocks that are already set properly, this means you can use a builder to quickly 'restore' any changed blocks in something he has previously built.
    • To set up a builder to maintain an existing building:
      • Select the building with worldedit and save it as a schematic.
      • Copy the schematic to the builder's schematics directory.
      • Load the schematic to a builder and call /builder origin schematic.
      • Call /builder build and the builder will place any missing blocks or destroy new ones.
  • Builder will NOT create sign text, chest contents, paintings, or anything else that uses extended data. Hey this is Construction, not Home Decoratin'.
  • Rail my not be placed correctly.

Advanced Usage

  • Builder can be set to run Denizen Task Scripts on completion or cancellation of a build.
    • The NPC must have both the Builder and Denizen Trait.
    • Call /builder build with the optional modifiers oncomplete:TaskName and/or oncancel:TaskName. Example:
/builder build oncomplete:DespawnTask oncancel:AnnounceTask
    • Only certain commands are valid in a Task script of this kind. See ..something
    • This usage would almost always be used from another Denizen script, although you may call it in-game, if you wish.

Planned Additions

0.3.3 (confirmed)

  • new build order, 5 passes: base, furniture, redstone, liquids, decorations.
  • excavate option
  • config.yml
  • optional mark mats.
  • bugfixes.

0.4

  • preprocess schematic to provide accurate total block count and build % complete info.
  • Configurable build speed.

0.5

  • Rotate/flip before build
  • Chest contents and sign texts

0.6+

  • 'Mimic' mode, builds and digs alongside you!
  • Require materials for building.
  • 'Building registry' remembers schematic/location data and can dispatch repairmen later on.

NOT doing:

  • Multiple builders per schematic. Sorry, no. split up the schematic manually with worldedit, it will look better anyway.
  • Built-in economy handling. Use Denizen, much more configurable. Example scripts soon.

Donate to jrbudda