#
# +-----------------------------------------------------------------+ #
# |                            BO3 object                           | #
# +-----------------------------------------------------------------+ #
#

# This is the config file of a custom object.
# If you add this object correctly to your BiomeConfigs, it will spawn in the world.

# This is the creator of this BO3 object
Author: BO3 BulkEdit (by LanToaster)

# A short description of this BO3 object
Description: This Object was Created with BO3_BulkEdit

# The BO3 version, don't change this! It can be used by external applications to do a version check.
Version: 3

# The settings mode, WriteAll, WriteWithoutComments or WriteDisable. See WorldConfig.
SettingsMode: WriteDisable


#
# +-----------------------------------------------------------------+ #
# |                          Main settings                          | #
# +-----------------------------------------------------------------+ #
#

# This needs to be set to true to spawn the object in the Tree and Sapling resources.
Tree: false

# The frequency of the BO3 from 1 to 200. Tries this many times to spawn this BO3 when using the CustomObject(...) resource.

Frequency: 1

# The rarity of the BO3 from 0 to 100. Each spawn attempt has rarity% chance to succeed when using the CustomObject(...) resource.

Rarity: 1.0

# If you set this to true, the BO3 will be placed with a random rotation.
RotateRandomly: true

# The spawn height of the BO3 - randomY, highestBlock or highestSolidBlock.
SpawnHeight: highestSolidBlock
SpawnHeightOffset: -4

# The height limits for the BO3.
MinHeight: 50

MaxHeight: 100

# Objects can have other objects attacthed to it: branches. Branches can also
# have branches attached to it, which can also have branches, etc. This is the
# maximum branch depth for this objects.
MaxBranchDepth: 10

# When spawned with the UseWorld keyword, this BO3 should NOT spawn in the following biomes.
# If you writer.write the BO3 name directly in the BiomeConfigs, this will be ignored.
ExcludedBiomes: All


#
# +-----------------------------------------------------------------+ #
# |                      Source block settings                      | #
# +-----------------------------------------------------------------+ #
#

# The B(s) the BO3 should spawn in.
SourceBlocks: AIR

# The maximum percentage of the BO3 that can be outside the SourceBlock.
# The BO3 won't be placed on a location with more blocks outside the SourceBlock than this percentage.
MaxPercentageOutsideSourceBlock: 100

# What to do when a block is about to be placed outside the SourceBlock? (dontPlace, placeAnyway)
OutsideSourceBlock: placeAnyway


#
# +-----------------------------------------------------------------+ #
# |                              Blocks                             | #
# +-----------------------------------------------------------------+ #
#

