public TreeStructure(BlockManager blocks, BiomeManager biomes) { Name = "Base/Structures/Trees"; _air = blocks.GetBlockOrDefault("Base/Block/Air"); Block grass = blocks.GetBlockOrDefault("Base/Block/Grass"); VarientConditions deepForest = new VarientConditions() { Below = grass, Biome = biomes.GetBiomeOrDefault("Deep Forest") }; Conditions = new VarientConditions[] { deepForest, deepForest }; Block wood = blocks.GetBlockOrDefault("Base/Block/Oak Wood"); Block leaves = blocks.GetBlockOrDefault("Base/Block/Oak Leaves"); Varients = new Varient[] { new Varient() { Entries = StructureBuilder.Start() .Add(new StructureBuilder.Box(Vector3Int.zero, Vector3Int.up * 6), wood, true) .Add(new StructureBuilder.Box(new Vector3Int(-2, 4, -3), new Vector3Int(2, 6, 3)), leaves, false, false) .Add(new StructureBuilder.Box(new Vector3Int(-3, 4, -2), new Vector3Int(3, 6, 2)), leaves, false, false) .Add(new StructureBuilder.Box(new Vector3Int(-2, 7, -2), new Vector3Int(2, 7, 2)), leaves, false, false).Finish(), ChanceToSpawn = 0.025f }, new Varient() { Entries = StructureBuilder.Start() .Add(new StructureBuilder.Box(Vector3Int.zero, Vector3Int.up * 3), wood, true) .Add(new StructureBuilder.Box(new Vector3Int(-1, 2, -2), new Vector3Int(1, 3, 2)), leaves, false, false) .Add(new StructureBuilder.Box(new Vector3Int(-2, 2, -1), new Vector3Int(2, 3, 1)), leaves, false, false) .Add(new StructureBuilder.Box(new Vector3Int(-1, 4, -1), new Vector3Int(1, 4, 1)), leaves, false, false).Finish(), ChanceToSpawn = 0.075f } }; }