Skip to content
rutgerkok edited this page Feb 8, 2013 · 29 revisions

This page is about the BO2 objects in Terrain Control 2.3. The old page about the BO2s in Terrain Control 2.2 (and 2.1) can be found here. If you want to have an early look at the BO3 objects, see here.

BO2 objects (also called BO2 plugins or BOBs) are one of the most powerful features of Terrain Control. They are custom objects that can be added to your world. That could be anything (if it is not too large), like custom trees, bushes, buildings, ruins, ponds, etc.

Getting BO2s

You can create BO2 objects using one of the following tools:

  • Better BOB - an application that builds 3D objects for minecraft in 2D layer by layer. Can also import schematic files. Windows-only.
  • s2b by MassiveCraft - schematic to bo2 converter. Can convert a lot of schematic files at once. Requires Ruby.

Alternatively, you can download hundreds of premade BO2 objects here:

Placing the BO2s in your world

There are two different BO2 folders. One folder is the global folder; all your Terrain Control worlds can use the BO2. On Bukkit it's path is plugins/TerrainControl/GlobalObjects and on Forge it is mods/TerrainControl/GlobalObjects. The other folder is the local folder; only the world you have placed the BO2 in can use it. The path is plugins/TerrainControl/worlds/*worldname*/WorldObjects for Bukkit and lugins/TerrainControl/worlds/*worldname*/WorldObjects for Forge. If you plan to use BO2s in multiple worlds, you can better place it in the global folder.

After all the objects are placed in one of the folders you can add them to your world. There are several ways to spawn a BO2:

  • Add the BO2 name to the CustomObjects function in the Resources queue of the biome where you want the BO2.
  • For trees: add the BO2 to the Tree resource in the Resources queue. They will spawn along with the other trees at the world generation.
  • Also for trees: add them to the Sapling resource in the BiomeConfigs. They will now grow from saplings.

###UseWorld Instead of adding one BO2 at a time, you can also use the keyword UseWorld as a BO2 name. All BO2s that have the biome name of the biome of the BiomeConfig in their spawnInBiome setting will spawn. If you are using UseWorld the Tree function or in the SaplingSettings, the BO2 also needs to have it's tree setting set to true.

###a name="usebiome">UseBiome There is also a Custom Objects list near the bottom of the BiomeConfigs (above mob spawning, below the Resources queue). If you need to add a lot of BO2s you can use this list; simply write a list of BO2 names. You can then use the keyword UseBiome as a BO2 name to spawn all the BO2s in this list. If you are using UseBiome the Tree resource or in the Sapling resource, the BO2 also needs to have it's tree setting set to true.

Overriding settings

If you are using a BO2 name (not the keywords UseBiome and UseWorld) ther is also an override syntax available. To override the spawnOnBlockType and rarity settings of the BO2, write MyCustomObject(spawnOnBlockType=2;rarity=100) instead of just the BO2 name MyCustomObject. Notice the semicolon (;) instead of the normal comma. Example of this in the CustomObject resource:

CustomObject(MyCustomObject(spawnOnBlockType=2;rarity=100),MyOtherCustomObject)

The settings in the BO2 files

In each BO2 file you can find some settings to customize how the BO2 object will spawn.

[META]

version=2.0

The version of the BOB object. Currently we are at version 2.0, that's why the file extension is .bo2. Don't change this!

spawnOnBlockType=2

The block ids for the object to spawn on. Seperate multiple values using a ,, so spawnOnBlockType:2,3 enables the BO2 spawn on both grass and dirt. See the Minecraft Wiki for block ids. You can use All as a block id to add all blocks to the list. Use Solid as a block id to add all solid blocks to add all solid blocks to the list.

spawnSunlight=True

A flag if this object can spawn on sunlit ground.

spawnDarkness=True

A flag if this object can spawn in total darkness. This includes skylight, so if you set this to false, this BO2 won't spawn if an area is generated at night. (source) Is that still the case?

spawnWater=False

A flag if this object can spawn under water. Note if the object is tall enough, it might portrude from the water.

spawnLava=False

A flag if this object can spawn under lava.

spawnAboveGround=False

spawnUnderGround=False

Set spawnAboveGround to true to spawn the BO2 at the highest solid block. Set spawnUnderGround to true to spawn the BO2 underground. If both are true the object will only spawn at the highest solid block. If both are false the object will spawn at the highest block.

underFill=False

A flag to determine if the object should have its base filled underneath of any gaps after placing. The gaps will be filled with the block specified in spawnOnBlockType.

randomRotation=True

A flag to determine if the object can be rotated randomly 0, 90, 180 or 270 degrees on placing. A branch block will be oriented based on the branch direction, however with this flag set, it can appear in any direction.

dig=True

A flag to determine if the object should dig out the sides of its area. This will reduce the frequency bailout chance drasticly.

tree=False

A flag to determine if this object is a tree. Not needed when you are writing the BO2 name directly in the BiomeConfigs, but it's needed if this BO2 is spawned with the keywords UseWorld or UseBiome.

needsFoundation=True

A flag to determine if the object requires a preexisting foundation. If this is false, the object MIGHT spawn floating.

rarity=100

A 1 to 100 chance the object will spawn in any given chunk. However, each whole 100 value represents a spawn attempt, then the remaining is a precentage again: rarity=320 means that there will be 3 spawn attempts plus a 20% chance of a 4th.

collisionPercentage=2

A 1 to 100 percent of the total object that is allowed to collide with the terrain. With the dig flag set to false, collsion blocks are removed, with the dig flag of true, collision blocks from the object will override terrain.

collisionBlockType=All

List of block ids that count for the collisionPercentage setting. You can use All as a block id to add all blocks to the list. Use Solid as a block id to add all solid blocks to add all solid blocks to the list.

spawnElevationMin=0

An integer indicating the minimum elevation the base of the object can spawn at.

spawnElevationMax=128

An integer indicating the maximum elevation the base of the object can spawn at.

spawnInBiome=All

When you are using the UseWorld keyword, the biome name needs to be added to this list to spawn this BO2. Names need to exactly match the biome names. You can add multiple biomes with a comma like this: spawnInBiome:Taiga,Desert. Don't type spaces between the comma and the biome name! You can also write All instead of adding all biomes.

groupId=

A string containing the group id this object belongs to. Objects with the same groupId can spawn near each other. If group id is absent, or "", no other group information needs to be loaded, or saved to file.

branch=false

A flag to determine if this object should spawn from branch blocks.

diggingBranch=false

A flag to determine if the branch block is allowed to override existing blocks in the object. If false if the branch would overlap the existing object, it fails to be added, and the branch fails completely.

branchLimit=6

The maximum number of branches a single object can have before the branch engine stops adding branches.

groupFrequencyMin=1

The minimum number of objects from a group that are attempted to be placed near each other.

groupFrequencyMax=5

The maximum number of objects from a group that are attempted to be placed near each other. (groupFrequency is calculated for each normal frequency attempt(!), so be careful about setting your numbers too high)

groupSeperationMin=0

The minimum distance between group objects when spawning.

groupSeperationMax=5

The maximum distance between group objects when spawning.

[DATA]

Here follows a list of all blocks in the BO2. Should automatically be created by the BO2 application.