# All the blocks used in the BO3 are listed here. Possible blocks:
# B(x,y,z,id[.data][,nbtfile.nbt)
# RandomBlock(x,y,z,id[:data][,nbtfile.nbt],chance[,id[:data][,nbtfile.nbt],chance[,...]])
# So RandomBlock(0,0,0,CHEST,chest.nbt,50,CHEST,anotherchest.nbt,100) will spawn a chest at
# the BO3 origin, and give it a 50% chance to have the contents of chest.nbt, or, if that
# fails, a 100% percent chance to have the contents of anotherchest.nbt.
B(0,1,-11,QUARTZ_STAIRS:0)
B(1,1,-11,QUARTZ_STAIRS:1)
B(0,1,-10,BONE_BLOCK:8)
B(1,1,-10,BONE_BLOCK:8)
B(-3,1,-9,QUARTZ_STAIRS:0)
B(-2,1,-9,BONE_BLOCK:0)
B(-1,1,-9,BONE_BLOCK:0)
B(0,1,-9,BONE_BLOCK:0)
B(1,1,-9,BONE_BLOCK:0)
B(2,1,-9,BONE_BLOCK:0)
B(3,1,-9,BONE_BLOCK:0)
B(4,1,-9,QUARTZ_STAIRS:1)
B(-1,1,-7,QUARTZ_STAIRS:5)
B(2,1,-7,QUARTZ_STAIRS:4)
B(-2,1,-5,QUARTZ_STAIRS:5)
B(3,1,-5,QUARTZ_STAIRS:4)
B(-3,1,-3,QUARTZ_STAIRS:5)
B(4,1,-3,QUARTZ_STAIRS:4)
B(-3,1,-1,QUARTZ_STAIRS:4)
B(4,1,-1,QUARTZ_STAIRS:5)
B(-4,1,1,QUARTZ_STAIRS:4)
B(5,1,1,QUARTZ_STAIRS:5)
B(-4,1,3,QUARTZ_STAIRS:4)
B(-3,1,3,BONE_BLOCK:0)
B(4,1,3,BONE_BLOCK:0)
B(5,1,3,QUARTZ_STAIRS:5)
B(-2,1,13,STONE_SLAB:15)
B(3,1,13,STONE_SLAB:15)
B(-2,1,14,BONE_BLOCK:0)
B(3,1,14,BONE_BLOCK:0)
B(-2,1,15,QUARTZ_STAIRS:7)
B(3,1,15,QUARTZ_STAIRS:7)
B(0,2,-10,QUARTZ_STAIRS:2)
B(1,2,-10,QUARTZ_STAIRS:2)
B(-2,2,-9,QUARTZ_STAIRS:0)
B(-1,2,-9,BONE_BLOCK:0)
B(0,2,-9,BONE_BLOCK:8)
B(1,2,-9,BONE_BLOCK:0)
B(2,2,-9,BONE_BLOCK:0)
B(3,2,-9,QUARTZ_STAIRS:1)
B(0,2,-8,BONE_BLOCK:8)
B(-1,2,-7,BONE_BLOCK:0)
B(0,2,-7,BONE_BLOCK:4)
B(1,2,-7,BONE_BLOCK:4)
B(2,2,-7,BONE_BLOCK:0)
B(-2,2,-5,BONE_BLOCK:0)
B(-1,2,-5,QUARTZ_STAIRS:5)
B(2,2,-5,QUARTZ_STAIRS:4)
B(3,2,-5,BONE_BLOCK:0)
B(-3,2,-3,QUARTZ_STAIRS:0)
B(-2,2,-3,QUARTZ_STAIRS:5)
B(3,2,-3,QUARTZ_STAIRS:4)
B(4,2,-3,QUARTZ_STAIRS:1)
B(-3,2,-1,BONE_BLOCK:0)
B(-2,2,-1,QUARTZ_STAIRS:5)
B(3,2,-1,QUARTZ_STAIRS:4)
B(4,2,-1,BONE_BLOCK:0)
B(-4,2,1,BONE_BLOCK:0)
B(-3,2,1,QUARTZ_STAIRS:5)
B(4,2,1,QUARTZ_STAIRS:4)
B(5,2,1,BONE_BLOCK:0)
B(-4,2,3,BONE_BLOCK:0)
B(5,2,3,BONE_BLOCK:0)
B(-2,2,13,BONE_BLOCK:4)
B(-1,2,13,QUARTZ_STAIRS:5)
B(2,2,13,QUARTZ_STAIRS:4)
B(3,2,13,BONE_BLOCK:4)
B(-2,2,15,BONE_BLOCK:0)
B(3,2,15,BONE_BLOCK:0)
B(-1,3,-9,BONE_BLOCK:0)
B(0,3,-9,QUARTZ_STAIRS:2)
B(1,3,-9,QUARTZ_STAIRS:2)
B(2,3,-9,BONE_BLOCK:0)
B(0,3,-8,BONE_BLOCK:8)
B(1,3,-8,BONE_BLOCK:8)
B(-1,3,-7,QUARTZ_STAIRS:0)
B(0,3,-7,BONE_BLOCK:0)
B(1,3,-7,BONE_BLOCK:0)
B(2,3,-7,QUARTZ_STAIRS:1)
B(0,3,-6,BONE_BLOCK:8)
B(1,3,-6,BONE_BLOCK:4)
B(-2,3,-5,QUARTZ_STAIRS:0)
B(-1,3,-5,BONE_BLOCK:0)
B(0,3,-5,BONE_BLOCK:4)
B(1,3,-5,BONE_BLOCK:4)
B(2,3,-5,BONE_BLOCK:0)
B(3,3,-5,QUARTZ_STAIRS:1)
B(-2,3,-3,BONE_BLOCK:0)
B(3,3,-3,BONE_BLOCK:0)
B(-3,3,-1,BONE_BLOCK:4)
B(-2,3,-1,BONE_BLOCK:0)
B(3,3,-1,BONE_BLOCK:0)
B(4,3,-1,BONE_BLOCK:4)
B(-4,3,1,QUARTZ_STAIRS:0)
B(-3,3,1,BONE_BLOCK:0)
B(4,3,1,BONE_BLOCK:0)
B(5,3,1,QUARTZ_STAIRS:1)
B(-4,3,3,BONE_BLOCK:4)
B(-3,3,3,QUARTZ_STAIRS:5)
B(4,3,3,QUARTZ_STAIRS:4)
B(5,3,3,BONE_BLOCK:4)
B(-2,3,13,QUARTZ_STAIRS:0)
B(-1,3,13,BONE_BLOCK:0)
B(2,3,13,BONE_BLOCK:0)
B(3,3,13,QUARTZ_STAIRS:1)
B(-2,3,15,QUARTZ_STAIRS:2)
B(3,3,15,QUARTZ_STAIRS:2)
B(-1,4,-9,QUARTZ_STAIRS:0)
B(2,4,-9,QUARTZ_STAIRS:1)
B(0,4,-7,STONE_SLAB:7)
B(1,4,-7,STONE_SLAB:7)
B(-1,4,-5,QUARTZ_STAIRS:0)
B(0,4,-5,BONE_BLOCK:0)
B(1,4,-5,BONE_BLOCK:8)
B(2,4,-5,QUARTZ_STAIRS:1)
B(0,4,-4,BONE_BLOCK:8)
B(1,4,-4,BONE_BLOCK:4)
B(-2,4,-3,QUARTZ_STAIRS:0)
B(-1,4,-3,BONE_BLOCK:4)
B(0,4,-3,BONE_BLOCK:4)
B(1,4,-3,BONE_BLOCK:4)
B(2,4,-3,BONE_BLOCK:4)
B(3,4,-3,QUARTZ_STAIRS:1)
B(-3,4,-1,QUARTZ_STAIRS:0)
B(-2,4,-1,BONE_BLOCK:0)
B(-1,4,-1,QUARTZ_STAIRS:5)
B(2,4,-1,QUARTZ_STAIRS:4)
B(3,4,-1,BONE_BLOCK:0)
B(4,4,-1,QUARTZ_STAIRS:1)
B(-3,4,1,BONE_BLOCK:0)
B(-2,4,1,QUARTZ_STAIRS:5)
B(3,4,1,QUARTZ_STAIRS:4)
B(4,4,1,BONE_BLOCK:0)
B(-4,4,3,QUARTZ_STAIRS:0)
B(-3,4,3,BONE_BLOCK:0)
B(4,4,3,BONE_BLOCK:0)
B(5,4,3,QUARTZ_STAIRS:1)
B(0,4,6,QUARTZ_STAIRS:6)
B(1,4,6,QUARTZ_STAIRS:6)
B(0,4,7,BONE_BLOCK:0)
B(1,4,7,BONE_BLOCK:4)
B(0,4,8,QUARTZ_STAIRS:7)
B(1,4,8,QUARTZ_STAIRS:7)
B(-1,4,11,QUARTZ_STAIRS:6)
B(2,4,11,QUARTZ_STAIRS:6)
B(-1,4,12,BONE_BLOCK:8)
B(2,4,12,BONE_BLOCK:0)
B(-1,4,13,QUARTZ_STAIRS:3)
B(2,4,13,QUARTZ_STAIRS:3)
B(0,5,-5,STONE_SLAB:7)
B(1,5,-5,STONE_SLAB:7)
B(-1,5,-3,QUARTZ_STAIRS:0)
B(0,5,-3,BONE_BLOCK:0)
B(1,5,-3,BONE_BLOCK:0)
B(2,5,-3,QUARTZ_STAIRS:1)
B(0,5,-2,BONE_BLOCK:8)
B(1,5,-2,BONE_BLOCK:8)
B(-2,5,-1,QUARTZ_STAIRS:0)
B(-1,5,-1,BONE_BLOCK:4)
B(0,5,-1,BONE_BLOCK:4)
B(1,5,-1,BONE_BLOCK:4)
B(2,5,-1,BONE_BLOCK:4)
B(3,5,-1,QUARTZ_STAIRS:1)
B(-3,5,1,QUARTZ_STAIRS:0)
B(-2,5,1,BONE_BLOCK:0)
B(3,5,1,BONE_BLOCK:0)
B(4,5,1,QUARTZ_STAIRS:1)
B(-3,5,3,BONE_BLOCK:0)
B(-2,5,3,QUARTZ_STAIRS:5)
B(3,5,3,QUARTZ_STAIRS:4)
B(4,5,3,BONE_BLOCK:0)
B(0,5,5,QUARTZ_STAIRS:6)
B(1,5,5,QUARTZ_STAIRS:6)
B(0,5,6,BONE_BLOCK:8)
B(1,5,6,BONE_BLOCK:4)
B(-1,5,7,BONE_BLOCK:0)
B(2,5,7,BONE_BLOCK:0)
B(-1,5,9,QUARTZ_STAIRS:4)
B(0,5,9,BONE_BLOCK:0)
B(1,5,9,BONE_BLOCK:4)
B(2,5,9,QUARTZ_STAIRS:5)
B(-1,5,11,QUARTZ_STAIRS:0)
B(0,5,11,QUARTZ_STAIRS:5)
B(1,5,11,QUARTZ_STAIRS:4)
B(2,5,11,QUARTZ_STAIRS:1)
B(-1,5,12,QUARTZ_STAIRS:3)
B(2,5,12,QUARTZ_STAIRS:3)
B(0,6,-3,STONE_SLAB:7)
B(1,6,-3,STONE_SLAB:7)
B(-1,6,-1,QUARTZ_STAIRS:0)
B(0,6,-1,BONE_BLOCK:0)
B(1,6,-1,BONE_BLOCK:0)
B(2,6,-1,QUARTZ_STAIRS:1)
B(0,6,0,BONE_BLOCK:8)
B(1,6,0,BONE_BLOCK:8)
B(-2,6,1,QUARTZ_STAIRS:0)
B(-1,6,1,BONE_BLOCK:4)
B(0,6,1,BONE_BLOCK:4)
B(1,6,1,BONE_BLOCK:4)
B(2,6,1,BONE_BLOCK:4)
B(3,6,1,QUARTZ_STAIRS:1)
B(-3,6,3,QUARTZ_STAIRS:0)
B(-2,6,3,BONE_BLOCK:4)
B(-1,6,3,QUARTZ_STAIRS:5)
B(2,6,3,QUARTZ_STAIRS:4)
B(3,6,3,BONE_BLOCK:4)
B(4,6,3,QUARTZ_STAIRS:1)
B(0,6,4,QUARTZ_STAIRS:6)
B(1,6,4,QUARTZ_STAIRS:6)
B(0,6,5,BONE_BLOCK:8)
B(1,6,5,BONE_BLOCK:8)
B(-1,6,6,BONE_BLOCK:8)
B(0,6,6,BONE_BLOCK:0)
B(1,6,6,BONE_BLOCK:0)
B(2,6,6,BONE_BLOCK:4)
B(-2,6,7,QUARTZ_STAIRS:4)
B(-1,6,7,BONE_BLOCK:8)
B(2,6,7,BONE_BLOCK:8)
B(3,6,7,QUARTZ_STAIRS:5)
B(-1,6,8,BONE_BLOCK:8)
B(2,6,8,BONE_BLOCK:8)
B(-1,6,9,BONE_BLOCK:4)
B(0,6,9,BONE_BLOCK:0)
B(1,6,9,BONE_BLOCK:0)
B(2,6,9,BONE_BLOCK:4)
B(-1,6,10,QUARTZ_STAIRS:0)
B(0,6,10,BONE_BLOCK:4)
B(1,6,10,BONE_BLOCK:8)
B(2,6,10,QUARTZ_STAIRS:1)
B(0,6,11,BONE_BLOCK:0)
B(1,6,11,BONE_BLOCK:0)
B(0,7,-1,STONE_SLAB:7)
B(1,7,-1,STONE_SLAB:7)
B(-1,7,1,QUARTZ_STAIRS:0)
B(0,7,1,BONE_BLOCK:4)
B(1,7,1,BONE_BLOCK:4)
B(2,7,1,QUARTZ_STAIRS:1)
B(0,7,2,BONE_BLOCK:8)
B(1,7,2,BONE_BLOCK:8)
B(-2,7,3,QUARTZ_STAIRS:0)
B(-1,7,3,BONE_BLOCK:4)
B(0,7,3,BONE_BLOCK:8)
B(1,7,3,BONE_BLOCK:8)
B(2,7,3,BONE_BLOCK:4)
B(3,7,3,QUARTZ_STAIRS:1)
B(0,7,4,BONE_BLOCK:0)
B(1,7,4,BONE_BLOCK:0)
B(-1,7,5,BONE_BLOCK:0)
B(2,7,5,BONE_BLOCK:0)
B(-1,7,6,BONE_BLOCK:0)
B(2,7,6,BONE_BLOCK:0)
B(-2,7,7,BONE_BLOCK:0)
B(3,7,7,BONE_BLOCK:4)
B(-1,7,9,QUARTZ_STAIRS:0)
B(0,7,9,BONE_BLOCK:8)
B(1,7,9,BONE_BLOCK:8)
B(2,7,9,QUARTZ_STAIRS:1)
B(0,7,10,BONE_BLOCK:8)
B(1,7,10,BONE_BLOCK:8)
B(0,7,11,QUARTZ_STAIRS:0)
B(1,7,11,QUARTZ_STAIRS:1)
B(0,8,1,STONE_SLAB:7)
B(1,8,1,STONE_SLAB:7)
B(0,8,3,QUARTZ_STAIRS:0)
B(1,8,3,QUARTZ_STAIRS:1)
B(0,8,4,BONE_BLOCK:8)
B(1,8,4,BONE_BLOCK:8)
B(-1,8,5,BONE_BLOCK:0)
B(0,8,5,BONE_BLOCK:0)
B(1,8,5,BONE_BLOCK:0)
B(2,8,5,BONE_BLOCK:0)
B(-1,8,6,BONE_BLOCK:0)
B(2,8,6,BONE_BLOCK:0)
B(-2,8,7,BONE_BLOCK:0)
B(3,8,7,BONE_BLOCK:0)
B(0,8,10,BONE_BLOCK:0)
B(1,8,10,BONE_BLOCK:4)
B(0,9,4,QUARTZ_STAIRS:2)
B(1,9,4,QUARTZ_STAIRS:2)
B(-1,9,5,QUARTZ_STAIRS:0)
B(0,9,5,BONE_BLOCK:8)
B(1,9,5,BONE_BLOCK:4)
B(2,9,5,QUARTZ_STAIRS:1)
B(-1,9,6,BONE_BLOCK:8)
B(0,9,6,BONE_BLOCK:4)
B(1,9,6,BONE_BLOCK:4)
B(2,9,6,QUARTZ_STAIRS:1)
B(-2,9,7,QUARTZ_STAIRS:0)
B(-1,9,7,BONE_BLOCK:8)
B(2,9,7,BONE_BLOCK:0)
B(3,9,7,QUARTZ_STAIRS:1)
B(-1,9,8,BONE_BLOCK:8)
B(2,9,8,BONE_BLOCK:8)
B(-1,9,9,BONE_BLOCK:8)
B(2,9,9,BONE_BLOCK:8)
B(-1,9,10,QUARTZ_STAIRS:7)
B(0,9,10,QUARTZ_STAIRS:3)
B(1,9,10,QUARTZ_STAIRS:3)
B(2,9,10,QUARTZ_STAIRS:7)
B(0,10,6,STONE_SLAB:7)
B(1,10,6,STONE_SLAB:7)
B(0,10,7,STONE_SLAB:7)
B(1,10,7,STONE_SLAB:7)
B(0,10,8,STONE_SLAB:7)
B(1,10,8,STONE_SLAB:7)
B(0,10,9,STONE_SLAB:7)
B(1,10,9,STONE_SLAB:7)

