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

# The descriptions in this file are accurate only for TerrainControl and OTG.
# For MCW and OTG+ these descriptions are only accurate if the BO3 is used as a CustomObject.
# MCW and OTG+ completely reimplemented CustomStructure, check the MCW/OTG+ documentation for more information.

# 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: Unknown

# A short description of this BO3 object
Description: This BO3 was converted from a schematic using OTGEdit. The author and description information of the schematic could not be found. If you know who the author of the schematic is then please add this information.

# 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: WriteAll

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

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

# 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: 40

# 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: true

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

# The height limits for the BO3.
MinHeight: 63

MaxHeight: 256

# Objects can have other objects attached 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

# To optimise this BO3 for faster loading times you can use Notepad++ to find/replace comments and abbreviate things.
# Notepad++ find/replace with regex:
# Find: ^[#;].* replace to nothing removes all lines starting with # 
# Find: ^\s*$ replace to nothing removes most empty lines 
# Notepad++ find/replace without regex:
# *Warning: This will only work for OTG 1.10.2 v21 / OTG 1.11.2 v6 or higher. B( is not recognised by lower versions.
# Find: Block( replace to B(

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

# The block(s) the BO3 should spawn in.
SourceBlocks: AIR,GRASS,DIRT

# 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: 5

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

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

# All the blocks used in the BO3 are listed here. Possible blocks:
# Block(x,y,z,id[.data][,nbtfile.nbt) or 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.

