Skip to content
rutgerkok edited this page Sep 18, 2012 · 29 revisions

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.

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.
  • s2b - 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:

If you want to make your own tool for creating BO2 objects, here's the specification.

Place the objects in /plugins/TerrainControl/worlds/*worldname*/BOBPlugins for multiplayer and %appdata%/.minecraft/saves/*worldname*/TerrainControl/BOBPlugins for singleplayer. After you have placed a BO2 object in the BOBPlugins folder, you might want to adjust one of these settings:

[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.

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 a area is generated at night. (source)

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.

underFill=False

A flag to determin 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 determin 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 determin if the object should dig out the sides of its area. This will reduce the frequency bailout chance drasticly.

tree=False

A flag to determin if this object should grow from saplings.

needsFoundation=True

A flag to determin 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=30

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, collsion blocks from the object will override terrain.

spawnElevationMin=0

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

spawnElevationMax=200

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

spawnInBiome=All

A list of strings of possible biomes the object can spawn in. The possibilities are "All" or a name of a biome, such as "Taiga" or "Desert". 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!

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 determin if this object should spawn from branch blocks.

diggingBranch=false

A flag to determin 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 the blocks, each on their own line. This should automatically be created by the BO2-application.