#
# +-----------------------------------------------------------------+ #
# |                            BO3 checks                           | #
# +-----------------------------------------------------------------+ #
#

# Require a condition at a certain location in order for the BO3 to be spawned.
# BlockCheck(x,y,z,BlockName[,BlockName[,...]]) - one of the blocks must be at the location
# BlockCheckNot(x,y,z,BlockName[,BlockName[,...]]) - all the blocks must not be at the location
# LightCheck(x,y,z,minLightLevel,maxLightLevel) - light must be between min and max (inclusive)

# You can use "Solid" as a BlockName for matching all solid blocks or "All" to match all blocks that aren't air.

# Examples:
#   BlockCheck(0,-1,0,GRASS,DIRT)  Require grass or dirt just below the object
#   BlockCheck(0,-1,0,Solid)       Require any solid block just below the object
#   BlockCheck(0,-1,0,WOOL)        Require any type of wool just below the object
#   BlockCheck(0,-1,0,WOOL:0)      Require white wool just below the object
#   BlockCheckNot(0,-1,0,WOOL:0)   Require that there is no white wool below the object
#   LightCheck(0,0,0,0,1)          Require almost complete darkness just below the object

#
# +-----------------------------------------------------------------+ #
# |                             Branches                            | #
# +-----------------------------------------------------------------+ #
#

# Branches are objects that will spawn when this object spawns when it is used in
# the CustomStructure resource. Branches can also have branches, making complex
# structures possible. See the wiki for more details.

# Regular Branches spawn each branch with an independent chance of spawning.
# Branch(x,y,z,branchName,rotation,chance[,anotherBranchName,rotation,chance[,...]][IndividualChance])
# branchName - name of the object to spawn.
# rotation - NORTH, SOUTH, EAST or WEST.
# IndividualChance - The chance each branch has to spawn, assumed to be 100 when left blank

# Weighted Branches spawn branches with a dependent chance of spawning.
# WeightedBranch(x,y,z,branchName,rotation,chance[,anotherBranchName,rotation,chance[,...]][MaxChanceOutOf])
# MaxChanceOutOf - The chance all branches have to spawn out of, assumed to be 100 when left blank
BlockCheck(0,0,-11,Solid)
BlockCheck(-3,0,-9,Solid)
BlockCheck(3,0,-9,Solid)
BlockCheck(-3,0,3,Solid)
BlockCheck(4,0,3,Solid)
BlockCheck(-2,0,14,Solid)
BlockCheck(3,0,14,Solid)
