Builders Helper mod Changes
Steve Shipway, 2015
steve@steveshipway.org
http://www.steveshipway.org/forum
http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2326830-builders-helper-mod-v2-4-copy-paste-mobs
http://www.minecraftforge.net/forum/index.php/topic,26612.0.html
http://www.planetminecraft.com/mod/builders-helper/

TODO:
- Support more of the Ruins options (for autogeneration) in template import
- Testing to verify that nesting IF*, RANDOM and CHANCE directives work as expected
- Improve Spawner and Default Chest NBT definitions for various Ruins presets
- Completely rewrite wand clicks code to use Messages so that all builds and copies run on server
- FLATTEN options in the cheshirecat.cfg for overhang and max flattening
- Should plans imported from Schematics and Templates be converted at load time or at run time?
- Allow /wand set [module:]blockname to do an implicit replace
- config option for targetting on block, block in front, or block below
- Option SOFT should pass down to called plans 

Version 2.7
! Blueprint, IfFacingDirective, BreakDirective, IfYDirective, IfBlockDirective, MobDirective, Util, BlockDirective
+ Allow more than one block to be listed in the IFBLOCK directive
+ New BREAK directive to end a plan early
+ Failed CALL directive does not end blueprint.  This allows the BREAK directive to work.
+ New IFY directive -- e.g. 'IFY < 123', 'IFY > 1', 'IFY = 50' etc
+ New IFFACING directive -- e.g.  'IFFACING 0' (0==north, 1==east etc)
! MOB now should rotate the direction for mobs correctly (doesnt really matter except for minecarts and armour stands)
! Pictures copied one block too high, now corrected
! Armour stands still did not rotate correctly, now they do (Use Rotation[0])
! Command blocks will attempt to rotate any relative coordinates in the command.  This is
  not always reliable, particularly with EXECUTE, CLONE, TESTFORBLOCKS and custom commands.  There
  is a lot of testing that is required for this to be considered reliable. 
^Beta 1
 
Version 2.6 - bugfixes
! Blueprint,Portfolio,Util,AutoGenerator,AutoDirective
+ Copy command moves to 2-step to do decorations last
! Allow comma to separate coords and orientation params in CALL directive
! AUTO directive toString did not use comma
+ Add debug{} section to module config file to specify which ares to debug
! Error on floatthrough dry option fixed: appeared after 2.5
+ Allow module config to specify which blocks are floaththrough
-- beta1
! Try to fix FLATTEN directive to work underwater
+ User-confgurable rotation rules for non-standard blocks in module config
! Fix FLATTEN to work correctly with Undo buffer
-- beta2
! Trim biome names in AUTO directive before adding to hashset
+ Updates to probabilities in supplied blueprints.  Adding crew to ship and balloon.
+ Ruins template with Flatten option now generate blueprints with FLATTEN option
! Custom rotate rule correct number of iterations

Version 2.5 - Undo and Schematics
! Util, ChestDirective, Directive
! WandCommand, CheshireCat, Portfolio, CommonProxy, BlueprintsCommand, BuildCommand
! Schematic, Ruins, Blueprint, AutoGenerator
+ Undo, UndoStep
! Fix floatthrough (was missing buttons and levers)
+ Add OPTION FLATTEN x1,y1 x2,z2 to flatten an area.  Implies float.
+ OPTION FLATTEN x1,z1 x2,z2
! Fix of bug when building below surface with OPTION FLOAT
+ Added 'FRAME' directive (beta):  FRAME x,y,z r [module:]itemname[(dv)] [rot]
+ Schematic parser http://minecraft.gamepedia.com/Schematic  Files have .schematic suffix and are NBT
+ Documentation for FRAME and PICTURE
! Schematic imports honour the WEOffset* tags, if set.  Not sure what WEOrigin is for.  Appears to be no rotation tag.
+ Enable /bp undo, /bp commit and config autoCommit option.
+ Ruins import options - flatten, chain, auto

Version 2.4.1
! Util, ChestDirective, Directive
! WandCommand, CheshireCat, Portfolio, CommonProxy, BlueprintsCommand, BuildCommand
! Ruins, Blueprint, AutoGenerator
+ Sanity check for ChestGenHook category
+ Add documentation for ChestGenHook support
+ Allow simplified syntax "ChestGenHook:n" for number n, defaulting to dungeonChest category.
+ Fix for OPTION SOFT not parsing properly, and for other options being case-sensitive (1.7.10 only)
+ Allow configuration of replacement /wand command in cheshirecat.cfg
+ Allow definition of air soft/hard when parsing schematics in cheshirecat.cfg
+ Allow complete disabling of all the commands via config file
! Disable /bp and /build with helpful message if holding a locked wand
+ Config object is now held in Portfolio for access by other functions.
+ Added 'quiet' option in configuration file.
! Fixes to floating code to work better.  Allow configuration of floatthrough in the cheshirecat.cfg
! Fix Autogenerator identification of ground level
! Warning generated for invalid option statements

