Exemple #1
0
   public static void Initialize()
   {
       TileObjectData._baseObject = new TileObjectData((TileObjectData)null);
       TileObjectData._baseObject.SetupBaseObject();
       TileObjectData._data = new List<TileObjectData>(419);
       for (int index = 0; index < 419; ++index)
           TileObjectData._data.Add((TileObjectData)null);
       TileObjectData.newTile = new TileObjectData(TileObjectData._baseObject);
       TileObjectData.newSubTile = new TileObjectData(TileObjectData._baseObject);
       TileObjectData.newAlternate = new TileObjectData(TileObjectData._baseObject);
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.StyleMultiplier = 27;
       TileObjectData.newTile.StyleWrapLimit = 27;
       TileObjectData.newTile.UsesCustomCanPlace = false;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(13);
       TileObjectData.addTile(19);
       TileObjectData.newTile.Width = 4;
       TileObjectData.newTile.Height = 8;
       TileObjectData.newTile.Origin = new Point16(1, 7);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.HookPlaceOverride = new PlacementHook(new Func<int, int, int, int, int, int>(WorldGen.PlaceXmasTree_Direct), -1, 0, true);
       TileObjectData.newTile.CoordinateHeights = new int[8]
 {
   16,
   16,
   16,
   16,
   16,
   16,
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 0;
       TileObjectData.addTile(171);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 1;
       TileObjectData.newTile.Origin = new Point16(0, 0);
       TileObjectData.newTile.AnchorTop = new AnchorData(AnchorType.EmptyTile, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.WaterPlacement = LiquidPlacement.NotAllowed;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   38
 };
       TileObjectData.newTile.CoordinateWidth = 32;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.DrawYOffset = -20;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.DrawFlipHorizontal = true;
       TileObjectData.addBaseTile(out TileObjectData.StyleDye);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleDye);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.StyleDye);
       TileObjectData.newSubTile.AnchorValidWalls = new int[1];
       TileObjectData.addSubTile(3);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.StyleDye);
       TileObjectData.newSubTile.AnchorValidWalls = new int[1];
       TileObjectData.addSubTile(4);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.StyleDye);
       TileObjectData.newSubTile.WaterPlacement = LiquidPlacement.OnlyInFullLiquid;
       TileObjectData.addSubTile(5);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.StyleDye);
       TileObjectData.newSubTile.AnchorValidTiles = new int[1]
 {
   80
 };
       TileObjectData.newSubTile.AnchorLeft = new AnchorData(AnchorType.EmptyTile, 1, 1);
       TileObjectData.newSubTile.AnchorRight = new AnchorData(AnchorType.EmptyTile, 1, 1);
       TileObjectData.addSubTile(6);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.StyleDye);
       TileObjectData.newSubTile.DrawYOffset = -6;
       TileObjectData.newSubTile.WaterPlacement = LiquidPlacement.Allowed;
       TileObjectData.newSubTile.AnchorTop = new AnchorData(AnchorType.SolidTile, TileObjectData.newSubTile.Width, 0);
       TileObjectData.newSubTile.AnchorBottom = new AnchorData(AnchorType.EmptyTile, TileObjectData.newSubTile.Width, 0);
       TileObjectData.addSubTile(7);
       TileObjectData.addTile(227);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(0, 0);
       TileObjectData.newTile.AnchorTop = new AnchorData(AnchorType.SolidTile, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newTile.CoordinateHeights = new int[3]
 {
   16,
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = new Point16(0, 1);
       TileObjectData.addAlternate(0);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = new Point16(0, 2);
       TileObjectData.addAlternate(0);
       TileObjectData.addTile(10);
       TileObjectData.newTile.Width = 2;
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(0, 0);
       TileObjectData.newTile.AnchorTop = new AnchorData(AnchorType.SolidTile, 1, 0);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile, 1, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newTile.CoordinateHeights = new int[3]
 {
   16,
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.StyleMultiplier = 2;
       TileObjectData.newTile.StyleWrapLimit = 2;
       TileObjectData.newTile.Direction = TileObjectDirection.PlaceRight;
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = new Point16(0, 1);
       TileObjectData.addAlternate(0);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = new Point16(0, 2);
       TileObjectData.addAlternate(0);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = new Point16(1, 0);
       TileObjectData.newAlternate.AnchorTop = new AnchorData(AnchorType.SolidTile, 1, 1);
       TileObjectData.newAlternate.AnchorBottom = new AnchorData(AnchorType.SolidTile, 1, 1);
       TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceLeft;
       TileObjectData.addAlternate(1);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = new Point16(1, 1);
       TileObjectData.newAlternate.AnchorTop = new AnchorData(AnchorType.SolidTile, 1, 1);
       TileObjectData.newAlternate.AnchorBottom = new AnchorData(AnchorType.SolidTile, 1, 1);
       TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceLeft;
       TileObjectData.addAlternate(1);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = new Point16(1, 2);
       TileObjectData.newAlternate.AnchorTop = new AnchorData(AnchorType.SolidTile, 1, 1);
       TileObjectData.newAlternate.AnchorBottom = new AnchorData(AnchorType.SolidTile, 1, 1);
       TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceLeft;
       TileObjectData.addAlternate(1);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LinkedAlternates = true;
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(19);
       TileObjectData.addTile(11);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 5;
       TileObjectData.newTile.Origin = new Point16(0, 0);
       TileObjectData.newTile.AnchorTop = new AnchorData(AnchorType.SolidTile, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newTile.DrawYOffset = -2;
       TileObjectData.newTile.CoordinateHeights = new int[5]
 {
   18,
   16,
   16,
   16,
   18
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.Direction = TileObjectDirection.PlaceLeft;
       TileObjectData.newTile.StyleMultiplier = 2;
       TileObjectData.newTile.StyleWrapLimit = 2;
       for (int Y = 1; Y < 5; ++Y)
       {
           TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
           TileObjectData.newAlternate.Origin = new Point16(0, Y);
           TileObjectData.addAlternate(0);
       }
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceRight;
       TileObjectData.addAlternate(1);
       for (int Y = 1; Y < 5; ++Y)
       {
           TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
           TileObjectData.newAlternate.Origin = new Point16(0, Y);
           TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceRight;
           TileObjectData.addAlternate(1);
       }
       TileObjectData.addTile(388);
       TileObjectData.newTile.FullCopyFrom((ushort)388);
       TileObjectData.addTile(389);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 1;
       TileObjectData.newTile.Origin = new Point16(0, 0);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.Table, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.addBaseTile(out TileObjectData.StyleOnTable1x1);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleOnTable1x1);
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.addTile(13);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleOnTable1x1);
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   20
 };
       TileObjectData.newTile.DrawYOffset = -4;
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(25);
       TileObjectData.addTile(33);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleOnTable1x1);
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   20
 };
       TileObjectData.newTile.DrawYOffset = -4;
       TileObjectData.addTile(49);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleOnTable1x1);
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   20
 };
       TileObjectData.newTile.DrawYOffset = -4;
       TileObjectData.addTile(372);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleOnTable1x1);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.RandomStyleRange = 5;
       TileObjectData.addTile(50);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleOnTable1x1);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.Table | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(78);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleOnTable1x1);
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   20
 };
       TileObjectData.newTile.DrawYOffset = -4;
       TileObjectData.addTile(174);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(0, 2);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newTile.CoordinateHeights = new int[3]
 {
   16,
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.addBaseTile(out TileObjectData.Style1xX);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1xX);
       TileObjectData.newTile.WaterDeath = true;
       TileObjectData.newTile.WaterPlacement = LiquidPlacement.NotAllowed;
       TileObjectData.newTile.LavaPlacement = LiquidPlacement.NotAllowed;
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(23);
       TileObjectData.addTile(93);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1xX);
       TileObjectData.newTile.Height = 6;
       TileObjectData.newTile.Origin = new Point16(0, 5);
       TileObjectData.newTile.CoordinateHeights = new int[6]
 {
   16,
   16,
   16,
   16,
   16,
   16
 };
       TileObjectData.addTile(92);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 2;
       TileObjectData.newTile.Origin = new Point16(0, 0);
       TileObjectData.newTile.AnchorTop = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addBaseTile(out TileObjectData.Style1x2Top);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x2Top);
       TileObjectData.addTile(270);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x2Top);
       TileObjectData.addTile(271);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x2Top);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(32);
       TileObjectData.addTile(42);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x2Top);
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.CoordinateHeights = new int[3]
 {
   16,
   16,
   16
 };
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.AnchorTop = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide | AnchorType.SolidBottom, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.StyleWrapLimit = 111;
       TileObjectData.addTile(91);
       TileObjectData.newTile.Width = 4;
       TileObjectData.newTile.Height = 2;
       TileObjectData.newTile.Origin = new Point16(1, 1);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.Direction = TileObjectDirection.PlaceLeft;
       TileObjectData.newTile.StyleMultiplier = 2;
       TileObjectData.newTile.StyleWrapLimit = 2;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceRight;
       TileObjectData.addAlternate(1);
       TileObjectData.addBaseTile(out TileObjectData.Style4x2);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style4x2);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LinkedAlternates = true;
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(25);
       TileObjectData.addTile(90);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style4x2);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.newTile.CoordinatePaddingFix = new Point16(0, -2);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LinkedAlternates = true;
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(8);
       TileObjectData.addTile(79);
       TileObjectData.newTile.Width = 4;
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(1, 2);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop, 2, 1);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newTile.CoordinateHeights = new int[3]
 {
   16,
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.addTile(209);
       TileObjectData.newTile.Width = 3;
       TileObjectData.newTile.Height = 2;
       TileObjectData.newTile.Origin = new Point16(1, 1);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.Table | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addBaseTile(out TileObjectData.StyleSmallCage);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(285);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(286);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(298);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(299);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(310);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(339);
       TileObjectData.newTile.Width = 6;
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(3, 2);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.Table | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[3]
 {
   16,
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addBaseTile(out TileObjectData.Style6x3);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(275);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(276);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(413);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(414);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(277);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(278);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(279);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(280);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(281);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(296);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(297);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(309);
       TileObjectData.newTile.Width = 2;
       TileObjectData.newTile.Height = 1;
       TileObjectData.newTile.Origin = new Point16(0, 0);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addBaseTile(out TileObjectData.Style2x1);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x1);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.Table, TileObjectData.newTile.Width, 0);
       TileObjectData.addTile(29);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x1);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.Table, TileObjectData.newTile.Width, 0);
       TileObjectData.addTile(103);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x1);
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   18
 };
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(14);
       TileObjectData.addTile(18);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x1);
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   18
 };
       TileObjectData.addTile(16);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x1);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(134);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x1);
       TileObjectData.newTile.AnchorBottom = AnchorData.Empty;
       TileObjectData.newTile.AnchorLeft = new AnchorData(AnchorType.SolidTile, TileObjectData.newTile.Height, 0);
       TileObjectData.newTile.AnchorRight = new AnchorData(AnchorType.SolidTile, TileObjectData.newTile.Height, 0);
       TileObjectData.addTile(387);
       TileObjectData.newTile.Width = 2;
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(1, 2);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[3]
 {
   16,
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.addBaseTile(out TileObjectData.Style2xX);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2xX);
       TileObjectData.newTile.Height = 4;
       TileObjectData.newTile.Origin = new Point16(1, 3);
       TileObjectData.newTile.CoordinateHeights = new int[4]
 {
   16,
   16,
   16,
   16
 };
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(207);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2xX);
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(1, 2);
       TileObjectData.newTile.CoordinateHeights = new int[3]
 {
   16,
   16,
   18
 };
       TileObjectData.addTile(410);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2xX);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(349);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2xX);
       TileObjectData.addTile(337);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2xX);
       TileObjectData.addTile(320);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2xX);
       TileObjectData.newTile.HookPostPlaceMyPlayer = new PlacementHook(new Func<int, int, int, int, int, int>(TETrainingDummy.Hook_AfterPlacement), -1, 0, false);
       TileObjectData.newTile.Direction = TileObjectDirection.PlaceLeft;
       TileObjectData.newTile.StyleMultiplier = 2;
       TileObjectData.newTile.StyleWrapLimit = 2;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceRight;
       TileObjectData.addAlternate(1);
       TileObjectData.addTile(378);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2xX);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(105);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2xX);
       TileObjectData.newTile.Height = 5;
       TileObjectData.newTile.Origin = new Point16(0, 4);
       TileObjectData.newTile.CoordinateHeights = new int[5]
 {
   16,
   16,
   16,
   16,
   16
 };
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(17);
       TileObjectData.addTile(104);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2xX);
       TileObjectData.newTile.Origin = new Point16(0, 2);
       TileObjectData.newTile.Direction = TileObjectDirection.PlaceLeft;
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceRight;
       TileObjectData.addAlternate(1);
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addTile(128);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2xX);
       TileObjectData.newTile.Origin = new Point16(0, 2);
       TileObjectData.newTile.Direction = TileObjectDirection.PlaceLeft;
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceRight;
       TileObjectData.addAlternate(1);
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addTile(269);
       TileObjectData.newTile.Width = 3;
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(1, 2);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.Table | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[3]
 {
   16,
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.addBaseTile(out TileObjectData.Style3x3);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.Origin = new Point16(1, 0);
       TileObjectData.newTile.AnchorTop = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, 1, 1);
       TileObjectData.newTile.AnchorBottom = AnchorData.Empty;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(32);
       TileObjectData.addTile(34);
       TileObjectData.newTile.Width = 3;
       TileObjectData.newTile.Height = 2;
       TileObjectData.newTile.Origin = new Point16(1, 1);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addBaseTile(out TileObjectData.Style3x2);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.newSubTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(13);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newSubTile.Height = 1;
       TileObjectData.newSubTile.Origin = new Point16(1, 0);
       TileObjectData.newSubTile.CoordinateHeights = new int[1]
 {
   16
 };
       TileObjectData.addSubTile(25);
       TileObjectData.addTile(14);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.HookCheck = new PlacementHook(new Func<int, int, int, int, int, int>(Chest.FindEmptyChest), -1, 0, true);
       TileObjectData.newTile.HookPostPlaceMyPlayer = new PlacementHook(new Func<int, int, int, int, int, int>(Chest.AfterPlacement_Hook), -1, 0, false);
       TileObjectData.newTile.AnchorInvalidTiles = new int[1]
 {
   (int) sbyte.MaxValue
 };
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(9);
       TileObjectData.addTile(88);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addTile(237);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(244);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.addTile(26);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.addTile(86);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(377);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(15);
       TileObjectData.addTile(87);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(10);
       TileObjectData.addTile(89);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(114);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(186);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(187);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.WaterPlacement = LiquidPlacement.NotAllowed;
       TileObjectData.newTile.LavaPlacement = LiquidPlacement.NotAllowed;
       TileObjectData.newTile.WaterDeath = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.WaterDeath = false;
       TileObjectData.newSubTile.WaterPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(1);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.WaterDeath = false;
       TileObjectData.newSubTile.WaterPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(4);
       TileObjectData.addTile(215);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(217);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(218);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.addTile(17);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(77);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(133);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x2);
       TileObjectData.addTile(405);
       TileObjectData.newTile.Width = 3;
       TileObjectData.newTile.Height = 1;
       TileObjectData.newTile.Origin = new Point16(1, 0);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.addTile(235);
       TileObjectData.newTile.Width = 3;
       TileObjectData.newTile.Height = 4;
       TileObjectData.newTile.Origin = new Point16(1, 3);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[4]
 {
   16,
   16,
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addBaseTile(out TileObjectData.Style3x4);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x4);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(4);
       TileObjectData.addTile(101);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x4);
       TileObjectData.addTile(102);
       TileObjectData.newTile.Width = 2;
       TileObjectData.newTile.Height = 2;
       TileObjectData.newTile.Origin = new Point16(1, 1);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.Table | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addBaseTile(out TileObjectData.Style2x2);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.Origin = new Point16(0, 1);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.newTile.HookCheck = new PlacementHook(new Func<int, int, int, int, int, int>(Chest.FindEmptyChest), -1, 0, true);
       TileObjectData.newTile.HookPostPlaceMyPlayer = new PlacementHook(new Func<int, int, int, int, int, int>(Chest.AfterPlacement_Hook), -1, 0, false);
       TileObjectData.newTile.AnchorInvalidTiles = new int[1]
 {
   (int) sbyte.MaxValue
 };
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.addTile(21);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.StyleWrapLimit = 6;
       TileObjectData.newTile.StyleMultiplier = 6;
       TileObjectData.newTile.RandomStyleRange = 6;
       TileObjectData.newTile.AnchorValidTiles = new int[2]
 {
   2,
   109
 };
       TileObjectData.addTile(254);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.addTile(96);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.Origin = new Point16(0, 1);
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(139);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.Origin = new Point16(0, 1);
       TileObjectData.newTile.RandomStyleRange = 9;
       TileObjectData.addTile(35);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.Origin = new Point16(1, 0);
       TileObjectData.newTile.AnchorTop = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, 2, 0);
       TileObjectData.newTile.AnchorBottom = AnchorData.Empty;
       TileObjectData.addTile(95);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.Origin = new Point16(1, 0);
       TileObjectData.newTile.AnchorTop = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, 2, 0);
       TileObjectData.newTile.AnchorBottom = AnchorData.Empty;
       TileObjectData.addTile(126);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.WaterDeath = true;
       TileObjectData.addTile(98);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(13);
       TileObjectData.addTile(172);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(94);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(411);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(97);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(99);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(25);
       TileObjectData.addTile(100);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(125);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(173);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(287);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(319);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(287);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.addTile(376);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(138);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(142);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(143);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(282);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(288);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(289);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(290);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(291);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(292);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(293);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(294);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(295);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(316);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(317);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(318);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(360);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(358);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style6x3);
       TileObjectData.addTile(359);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(361);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(362);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(363);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(364);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(391);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(392);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(393);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSmallCage);
       TileObjectData.addTile(394);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(287);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.addTile(335);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(354);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(355);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2xX);
       TileObjectData.addTile(356);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.AnchorBottom = AnchorData.Empty;
       TileObjectData.newTile.AnchorLeft = new AnchorData(AnchorType.SolidTile, 1, 1);
       TileObjectData.newTile.AnchorRight = new AnchorData(AnchorType.SolidTile, 1, 1);
       TileObjectData.newTile.Origin = new Point16(0, 1);
       TileObjectData.addTile(386);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.AnchorBottom = AnchorData.Empty;
       TileObjectData.newAlternate.AnchorWall = true;
       TileObjectData.addAlternate(2);
       TileObjectData.addTile(132);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = Point16.Zero;
       TileObjectData.newAlternate.AnchorTop = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, 2, 0);
       TileObjectData.newAlternate.AnchorBottom = AnchorData.Empty;
       TileObjectData.addAlternate(1);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = new Point16(0, 0);
       TileObjectData.newAlternate.AnchorLeft = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, 2, 0);
       TileObjectData.newAlternate.AnchorBottom = AnchorData.Empty;
       TileObjectData.addAlternate(2);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = new Point16(1, 0);
       TileObjectData.newAlternate.AnchorRight = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, 2, 0);
       TileObjectData.newAlternate.AnchorBottom = AnchorData.Empty;
       TileObjectData.addAlternate(3);
       TileObjectData.newTile.Origin = new Point16(0, 1);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = Point16.Zero;
       TileObjectData.newAlternate.AnchorWall = true;
       TileObjectData.newAlternate.AnchorBottom = AnchorData.Empty;
       TileObjectData.addAlternate(4);
       TileObjectData.addTile(55);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.Origin = new Point16(0, 1);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(85);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style2x2);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.HookPostPlaceMyPlayer = new PlacementHook(new Func<int, int, int, int, int, int>(TEItemFrame.Hook_AfterPlacement), -1, 0, true);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = Point16.Zero;
       TileObjectData.newAlternate.AnchorTop = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, 2, 0);
       TileObjectData.newAlternate.AnchorBottom = AnchorData.Empty;
       TileObjectData.addAlternate(1);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = new Point16(0, 0);
       TileObjectData.newAlternate.AnchorLeft = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, 2, 0);
       TileObjectData.newAlternate.AnchorBottom = AnchorData.Empty;
       TileObjectData.addAlternate(2);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = new Point16(1, 0);
       TileObjectData.newAlternate.AnchorRight = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, 2, 0);
       TileObjectData.newAlternate.AnchorBottom = AnchorData.Empty;
       TileObjectData.addAlternate(3);
       TileObjectData.newTile.Origin = new Point16(0, 1);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Origin = Point16.Zero;
       TileObjectData.newAlternate.AnchorWall = true;
       TileObjectData.newAlternate.AnchorBottom = AnchorData.Empty;
       TileObjectData.addAlternate(4);
       TileObjectData.addTile(395);
       TileObjectData.newTile.Width = 3;
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(1, 2);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[3]
 {
   16,
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addBaseTile(out TileObjectData.Style3x3);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.addTile(106);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.Direction = TileObjectDirection.PlaceLeft;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceRight;
       TileObjectData.addAlternate(1);
       TileObjectData.addTile(212);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(219);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(220);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(228);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(231);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(243);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(247);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(283);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(300);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(301);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(302);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(303);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(304);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(305);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(306);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(307);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(308);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.addTile(406);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(412);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 2;
       TileObjectData.newTile.Origin = new Point16(0, 1);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addBaseTile(out TileObjectData.Style1x2);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x2);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.newTile.Direction = TileObjectDirection.PlaceLeft;
       TileObjectData.newTile.StyleWrapLimit = 2;
       TileObjectData.newTile.StyleMultiplier = 2;
       TileObjectData.newTile.CoordinatePaddingFix = new Point16(0, 2);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceRight;
       TileObjectData.addAlternate(1);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LinkedAlternates = true;
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(16);
       TileObjectData.addTile(15);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x2);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   20
 };
       TileObjectData.addTile(216);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x2);
       TileObjectData.addTile(390);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x2);
       TileObjectData.addTile(338);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 1;
       TileObjectData.newTile.Origin = new Point16(0, 0);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addBaseTile(out TileObjectData.Style1x1);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x1);
       TileObjectData.newTile.AnchorTop = new AnchorData(AnchorType.EmptyTile, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   26
 };
       TileObjectData.newTile.CoordinateWidth = 24;
       TileObjectData.newTile.DrawYOffset = -8;
       TileObjectData.newTile.RandomStyleRange = 6;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.addTile(81);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x1);
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   18
 };
       TileObjectData.newTile.CoordinatePadding = 0;
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(135);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x1);
       TileObjectData.newTile.RandomStyleRange = 2;
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(141);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x1);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(144);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x1);
       TileObjectData.newTile.DrawYOffset = 2;
       TileObjectData.addTile(210);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x1);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.addTile(239);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x1);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.RandomStyleRange = 7;
       TileObjectData.addTile(36);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style1x1);
       TileObjectData.newTile.RandomStyleRange = 3;
       TileObjectData.newTile.StyleMultiplier = 3;
       TileObjectData.newTile.StyleWrapLimit = 3;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   20
 };
       TileObjectData.newTile.CoordinateWidth = 20;
       TileObjectData.newTile.DrawYOffset = -2;
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidWithTop | AnchorType.Table | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.addTile(324);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 1;
       TileObjectData.newTile.Origin = new Point16(0, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.FlattenAnchors = true;
       TileObjectData.addBaseTile(out TileObjectData.StyleSwitch);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleSwitch);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.StyleSwitch);
       TileObjectData.newAlternate.AnchorLeft = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide | AnchorType.Tree | AnchorType.AlternateTile, TileObjectData.newTile.Height, 0);
       TileObjectData.newAlternate.AnchorAlternateTiles = new int[1]
 {
   124
 };
       TileObjectData.addAlternate(1);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.StyleSwitch);
       TileObjectData.newAlternate.AnchorRight = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide | AnchorType.Tree | AnchorType.AlternateTile, TileObjectData.newTile.Height, 0);
       TileObjectData.newAlternate.AnchorAlternateTiles = new int[1]
 {
   124
 };
       TileObjectData.addAlternate(2);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.StyleSwitch);
       TileObjectData.newAlternate.AnchorWall = true;
       TileObjectData.addAlternate(3);
       TileObjectData.addTile(136);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 1;
       TileObjectData.newTile.Origin = new Point16(0, 0);
       TileObjectData.newTile.FlattenAnchors = true;
       TileObjectData.newTile.UsesCustomCanPlace = false;
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   20
 };
       TileObjectData.newTile.DrawStepDown = 2;
       TileObjectData.newTile.CoordinateWidth = 20;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.StyleMultiplier = 6;
       TileObjectData.newTile.StyleWrapLimit = 6;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.WaterPlacement = LiquidPlacement.NotAllowed;
       TileObjectData.newTile.LavaPlacement = LiquidPlacement.NotAllowed;
       TileObjectData.newTile.WaterDeath = true;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addBaseTile(out TileObjectData.StyleTorch);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleTorch);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide, TileObjectData.newTile.Width, 0);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.StyleTorch);
       TileObjectData.newAlternate.AnchorLeft = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide | AnchorType.Tree | AnchorType.AlternateTile, TileObjectData.newTile.Height, 0);
       TileObjectData.newAlternate.AnchorAlternateTiles = new int[1]
 {
   124
 };
       TileObjectData.addAlternate(1);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.StyleTorch);
       TileObjectData.newAlternate.AnchorRight = new AnchorData(AnchorType.SolidTile | AnchorType.SolidSide | AnchorType.Tree | AnchorType.AlternateTile, TileObjectData.newTile.Height, 0);
       TileObjectData.newAlternate.AnchorAlternateTiles = new int[1]
 {
   124
 };
       TileObjectData.addAlternate(2);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.StyleTorch);
       TileObjectData.newAlternate.AnchorWall = true;
       TileObjectData.addAlternate(0);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LinkedAlternates = true;
       TileObjectData.newSubTile.WaterDeath = false;
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.WaterPlacement = LiquidPlacement.Allowed;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(8);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.newTile);
       TileObjectData.newSubTile.LinkedAlternates = true;
       TileObjectData.newSubTile.WaterDeath = false;
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.newSubTile.WaterPlacement = LiquidPlacement.Allowed;
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(11);
       TileObjectData.addTile(4);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 1;
       TileObjectData.newTile.Origin = Point16.Zero;
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[1]
 {
   20
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.DrawYOffset = -1;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile | AnchorType.AlternateTile, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.WaterPlacement = LiquidPlacement.NotAllowed;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newTile.LavaPlacement = LiquidPlacement.NotAllowed;
       TileObjectData.addBaseTile(out TileObjectData.StyleAlch);
       TileObjectData.newTile.CopyFrom(TileObjectData.StyleAlch);
       TileObjectData.newTile.AnchorValidTiles = new int[2]
 {
   2,
   109
 };
       TileObjectData.newTile.AnchorAlternateTiles = new int[1]
 {
   78
 };
       TileObjectData.newSubTile.CopyFrom(TileObjectData.StyleAlch);
       TileObjectData.newSubTile.AnchorValidTiles = new int[1]
 {
   60
 };
       TileObjectData.newSubTile.AnchorAlternateTiles = new int[1]
 {
   78
 };
       TileObjectData.addSubTile(1);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.StyleAlch);
       TileObjectData.newSubTile.AnchorValidTiles = new int[2]
 {
   0,
   59
 };
       TileObjectData.newSubTile.AnchorAlternateTiles = new int[1]
 {
   78
 };
       TileObjectData.addSubTile(2);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.StyleAlch);
       TileObjectData.newSubTile.AnchorValidTiles = new int[4]
 {
   199,
   203,
   25,
   23
 };
       TileObjectData.newSubTile.AnchorAlternateTiles = new int[1]
 {
   78
 };
       TileObjectData.addSubTile(3);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.StyleAlch);
       TileObjectData.newSubTile.AnchorValidTiles = new int[2]
 {
   53,
   116
 };
       TileObjectData.newSubTile.AnchorAlternateTiles = new int[1]
 {
   78
 };
       TileObjectData.newSubTile.WaterPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(4);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.StyleAlch);
       TileObjectData.newSubTile.AnchorValidTiles = new int[1]
 {
   57
 };
       TileObjectData.newSubTile.AnchorAlternateTiles = new int[1]
 {
   78
 };
       TileObjectData.newSubTile.LavaPlacement = LiquidPlacement.Allowed;
       TileObjectData.newSubTile.LavaDeath = false;
       TileObjectData.addSubTile(5);
       TileObjectData.newSubTile.CopyFrom(TileObjectData.StyleAlch);
       TileObjectData.newSubTile.AnchorValidTiles = new int[5]
 {
   147,
   161,
   163,
   164,
   200
 };
       TileObjectData.newSubTile.AnchorAlternateTiles = new int[1]
 {
   78
 };
       TileObjectData.newSubTile.WaterPlacement = LiquidPlacement.Allowed;
       TileObjectData.addSubTile(6);
       TileObjectData.addTile(82);
       TileObjectData.newTile.FullCopyFrom((ushort)82);
       TileObjectData.addTile(83);
       TileObjectData.newTile.FullCopyFrom((ushort)83);
       TileObjectData.addTile(84);
       TileObjectData.newTile.Width = 3;
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(1, 1);
       TileObjectData.newTile.AnchorWall = true;
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[3]
 {
   16,
   16,
   16
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addBaseTile(out TileObjectData.Style3x3Wall);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3Wall);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.StyleWrapLimit = 36;
       TileObjectData.addTile(240);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3Wall);
       TileObjectData.newTile.Direction = TileObjectDirection.PlaceLeft;
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.LavaDeath = false;
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.Direction = TileObjectDirection.PlaceRight;
       TileObjectData.addAlternate(1);
       TileObjectData.addTile(334);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3Wall);
       TileObjectData.newTile.Width = 2;
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(0, 1);
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.addTile(245);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3Wall);
       TileObjectData.newTile.Width = 3;
       TileObjectData.newTile.Height = 2;
       TileObjectData.newTile.Origin = new Point16(1, 0);
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   16
 };
       TileObjectData.addTile(246);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3Wall);
       TileObjectData.newTile.Width = 4;
       TileObjectData.newTile.Height = 3;
       TileObjectData.newTile.Origin = new Point16(1, 1);
       TileObjectData.newTile.RandomStyleRange = 9;
       TileObjectData.addTile(241);
       TileObjectData.newTile.CopyFrom(TileObjectData.Style3x3Wall);
       TileObjectData.newTile.Width = 6;
       TileObjectData.newTile.Height = 4;
       TileObjectData.newTile.Origin = new Point16(2, 2);
       TileObjectData.newTile.CoordinateHeights = new int[4]
 {
   16,
   16,
   16,
   16
 };
       TileObjectData.newTile.StyleWrapLimit = 27;
       TileObjectData.addTile(242);
       TileObjectData.newTile.Width = 2;
       TileObjectData.newTile.Height = 4;
       TileObjectData.newTile.Origin = new Point16(0, 3);
       TileObjectData.newTile.AnchorWall = true;
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[4]
 {
   16,
   16,
   16,
   18
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.AnchorValidWalls = new int[1];
       TileObjectData.newTile.AnchorValidTiles = new int[2]
 {
   2,
   109
 };
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.RandomStyleRange = 3;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.addTile(27);
       TileObjectData.newTile.Width = 1;
       TileObjectData.newTile.Height = 2;
       TileObjectData.newTile.Origin = new Point16(0, 1);
       TileObjectData.newTile.AnchorBottom = new AnchorData(AnchorType.SolidTile, TileObjectData.newTile.Width, 0);
       TileObjectData.newTile.UsesCustomCanPlace = true;
       TileObjectData.newTile.CoordinateHeights = new int[2]
 {
   16,
   18
 };
       TileObjectData.newTile.CoordinateWidth = 16;
       TileObjectData.newTile.CoordinatePadding = 2;
       TileObjectData.newTile.AnchorValidTiles = new int[1]
 {
   2
 };
       TileObjectData.newTile.StyleHorizontal = true;
       TileObjectData.newTile.DrawFlipHorizontal = true;
       TileObjectData.newTile.WaterPlacement = LiquidPlacement.NotAllowed;
       TileObjectData.newTile.LavaDeath = true;
       TileObjectData.newTile.RandomStyleRange = 3;
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.AnchorValidTiles = new int[1]
 {
   147
 };
       TileObjectData.addAlternate(3);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.AnchorValidTiles = new int[1]
 {
   60
 };
       TileObjectData.addAlternate(6);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.AnchorValidTiles = new int[1]
 {
   23
 };
       TileObjectData.addAlternate(9);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.AnchorValidTiles = new int[1]
 {
   199
 };
       TileObjectData.addAlternate(12);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.AnchorValidTiles = new int[1]
 {
   109
 };
       TileObjectData.addAlternate(15);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.AnchorValidTiles = new int[1]
 {
   53
 };
       TileObjectData.addAlternate(18);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.AnchorValidTiles = new int[1]
 {
   116
 };
       TileObjectData.addAlternate(21);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.AnchorValidTiles = new int[1]
 {
   234
 };
       TileObjectData.addAlternate(24);
       TileObjectData.newAlternate.CopyFrom(TileObjectData.newTile);
       TileObjectData.newAlternate.AnchorValidTiles = new int[1]
 {
   112
 };
       TileObjectData.addAlternate(27);
       TileObjectData.addTile(20);
       TileObjectData.readOnlyData = true;
   }