Block(-4,1,2,biomesoplenty:willow_vine:8)
Block(-4,2,2,biomesoplenty:willow_vine:8)
Block(-4,3,2,biomesoplenty:willow_vine:8)
Block(-4,4,2,biomesoplenty:willow_vine:8)
Block(-4,5,2,biomesoplenty:willow_vine:8)
Block(-3,1,3,biomesoplenty:willow_vine:8)
Block(-3,2,3,biomesoplenty:willow_vine:8)
Block(-3,3,3,biomesoplenty:willow_vine:8)
Block(-3,4,3,biomesoplenty:willow_vine:8)
Block(-3,5,-3,biomesoplenty:leaves_4:3)
Block(-3,5,-2,biomesoplenty:leaves_4:3)
Block(-3,5,-1,biomesoplenty:leaves_4:3)
Block(-3,5,0,biomesoplenty:leaves_4:3)
Block(-3,5,1,biomesoplenty:leaves_4:3)
Block(-3,5,2,biomesoplenty:leaves_4:3)
Block(-3,5,3,biomesoplenty:willow_vine:8)
Block(-3,6,-3,biomesoplenty:leaves_4:3)
Block(-3,6,-2,biomesoplenty:leaves_4:3)
Block(-3,6,-1,biomesoplenty:leaves_4:3)
Block(-3,6,0,biomesoplenty:leaves_4:3)
Block(-3,6,1,biomesoplenty:leaves_4:3)
Block(-3,6,2,biomesoplenty:leaves_4:3)
Block(-3,7,-2,biomesoplenty:willow_vine:8)
Block(-2,1,-4,biomesoplenty:willow_vine:1)
Block(-2,2,-4,biomesoplenty:willow_vine:1)
Block(-2,2,4,biomesoplenty:willow_vine:4)
Block(-2,3,-4,biomesoplenty:willow_vine:1)
Block(-2,3,4,biomesoplenty:willow_vine:4)
Block(-2,4,-4,biomesoplenty:willow_vine:1)
Block(-2,4,4,biomesoplenty:willow_vine:4)
Block(-2,5,-4,biomesoplenty:willow_vine:1)
Block(-2,5,-3,biomesoplenty:leaves_4:3)
Block(-2,5,-2,biomesoplenty:leaves_4:3)
Block(-2,5,-1,biomesoplenty:leaves_4:3)
Block(-2,5,0,biomesoplenty:leaves_4:3)
Block(-2,5,1,biomesoplenty:leaves_4:3)
Block(-2,5,2,biomesoplenty:leaves_4:3)
Block(-2,5,3,biomesoplenty:leaves_4:3)
Block(-2,5,4,biomesoplenty:willow_vine:4)
Block(-2,6,-4,biomesoplenty:willow_vine:1)
Block(-2,6,-3,biomesoplenty:leaves_4:3)
Block(-2,6,-2,biomesoplenty:leaves_4:3)
Block(-2,6,-1,biomesoplenty:leaves_4:3)
Block(-2,6,0,biomesoplenty:leaves_4:3)
Block(-2,6,1,biomesoplenty:leaves_4:3)
Block(-2,6,2,biomesoplenty:leaves_4:3)
Block(-2,6,3,biomesoplenty:leaves_4:3)
Block(-2,6,4,biomesoplenty:willow_vine:4)
Block(-2,7,-2,biomesoplenty:leaves_4:3)
Block(-2,7,-1,biomesoplenty:leaves_4:3)
Block(-2,7,0,biomesoplenty:leaves_4:3)
Block(-2,7,1,biomesoplenty:leaves_4:3)
Block(-2,7,2,biomesoplenty:willow_vine:4)
Block(-2,8,-1,biomesoplenty:leaves_4:3)
Block(-2,8,0,biomesoplenty:leaves_4:3)
Block(-2,8,1,biomesoplenty:leaves_4:3)
Block(-1,1,4,biomesoplenty:willow_vine:4)
Block(-1,2,4,biomesoplenty:willow_vine:4)
Block(-1,3,4,biomesoplenty:willow_vine:4)
Block(-1,4,4,biomesoplenty:willow_vine:4)
Block(-1,5,-3,biomesoplenty:leaves_4:3)
Block(-1,5,-2,biomesoplenty:leaves_4:3)
Block(-1,5,-1,biomesoplenty:leaves_4:3)
Block(-1,5,0,biomesoplenty:leaves_4:3)
Block(-1,5,1,biomesoplenty:leaves_4:3)
Block(-1,5,2,biomesoplenty:leaves_4:3)
Block(-1,5,3,biomesoplenty:leaves_4:3)
Block(-1,5,4,biomesoplenty:willow_vine:4)
Block(-1,6,-3,biomesoplenty:leaves_4:3)
Block(-1,6,-2,biomesoplenty:leaves_4:3)
Block(-1,6,-1,biomesoplenty:leaves_4:3)
Block(-1,6,0,biomesoplenty:leaves_4:3)
Block(-1,6,1,biomesoplenty:leaves_4:3)
Block(-1,6,2,biomesoplenty:leaves_4:3)
Block(-1,6,3,biomesoplenty:leaves_4:3)
Block(-1,7,-3,biomesoplenty:willow_vine:1)
Block(-1,7,-2,biomesoplenty:leaves_4:3)
Block(-1,7,-1,biomesoplenty:leaves_4:3)
Block(-1,7,0,biomesoplenty:leaves_4:3)
Block(-1,7,1,biomesoplenty:leaves_4:3)
Block(-1,7,2,biomesoplenty:leaves_4:3)
Block(-1,8,-3,biomesoplenty:willow_vine:1)
Block(-1,8,-2,biomesoplenty:leaves_4:3)
Block(-1,8,-1,biomesoplenty:leaves_4:3)
Block(-1,8,0,biomesoplenty:leaves_4:3)
Block(-1,8,1,biomesoplenty:leaves_4:3)
Block(-1,8,2,biomesoplenty:leaves_4:3)
Block(0,0,0,biomesoplenty:log_2:5)
Block(0,1,0,biomesoplenty:log_2:5)
Block(0,2,-4,biomesoplenty:willow_vine:1)
Block(0,2,0,biomesoplenty:log_2:5)
Block(0,3,-4,biomesoplenty:willow_vine:1)
Block(0,3,0,biomesoplenty:log_2:5)
Block(0,4,-4,biomesoplenty:willow_vine:1)
Block(0,4,0,biomesoplenty:log_2:5)
Block(0,5,-4,biomesoplenty:willow_vine:1)
Block(0,5,-3,biomesoplenty:leaves_4:3)
Block(0,5,-2,biomesoplenty:leaves_4:3)
Block(0,5,-1,biomesoplenty:leaves_4:3)
Block(0,5,0,biomesoplenty:log_2:5)
Block(0,5,1,biomesoplenty:leaves_4:3)
Block(0,5,2,biomesoplenty:leaves_4:3)
Block(0,5,3,biomesoplenty:leaves_4:3)
Block(0,6,-4,biomesoplenty:willow_vine:1)
Block(0,6,-3,biomesoplenty:leaves_4:3)
Block(0,6,-2,biomesoplenty:leaves_4:3)
Block(0,6,-1,biomesoplenty:leaves_4:3)
Block(0,6,0,biomesoplenty:log_2:5)
Block(0,6,1,biomesoplenty:leaves_4:3)
Block(0,6,2,biomesoplenty:leaves_4:3)
Block(0,6,3,biomesoplenty:leaves_4:3)
Block(0,7,-3,biomesoplenty:willow_vine:1)
Block(0,7,-2,biomesoplenty:leaves_4:3)
Block(0,7,-1,biomesoplenty:leaves_4:3)
Block(0,7,0,biomesoplenty:log_2:5)
Block(0,7,1,biomesoplenty:leaves_4:3)
Block(0,7,2,biomesoplenty:leaves_4:3)
Block(0,7,3,biomesoplenty:willow_vine:4)
Block(0,8,-3,biomesoplenty:willow_vine:1)
Block(0,8,-2,biomesoplenty:leaves_4:3)
Block(0,8,-1,biomesoplenty:leaves_4:3)
Block(0,8,0,biomesoplenty:leaves_4:3)
Block(0,8,1,biomesoplenty:leaves_4:3)
Block(0,8,2,biomesoplenty:leaves_4:3)
Block(1,5,-3,biomesoplenty:leaves_4:3)
Block(1,5,-2,biomesoplenty:leaves_4:3)
Block(1,5,-1,biomesoplenty:leaves_4:3)
Block(1,5,0,biomesoplenty:leaves_4:3)
Block(1,5,1,biomesoplenty:leaves_4:3)
Block(1,5,2,biomesoplenty:leaves_4:3)
Block(1,5,3,biomesoplenty:leaves_4:3)
Block(1,6,-3,biomesoplenty:leaves_4:3)
Block(1,6,-2,biomesoplenty:leaves_4:3)
Block(1,6,-1,biomesoplenty:leaves_4:3)
Block(1,6,0,biomesoplenty:leaves_4:3)
Block(1,6,1,biomesoplenty:leaves_4:3)
Block(1,6,2,biomesoplenty:leaves_4:3)
Block(1,6,3,biomesoplenty:leaves_4:3)
Block(1,7,-3,biomesoplenty:willow_vine:1)
Block(1,7,-2,biomesoplenty:leaves_4:3)
Block(1,7,-1,biomesoplenty:leaves_4:3)
Block(1,7,0,biomesoplenty:leaves_4:3)
Block(1,7,1,biomesoplenty:leaves_4:3)
Block(1,7,2,biomesoplenty:leaves_4:3)
Block(1,8,-3,biomesoplenty:willow_vine:1)
Block(1,8,-2,biomesoplenty:leaves_4:3)
Block(1,8,-1,biomesoplenty:leaves_4:3)
Block(1,8,0,biomesoplenty:leaves_4:3)
Block(1,8,1,biomesoplenty:leaves_4:3)
Block(1,8,2,biomesoplenty:leaves_4:3)
Block(2,1,-4,biomesoplenty:willow_vine:1)
Block(2,2,-4,biomesoplenty:willow_vine:1)
Block(2,2,4,biomesoplenty:willow_vine:4)
Block(2,3,-4,biomesoplenty:willow_vine:1)
Block(2,3,4,biomesoplenty:willow_vine:4)
Block(2,4,-4,biomesoplenty:willow_vine:1)
Block(2,4,4,biomesoplenty:willow_vine:4)
Block(2,5,-4,biomesoplenty:willow_vine:1)
Block(2,5,-3,biomesoplenty:leaves_4:3)
Block(2,5,-2,biomesoplenty:leaves_4:3)
Block(2,5,-1,biomesoplenty:leaves_4:3)
Block(2,5,0,biomesoplenty:leaves_4:3)
Block(2,5,1,biomesoplenty:leaves_4:3)
Block(2,5,2,biomesoplenty:leaves_4:3)
Block(2,5,3,biomesoplenty:leaves_4:3)
Block(2,5,4,biomesoplenty:willow_vine:4)
Block(2,6,-3,biomesoplenty:leaves_4:3)
Block(2,6,-2,biomesoplenty:leaves_4:3)
Block(2,6,-1,biomesoplenty:leaves_4:3)
Block(2,6,0,biomesoplenty:leaves_4:3)
Block(2,6,1,biomesoplenty:leaves_4:3)
Block(2,6,2,biomesoplenty:leaves_4:3)
Block(2,6,3,biomesoplenty:leaves_4:3)
Block(2,6,4,biomesoplenty:willow_vine:4)
Block(2,7,-2,biomesoplenty:leaves_4:3)
Block(2,7,-1,biomesoplenty:leaves_4:3)
Block(2,7,0,biomesoplenty:leaves_4:3)
Block(2,7,1,biomesoplenty:leaves_4:3)
Block(2,7,2,biomesoplenty:leaves_4:3)
Block(2,7,3,biomesoplenty:willow_vine:4)
Block(2,8,-1,biomesoplenty:leaves_4:3)
Block(2,8,0,biomesoplenty:leaves_4:3)
Block(2,8,1,biomesoplenty:leaves_4:3)
Block(2,8,2,biomesoplenty:willow_vine:2)
Block(3,2,-4,biomesoplenty:willow_vine:1)
Block(3,2,3,biomesoplenty:willow_vine:4)
Block(3,3,-4,biomesoplenty:willow_vine:1)
Block(3,3,3,biomesoplenty:willow_vine:4)
Block(3,4,-4,biomesoplenty:willow_vine:1)
Block(3,4,3,biomesoplenty:willow_vine:4)
Block(3,5,-4,biomesoplenty:willow_vine:1)
Block(3,5,-2,biomesoplenty:leaves_4:3)
Block(3,5,-1,biomesoplenty:leaves_4:3)
Block(3,5,0,biomesoplenty:leaves_4:3)
Block(3,5,1,biomesoplenty:leaves_4:3)
Block(3,5,2,biomesoplenty:leaves_4:3)
Block(3,5,3,biomesoplenty:willow_vine:4)
Block(3,6,-4,biomesoplenty:willow_vine:1)
Block(3,6,-3,biomesoplenty:leaves_4:3)
Block(3,6,-2,biomesoplenty:leaves_4:3)
Block(3,6,-1,biomesoplenty:leaves_4:3)
Block(3,6,0,biomesoplenty:leaves_4:3)
Block(3,6,1,biomesoplenty:leaves_4:3)
Block(3,6,2,biomesoplenty:leaves_4:3)
Block(3,6,3,biomesoplenty:willow_vine:4)
Block(3,7,-1,biomesoplenty:willow_vine:2)
Block(3,7,1,biomesoplenty:willow_vine:2)
Block(3,8,1,biomesoplenty:willow_vine:2)
Block(4,2,-1,biomesoplenty:willow_vine:2)
Block(4,3,-1,biomesoplenty:willow_vine:2)
Block(4,4,-1,biomesoplenty:willow_vine:2)
Block(4,5,-1,biomesoplenty:willow_vine:2)
Block(4,6,-1,biomesoplenty:willow_vine:2)