Version 2.4 - Ruins, ChestGenHooks, copy by wand
! SpawnerDirective, ChestDirective, Import, Util, Portfolio, Blueprint
! ItemWand, WandCommand
+ Add support for Ruins Template format blueprints, with conversion.  .tml file used in preference if .bp exists
! Corrections to 'float' code (was 1 too high?)
+ New blueprints - ship, watchtower, pillbox
+ Check blueprint type by extension -- .cfg, .bp, .tml
+ Recurse in the blueprints directory
+ Add new CHEST content option:   ChestGenHooks:hookname,nn  this adds nn items from the hookname hook, such as 'dungeonChest'
  Hooks are: mineshaftCorridor, pyramidDesertyChest (not a typo!), pyramidJungleChest, pyramidJungleDispenser, strongholdCorridor, strongholdLibrary, 
  strongholdCrossing, villageBlacksmith, bonusChest, dungeonChest  
+ Abstract out call to EntityList.isStringValidEntityName() for version compatibility
+ Add new "/wand copy <bpname>" to allow copying by clicking rather than by "/bp copy <bpname> <from> <to>"

Version 2.3.2 - PICTURE, MSG
+ MsgDirective.java
! Util.java
! AutoDirective.java
! BlueprintsCommand.java
! WandItem.java
! Portfolio.java
! Blueprint.java
! ChestDirective.java
! WandCommand.java
! ItemWand.java
! Fix correct biome checks in metablocks
! Fix incorrect parsing of AUTO chance that resulted in everything being 0% ...
! Fix /bp listall command parsing (was being ignored)
* Some general improvements to messages
+ New MSG directive
! Fix use of metablocks in AREA
+ Default to minecraft: prefix in block name if no prefix given
+ Add STONE_SLAB metablock
+ Fix float algorithm to float through plants as well as air
! Chest directive was not using random chance
+ Fix SPAWNER to check validity of potential Entity names
+ Allow wand to be permanently locked to only one plan
+ Adding PICTURE directive (this should have taken it to 2.4)

Version 2.3.1
! *Directive.java
* IFBIOME needs to match with .*($match).* to catch all possibilities and allow "a|b"
* Allow option:value in SPAWNER directive to set top-level spawner options
* Remove unnecessary distance attribute from Directive and Blueprint
* Allow ifblock to use negative offsets
* Skip comments in the parse section, so that IF*,CHANCE and RANDOM can have internal comments (and maybe nested branches...)
* Allow options containing spaces (and therefore more than one per line)
* Allow OPTION SOFT <list of soft blocks> to define softblocks (default: air,water,flowing_water)
* Allow blueprint names to have any non-space character (before, only letters, numbers and underscore)
* More metablocks: FENCE, GATE, GLASS, GLASS_PANE

Version 2.3 - IFBLOCK, IFBIOME
+ IfBiomeDirective.java 
+ IfBlockDirective.java
! Portfolio.java
! BlockDirective.java
! AreaDirective.java 
! SpawnerDirective.java
! Util18.java
! Directive.java
! Blueprint.java
! OptionDirective.java
* Add branching tests IFBIOME and IFBLOCK
* New tunnel.cfg blueprint to demonstrate IFBLOCK
* Block and Area did not correctly recognise MetaBlocks in 1.8
* Log and hay block rotation did not work in 1.8

Version 2.2 - released - MOB, Metablocks
* Add MOB directive
* Add MetaBlocks ( STONE, OLD_STONE, WOOD etc) dependent on biome and randomness
* Add new example blueprints and NBT files

Version 2.1 - released - CHEST, SPAWNER
* Add CHEST and SPAWNER directives
* Add new example blueprints and NBT files

Version 2.0
* Refactor classes to make org.steveshipway.blueprint independent of module classes
* Standardise on v1.8 classes; make Util classes to handle differences between versions, and limited compatibility IBlockState and BlockPos classes for 1.7

Version 1.0 - released -
* First open source release
* Support for 1.8 and 1.7.10

Version 0.3

Version 0.2

Version 0.1