Exemple #2
0
 private static void addSubTile(int style)
 {
     TileObjectData.newSubTile.Calculate();
     List<TileObjectData> list;
     if (!TileObjectData.newTile._hasOwnSubTiles)
     {
         list = new List<TileObjectData>(style + 1);
         TileObjectData.newTile.SubTiles = list;
     }
     else
         list = TileObjectData.newTile.SubTiles;
     if (list.Count <= style)
     {
         for (int count = list.Count; count <= style; ++count)
             list.Add((TileObjectData)null);
     }
     TileObjectData.newSubTile._parent = TileObjectData.newTile;
     list[style] = TileObjectData.newSubTile;
     TileObjectData.newSubTile = new TileObjectData(TileObjectData._baseObject);
 }
Exemple #3
0
 private static void addAlternate(int baseStyle)
 {
     TileObjectData.newAlternate.Calculate();
     if (!TileObjectData.newTile._hasOwnAlternates)
         TileObjectData.newTile.Alternates = new List<TileObjectData>();
     TileObjectData.newAlternate.Style = baseStyle;
     TileObjectData.newAlternate._parent = TileObjectData.newTile;
     TileObjectData.newTile.Alternates.Add(TileObjectData.newAlternate);
     TileObjectData.newAlternate = new TileObjectData(TileObjectData._baseObject);
 }