#######################################################################
# +-----------------------------------------------------------------+ #
# |                             Entities                            | #
# +-----------------------------------------------------------------+ #
#######################################################################

# Entity() spawns an entity instead of a block. The entity is spawned only once when the BO3 is spawned.
# Entities are persistent by default so they don't de-spawn when no player is near, they are only unloaded.
# Usage: Entity(x,y,z,mobName,groupSize,NameTagOrNBTFileName) or Entity(x,y,z,mobName,groupSize)
# Use /tc entities or /otg entities to get a list of entities that can be used as mobName, this includes entities added by other mods.
# NameTagOrNBTFileName can be either a nametag for the mob or an nbt file (such as mymobinfo.nbt or mymobinfo.txt).
# When using a text file you can use the same mob spawning parameters used with the /summon command to equip the
# entity and give it custom attributes etc. You can copy the DATA part of a summon command including surrounding
# curly braces to a .txt file, for instance for: "/summon Skeleton x y z {DATA}"

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

BlockCheck(0,-1,0,GRASS,DIRT)
BlockCheck(1,-1,0,Solid)
BlockCheck(1,-1,-1,Solid)
BlockCheck(1,-1,1,Solid)
BlockCheck(0,-1,1,Solid)
BlockCheck(0,-1,-1,Solid)
BlockCheck(-1,-1,1,Solid)
BlockCheck(-1,-1,0,Solid)
BlockCheck(-1,-1,-1,Solid)
BlockCheck(2,-1,2,Solid)
BlockCheck(2,-1,1,Solid)
BlockCheck(2,-1,0,Solid)
BlockCheck(2,-1,-1,Solid)
BlockCheck(2,-1,-2,Solid)
BlockCheck(1,-1,2,Solid)
BlockCheck(1,-1,-2,Solid)
BlockCheck(0,-1,2,Solid)
BlockCheck(0,-1,-2,Solid)
BlockCheck(-1,-1,2,Solid)
BlockCheck(-1,-1,-2,Solid)
BlockCheck(-2,-1,2,Solid)
BlockCheck(-2,-1,1,Solid)
BlockCheck(-2,-1,0,Solid)
BlockCheck(-2,-1,-1,Solid)
BlockCheck(-2,-1,-2,Solid)

