
#######################################################################
# +-----------------------------------------------------------------+ #
# |                            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: Piginabag

# A short description of this BO3 object
Description: No description given

# 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.
# Ignored by Tree(..), Sapling(..) and CustomStructure(..)
Frequency: 1

# The rarity of the BO3 from 0 to 100. Each spawn attempt has rarity% chance to succeed when using the CustomObject(...) resource.
# Ignored by Tree(..), Sapling(..) and CustomStructure(..)
Rarity: 100.0

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

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

# The height limits for the BO3.
MinHeight: 0

MaxHeight: 50

# 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 block(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:
# Block(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.
Block(-11,-1,1,STONE)
Block(-11,0,1,STONE)
Block(-11,1,1,STONE)
Block(-11,2,1,STONE)
Block(-10,-1,0,STONE)
Block(-10,-1,2,STONE)
Block(-10,0,0,STONE)
Block(-10,0,2,STONE)
Block(-10,1,0,STONE)
Block(-10,1,2,STONE)
Block(-10,2,0,STONE)
Block(-10,2,1,STONE)
Block(-10,2,2,STONE)
Block(-10,3,1,STONE)
Block(-9,-1,-1,STONE)
Block(-9,-1,3,STONE)
Block(-9,-1,4,STONE)
Block(-9,0,-1,STONE)
Block(-9,0,3,STONE)
Block(-9,0,4,STONE)
Block(-9,1,-1,STONE)
Block(-9,1,3,STONE)
Block(-9,1,4,STONE)
Block(-9,2,-1,STONE)
Block(-9,2,0,STONE)
Block(-9,2,1,STONE)
Block(-9,2,2,STONE)
Block(-9,2,3,STONE)
Block(-9,2,4,STONE)
Block(-9,3,0,STONE)
Block(-9,3,1,STONE)
Block(-9,3,2,STONE)
Block(-9,4,1,STONE)
Block(-8,-1,-5,WOOD)
Block(-8,-1,3,STONE)
Block(-8,0,-5,WOOD:1)
Block(-8,0,-3,WOOD:1)
Block(-8,0,-2,WOOD:1)
Block(-8,0,-1,STONE)
Block(-8,0,3,STONE)
Block(-8,0,4,STONE)
Block(-8,1,-5,WOOD:1)
Block(-8,1,-3,WOOD:1)
Block(-8,1,-2,WOOD:1)
Block(-8,1,-1,STONE)
Block(-8,1,3,STONE)
Block(-8,1,4,STONE)
Block(-8,2,-5,WOOD:1)
Block(-8,2,-3,WOOD)
Block(-8,2,-2,WOOD)
Block(-8,2,-1,STONE)
Block(-8,2,0,STONE)
Block(-8,2,3,STONE)
Block(-8,3,-2,WOOD)
Block(-8,3,0,STONE)
Block(-8,3,3,STONE)
Block(-8,4,0,STONE)
Block(-8,4,1,STONE)
Block(-8,4,2,STONE)
Block(-8,5,-2,WOOD)
Block(-8,5,-1,WOOD)
Block(-8,5,0,STONE)
Block(-8,5,1,STONE)
Block(-8,5,2,STONE)
Block(-8,6,-2,WOOD)
Block(-8,6,-1,WOOD)
Block(-7,-1,-2,STONE)
Block(-7,-1,0,STONE)
Block(-7,-1,4,STONE)
Block(-7,0,-2,STONE)
Block(-7,0,-1,STONE)
Block(-7,0,0,STONE)
Block(-7,0,4,STONE)
Block(-7,1,-2,STONE)
Block(-7,1,-1,STONE)
Block(-7,1,0,STONE)
Block(-7,1,4,STONE)
Block(-7,2,-2,STONE)
Block(-7,2,-1,STONE)
Block(-7,2,0,STONE)
Block(-7,2,1,STONE)
Block(-7,2,3,STONE)
Block(-7,2,4,STONE)
Block(-7,3,0,STONE)
Block(-7,3,3,STONE)
Block(-7,4,-3,WOOD:3)
Block(-7,4,-2,WOOD:1)
Block(-7,4,-1,WOOD)
Block(-7,4,0,WOOD)
Block(-7,4,3,STONE)
Block(-7,5,-3,WOOD)
Block(-7,5,-2,WOOD)
Block(-7,5,0,WOOD:1)
Block(-7,5,1,STONE)
Block(-7,5,2,STONE)
Block(-7,6,-3,WOOD:3)
Block(-7,6,-2,WOOD)
Block(-7,6,-1,WOOD)
Block(-7,6,0,WOOD)
Block(-7,6,1,STONE)
Block(-7,7,-3,WOOD:3)
Block(-7,7,-2,WOOD:1)
Block(-7,7,-1,WOOD:1)
Block(-7,7,0,WOOD)
Block(-7,8,-2,WOOD)
Block(-7,8,-1,WOOD)
Block(-6,-1,-5,WOOD)
Block(-6,-1,2,STONE)
Block(-6,-1,3,STONE)
Block(-6,0,-5,WOOD:1)
Block(-6,0,0,STONE)
Block(-6,0,1,STONE)
Block(-6,0,2,STONE)
Block(-6,0,3,STONE)
Block(-6,1,-5,WOOD:1)
Block(-6,1,-2,STONE)
Block(-6,1,-1,STONE)
Block(-6,1,0,STONE)
Block(-6,1,1,STONE)
Block(-6,1,2,STONE)
Block(-6,1,3,STONE)
Block(-6,2,-5,WOOD)
Block(-6,2,-2,STONE)
Block(-6,2,-1,STONE)
Block(-6,2,0,STONE)
Block(-6,2,1,STONE)
Block(-6,2,2,STONE)
Block(-6,2,3,STONE)
Block(-6,3,-4,WOOD)
Block(-6,3,-3,WOOD:3)
Block(-6,3,-2,WOOD)
Block(-6,3,-1,WOOD)
Block(-6,3,0,WOOD)
Block(-6,3,1,WOOD)
Block(-6,3,2,STONE)
Block(-6,4,-4,WOOD)
Block(-6,4,1,WOOD)
Block(-6,4,2,STONE)
Block(-6,5,-4,WOOD)
Block(-6,5,1,WOOD)
Block(-6,6,-4,WOOD)
Block(-6,6,1,WOOD)
Block(-6,7,-3,WOOD:1)
Block(-6,7,0,WOOD:1)
Block(-6,8,-2,WOOD:3)
Block(-6,8,-1,WOOD)
Block(-6,9,-2,WOOD)
Block(-6,9,-1,WOOD)
Block(-6,10,-2,WOOD:3)
Block(-6,10,-1,WOOD:1)
Block(-5,-1,-6,WOOD)
Block(-5,-1,-4,WOOD)
Block(-5,-1,3,WOOD)
Block(-5,0,-6,WOOD:1)
Block(-5,0,-4,WOOD)
Block(-5,0,3,WOOD)
Block(-5,1,-6,WOOD:1)
Block(-5,1,-4,WOOD)
Block(-5,1,-3,WOOD)
Block(-5,1,-2,WOOD)
Block(-5,1,0,WOOD)
Block(-5,1,3,WOOD)
Block(-5,2,-6,WOOD:1)
Block(-5,2,-4,WOOD)
Block(-5,2,-3,WOOD)
Block(-5,2,-2,WOOD:3)
Block(-5,2,-1,WOOD)
Block(-5,2,0,WOOD)
Block(-5,2,1,WOOD)
Block(-5,2,3,WOOD)
Block(-5,3,-4,WOOD)
Block(-5,3,1,WOOD)
Block(-4,-1,-4,WOOD)
Block(-4,-1,1,WOOD)
Block(-4,0,-4,WOOD)
Block(-4,0,-1,WOOD)
Block(-4,0,1,WOOD)
Block(-4,1,-4,WOOD:3)
Block(-4,1,-3,WOOD:1)
Block(-4,1,-2,WOOD)
Block(-4,1,-1,WOOD:3)
Block(-4,1,0,WOOD)
Block(-4,1,1,WOOD)
Block(-4,2,-4,WOOD)
Block(-4,2,1,WOOD:1)
Block(-3,-3,-2,WOOD:1)
Block(-3,-2,-4,WOOD:1)
Block(-3,-2,-3,WOOD:3)
Block(-3,-2,-2,WOOD:3)
Block(-3,-1,-2,WOOD:3)
Block(-3,0,1,WOOD)
Block(-3,1,-2,WOOD:3)
Block(-3,1,-1,WOOD)
Block(-3,1,1,WOOD)
Block(-2,-3,-4,WOOD)
Block(-2,-3,-3,WOOD:1)
Block(-2,-2,-5,WOOD:3)
RandomBlock(-2,-2,-3,CHEST,../../nbt/VanillaLoot/desert_pyramid.nbt,50,CHEST,../../nbt/VanillaLoot/simple_dungeon.nbt,100)
Block(-2,-1,-5,WOOD)
Block(-2,0,-5,WOOD)
Block(-2,1,-2,WOOD)
Block(-2,8,-8,WOOL:7)
Block(-2,9,-8,WOOL:8)
Block(-2,10,-8,WOOL:7)
Block(-2,11,-8,WOOD)
Block(-1,-3,-5,WOOD:1)
Block(-1,-3,-4,WOOD)
Block(-1,-2,-6,WOOD:3)
Block(-1,-1,-6,WOOD:1)
Block(-1,0,-6,WOOD)
Block(-1,1,-6,WOOD)
Block(-1,1,-5,WOOD)
Block(-1,1,-4,WOOD)
Block(-1,2,-6,WOOD)
Block(-1,10,-7,WOOL:7)
Block(-1,11,-7,WOOD)
Block(0,-3,-6,WOOD)
Block(0,-3,-5,WOOD)
Block(0,-3,-3,WOOD:1)
Block(0,-3,-2,WOOD:3)
Block(0,-3,-1,WOOD:3)
Block(0,-2,-7,WOOD:3)
Block(0,-2,-6,WOOD)
Block(0,-2,1,WOOD)
Block(0,-1,-7,WOOD)
Block(0,-1,-6,WOOD)
Block(0,-1,1,WOOD)
Block(0,0,-7,WOOD:3)
Block(0,0,-6,WOOD)
Block(0,0,1,WOOD)
Block(0,1,-7,WOOD)
Block(0,1,-6,WOOD)
Block(0,1,-5,WOOD)
Block(0,1,-4,WOOD)
Block(0,1,0,WOOD:3)
Block(0,2,-7,WOOD:1)
Block(0,8,-6,WOOL:7)
Block(0,9,-6,WOOL:8)
Block(0,10,-6,WOOL:7)
Block(0,11,-6,WOOD)
Block(1,-3,-7,WOOD)
Block(1,-3,-6,WOOD:3)
Block(1,-3,-5,WOOD:3)
Block(1,-3,-4,WOOD:3)
Block(1,-3,-2,WOOD:1)
Block(1,-3,-1,WOOD)
Block(1,-2,-8,WOOD:3)
Block(1,-2,0,WOOD:3)
Block(1,-2,1,WOOD)
Block(1,-1,-8,WOOD:1)
Block(1,-1,0,WOOD)
Block(1,-1,1,WOOD:1)
Block(1,0,-8,WOOD)
Block(1,0,0,WOOD:1)
Block(1,0,1,WOOD)
Block(1,1,-8,WOOD)
Block(1,1,-7,WOOD)
Block(1,1,-6,WOOD:1)
Block(1,1,-5,WOOD)
Block(1,1,-4,WOOD)
Block(1,1,-3,WOOD)
Block(1,1,-2,WOOD)
Block(1,1,-1,WOOD)
Block(1,1,0,WOOD:1)
Block(1,2,-8,WOOD:3)
Block(1,2,-4,WOOD)
Block(1,2,0,WOOD:3)
Block(1,3,-4,WOOD)
Block(1,4,-4,WOOD)
Block(1,5,-4,WOOD)
Block(1,6,-4,WOOD)
Block(1,9,-5,WOOL:7)
Block(1,10,-5,WOOL:8)
Block(1,11,-5,WOOD)
Block(2,-3,-8,WOOD)
Block(2,-3,-7,WOOD)
Block(2,-3,-6,WOOD:3)
Block(2,-3,-5,WOOD:3)
Block(2,-3,-4,WOOD)
Block(2,-3,-3,WOOD:1)
Block(2,-2,-9,WOOD:3)
Block(2,-2,-3,WOOD:1)
Block(2,-2,-1,WOOD:3)
Block(2,-1,-9,WOOD:1)
Block(2,-1,-1,WOOD)
Block(2,0,-9,WOOD:3)
Block(2,0,-1,WOOD)
Block(2,1,-9,WOOD:3)
Block(2,1,-8,WOOD:1)
Block(2,1,-7,WOOD:3)
Block(2,1,-6,WOOD:3)
Block(2,1,-5,WOOD:1)
Block(2,1,-4,WOOD)
Block(2,1,-3,WOOD)
Block(2,1,-2,WOOD)
Block(2,1,-1,WOOD)
Block(2,2,-9,WOOD)
Block(2,2,-1,WOOD:3)
Block(2,6,-4,WOOD)
Block(2,7,-4,WOOD)
Block(2,8,-4,WOOD)
Block(2,9,-4,WOOD)
Block(2,10,-4,WOOD)
Block(2,11,-4,WOOD)
Block(2,12,-4,WOOD)
Block(2,13,-4,WOOD)
Block(2,14,-4,WOOD)
Block(3,-3,-9,WOOD)
Block(3,-3,-8,WOOD)
Block(3,-3,-7,WOOD:3)
Block(3,-3,-6,WOOD:1)
Block(3,-3,-5,WOOD)
Block(3,-3,-4,WOOD:1)
Block(3,-3,-3,WOOD:3)
Block(3,-2,-10,WOOD:3)
Block(3,-2,-3,WOOD)
Block(3,-2,-2,WOOD)
Block(3,-1,-10,WOOD:3)
Block(3,-1,-2,WOOD:3)
Block(3,0,-10,WOOD)
Block(3,0,-3,WOOD)
Block(3,0,-2,WOOD:1)
Block(3,1,-10,WOOD)
Block(3,1,-9,WOOD)
Block(3,1,-8,WOOD:3)
Block(3,1,-7,WOOD)
Block(3,1,-6,WOOD)
Block(3,1,-5,WOOD)
Block(3,1,-4,WOOD)
Block(3,1,-3,WOOD:1)
Block(3,1,-2,WOOD)
Block(3,2,-10,WOOD:1)
Block(3,2,-2,WOOD)
Block(3,10,-3,WOOL:7)
Block(3,11,-3,WOOD)
Block(4,-3,-9,WOOD)
Block(4,-3,-8,WOOD)
Block(4,-3,-7,WOOD:3)
Block(4,-3,-6,WOOD:3)
Block(4,-3,-5,WOOD:1)
Block(4,-3,-4,WOOD)
Block(4,-2,-10,WOOD)
Block(4,-2,-3,WOOD)
Block(4,-1,-10,WOOD)
Block(4,-1,-3,WOOD)
Block(4,0,-10,WOOD)
Block(4,0,-3,WOOD:1)
Block(4,1,-10,WOOD)
Block(4,1,-9,WOOD:3)
Block(4,1,-8,WOOD:1)
Block(4,1,-7,WOOD)
Block(4,1,-6,WOOD)
Block(4,1,-5,WOOD)
Block(4,1,-4,WOOD:1)
Block(4,1,-3,WOOD:1)
Block(4,2,-10,WOOD:3)
Block(4,2,-3,WOOD)
Block(4,8,-2,WOOL:7)
Block(4,9,-2,WOOL:8)
Block(4,10,-2,WOOL:7)
Block(4,11,-2,WOOD)
Block(5,-4,-9,WOOD)
Block(5,-3,-9,WOOD)
Block(5,-3,-8,WOOD:1)
Block(5,-3,-7,WOOD:1)
Block(5,-3,-6,WOOD:1)
Block(5,-3,-5,WOOD)
Block(5,-2,-10,WOOD)
Block(5,-2,-4,WOOD:3)
Block(5,-1,-10,WOOD:1)
Block(5,-1,-4,WOOD:3)
Block(5,0,-10,WOOD)
Block(5,0,-4,WOOD:3)
Block(5,1,-10,WOOD:3)
Block(5,1,-9,WOOD:3)
Block(5,1,-8,WOOD)
Block(5,1,-7,WOOD:3)
Block(5,1,-6,WOOD)
Block(5,1,-5,WOOD:3)
Block(5,1,-4,WOOD:1)
Block(5,2,-10,WOOD)
Block(5,2,-4,WOOD)
Block(5,9,-1,WOOL:7)
Block(5,10,-1,WOOL:8)
Block(5,11,-1,WOOD)
Block(6,-3,-9,WOOD:3)
Block(6,-3,-8,WOOD)
Block(6,-3,-7,WOOD:3)
Block(6,-3,-6,WOOD:3)
Block(6,-2,-10,WOOD:3)
Block(6,-2,-5,WOOD)
Block(6,-1,-10,WOOD)
Block(6,-1,-5,WOOD)
Block(6,0,-10,WOOD)
Block(6,0,-5,WOOD)
Block(6,1,-10,WOOD)
Block(6,1,-9,WOOD)
Block(6,1,-8,WOOD)
Block(6,1,-7,WOOD)
Block(6,1,-6,WOOD:3)
Block(6,1,-5,WOOD:3)
Block(6,2,-10,WOOD:3)
Block(6,2,-5,WOOD)
Block(6,10,0,WOOL:7)
Block(6,11,0,WOOD)
Block(7,-2,-9,WOOD:3)
Block(7,-2,-8,WOOD)
Block(7,-2,-7,WOOD:1)
Block(7,-2,-6,WOOD)
Block(7,-1,-9,WOOD:1)
Block(7,-1,-8,WOOD:1)
Block(7,-1,-7,WOOD)
Block(7,-1,-6,WOOD:1)
Block(7,0,-9,WOOD)
Block(7,0,-8,WOOD)
Block(7,0,-7,WOOD)
Block(7,0,-6,WOOD:3)
Block(7,1,-9,WOOD:3)
Block(7,1,-8,WOOD:1)
Block(7,1,-7,WOOD)
Block(7,1,-6,WOOD:1)
Block(7,2,-9,WOOD)
Block(7,2,-8,WOOD)
Block(7,2,-7,WOOD)
Block(7,2,-6,WOOD)

#######################################################################
# +-----------------------------------------------------------------+ #
# |                            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,0,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