Exemple #4
0
 private static void addTile(int tileType)
 {
     TileObjectData.newTile.Calculate();
     TileObjectData._data[tileType] = TileObjectData.newTile;
     TileObjectData.newTile = new TileObjectData(TileObjectData._baseObject);
 }
Exemple #5
0
 private static void addBaseTile(out TileObjectData baseTile)
 {
     TileObjectData.newTile.Calculate();
     baseTile = TileObjectData.newTile;
     baseTile._parent = TileObjectData._baseObject;
     TileObjectData.newTile = new TileObjectData(TileObjectData._baseObject);
 }
Exemple #6
0
 public void FullCopyFrom(TileObjectData copy)
 {
     if (copy == null)
         return;
     this._usesCustomCanPlace = copy._usesCustomCanPlace;
     this._alternates = copy._alternates;
     this._anchor = copy._anchor;
     this._anchorTiles = copy._anchorTiles;
     this._tileObjectBase = copy._tileObjectBase;
     this._liquidDeath = copy._liquidDeath;
     this._liquidPlacement = copy._liquidPlacement;
     this._placementHooks = copy._placementHooks;
     this._tileObjectDraw = copy._tileObjectDraw;
     this._tileObjectStyle = copy._tileObjectStyle;
     this._tileObjectCoords = copy._tileObjectCoords;
     this._subTiles = new TileObjectSubTilesModule(copy._subTiles, (List<TileObjectData>)null);
     this._hasOwnSubTiles = true;
 }
Exemple #7
0
 public void CopyFrom(TileObjectData copy)
 {
     if (copy == null)
         return;
     this._usesCustomCanPlace = copy._usesCustomCanPlace;
     this._alternates = copy._alternates;
     this._anchor = copy._anchor;
     this._anchorTiles = copy._anchorTiles;
     this._tileObjectBase = copy._tileObjectBase;
     this._liquidDeath = copy._liquidDeath;
     this._liquidPlacement = copy._liquidPlacement;
     this._placementHooks = copy._placementHooks;
     this._tileObjectDraw = copy._tileObjectDraw;
     this._tileObjectStyle = copy._tileObjectStyle;
     this._tileObjectCoords = copy._tileObjectCoords;
 }
Exemple #8
0
 public TileObjectData(TileObjectData copyFrom = null)
 {
     this._parent = (TileObjectData)null;
     this._linkedAlternates = false;
     if (copyFrom == null)
     {
         this._usesCustomCanPlace = false;
         this._alternates = (TileObjectAlternatesModule)null;
         this._anchor = (AnchorDataModule)null;
         this._anchorTiles = (AnchorTypesModule)null;
         this._tileObjectBase = (TileObjectBaseModule)null;
         this._liquidDeath = (LiquidDeathModule)null;
         this._liquidPlacement = (LiquidPlacementModule)null;
         this._placementHooks = (TilePlacementHooksModule)null;
         this._tileObjectDraw = (TileObjectDrawModule)null;
         this._tileObjectStyle = (TileObjectStyleModule)null;
         this._tileObjectCoords = (TileObjectCoordinatesModule)null;
     }
     else
         this.CopyFrom(copyFrom);
 }