Minecraft Blogs / Tutorial

How To: Make/Use Biome Objects in WorldPainter!

  • 16,535 views, 6 today
  • 32
  • 21
  • 3
Lord_Sauron_ avatar Lord_Sauron_
Level 36 : Artisan Dragon
Heeeeellooooo PMC!

Here I have a quick tutorial on how to make and use biome objects. There are a few programs that use these, but I shall concentrate upon WorldPainter.
In order to understand this, I recommend you have a decent knowledge of WorldPainter. It can get pretty heady at spots...

What are Biome Objects/.BO2 files?

Bo2s are biome objects. They are like trees in normal Minecraft. I know not how MC trees are generated - they may be a random algorithm or a set amount of possibilities. You'd have to ask a modder xP

But for our purposes, say there are only 5 different tree shapes available. These trees would be randomly placed wherever they are able to be spawned, and randomly rotated as well. With that, you could wander through a dense forest for days and never realize that there were only 5 types of trees.

How do we use Biome Objects?

Now, whether or not MC works like that, that is how WorldPainter works. If you can gather a set of Biome Objects, or Bo2 files, you can put them in a layer and paint them on your map. Some examples:


I have an entire forest thing made up of those trees, and they are all the EXACT same tree. They were all randomly rotated, however, so you can still get away with it and have it look good.

In order to paint them on, I merely hit that little + button at the bottom of the Layers toolbox, and hit Custom Ground Objects or whatever it is. The top option. When that box came up, I hit the + button on it and added the watervinetree.bo2. As I was trying to get that tree to look good, that was the only one I added.
I painted it with max intensity or close to it - Not exactly sure.
Once done, I hit export and it made those trees automatically.

Alright, cool. Now how do I make a biome object?

MAKING that tree was a tad bit more difficult. I first built it in Minecraft, standard procedure. Then I opened up MCEdit and selected the tree and the layer of ground underneath it. Once I had that selected, I hit the Export button on MCEdit, and made it a schematic in a folder near the directory I kept my Bo2s.

Now I had the tree. However, it needs to be a .bo2 - not a .schematic! In order to convert it, I had two options. One was a script made by Massivecraft that convert's schematics to bo2s, but it also requires rubyscript in order to run. The advantage of this is that it can convert any number of schematics at once. The other option, the one I took, was to open up a specialty program called BetterBOB (Better Biome Object Builder). I then opened up the schematic (You have to set it to search for all file types when opening, otherwise it will not show up!) and it loaded in BetterBOB. Here, I could modify it and mess with the properties. A few properties, such as the blasted branching and grouping, I still am not quite sure of how to work. I believe grouping makes it so when one spawns, it tries to make other bo2s you specified spawn near it.... or something. Either way, the properties dropdown has a ton of stuff and options.

I didn't mess with any of it, and just saved the file as a bo2. BetterBOB can do that for one file at a time. Now comes another tricky part. I found the bo2 and edited it in Notepad++ (Get Notepad++ if you don't have it - it is useful for a great many things, and can edit code of files your computer has no idea what to do with... Such as bo2s). Once there, I got a screen like this.


Oh snap! Coding! Help me!

The lines under Meta and before Data are the properties that were in BetterBOB. However, I generally prefer to edit them here... No particular reason, just preference. GUI interfaces for things like this are less preferable than just understanding the code - at least to me xP

Don't touch this. No reason too. It makes the 2 in bo2.
Self-explanatory. 2 is grass.
Whether or not the biome object will spawn in sunlight. Obviously, I wanted it too.
Whether or not it can spawn in complete darkness. Note, this means Skylight. So it will not spawn at night, even if the world is being generated at night. I would use this for things such as a underground biome object... Or something.
Can it spawn underwater? I opted for a no here, though you would want a yes if you were doing a swamp tree or something. My first though when I saw that... Coral.
Same thing as water.
This one is a little heady. Basically, if that tree spawned and there were some gaps underneath it when it spawned, if this is true it will automatically fill those gaps with the block specified in the spawnOnBlockType.
You can turn this off if you want. Maybe wind blown trees should all be bent in the same direction? ...I like that idea, actually...
Whether or not it will dig out the sides of its spawn. I'm not entirely sure on this one, actually... I believe that it means if there was one block of grass and it was in a 2 deep hole, and the tree attempted a spawn on it, it would automatically dig out (or get rid of) the blocks located around it. This makes the bailout chance (Chance that it will stop the spawn because of whatever reason) decrease dramatically.
Believe it or not, you can set it so your biome object can grow from saplings if they are put in that area - or something like that. A really cool feature, if you ask me.
A tag to decide whether the object can spawn from branch blocks. I don't know how to designate branch blocks, unfortunately. What I can see this being is, say, a massive tree bo2 with a few branch blocks scattered around. Then perhaps a bo2 giant Roc nest could have a chance to spawn there. I really don't know.
Whether or not it needs a foundation to spawn. If this is set to false, there is a chance that it might spawn floating.
Spawn attempts per chunk. Every integer of 100 represents an attempt to spawn it. So, 240 would be 2 spawn attempts in a chunk plus a 40% chance that there is a third attempt.
How much of the object is allowed to collide with the terrain. If Dig is set to true, then any blocks the object collides with will be removed. If Dig is false, then the parts of the object that collided are removed.
spawnElevationMin & spawnElevationMax:
Yup, you can change the spawns based on elevations. Epic, right?
Simple enough. Say All to make it so it will spawn in any biome.

Whew, that was hard. Now that... Wait, there's more?!?!

Now for the Data. From the origin of the bo2 (In BetterBOB, you can see it as little grey block on layer 0), the first three numbers are coordinates. The fourth number is the block. For this tree, I did mess with these. Notice that all the bark on the tree is actually bark on all sides? There is no top or bottom. With the wood block (ID 17) you can add an additional data value afterwords to set what type of wood and what orientation is should be in.


I used 17.15, jungle wood with all side bark. A ctrl+f, going to replace, and clicking replace was what I did. However, be warned, if you do Replace All, it will replace all occurrences of the number 17. That includes the 17 coordinate rather than the block value. So, I went through manually, hitting replace and then next when there was a 17 I didn't want to change.

NOW are we done?

All that work later, I now have a bo2 of a WaterVineTree, as I called it.


In conclusion...

Alright, I realize that probably seems like a HELL of a lot of work for a single tree - but it really isn't. I explained everything, but once you know what they are, it is a simple matter to just go through and change what you want. The hardest part of it is learning what they are, though...

So, good luck, and feel free to comment or PM me any questions you may have!

CreditWhere I learned how to do this: https://github.com/Wickth/TerrainControl/wiki/BO2-objects

Create an account or sign in to comment.

03/30/2018 8:22 am
Level 1 : New Miner
Deux_Freres avatar
Nice thanks for the help and the explaining of the coding. I probably would stopped doing this if you hadn't explained the coding.😊😊
12/25/2014 11:05 am
Level 1 : New Network
TheBritishBoys avatar
World painter actually ignors all the .bo2 proporties, exept spawnWater,  spawnLava, needsFoundation and randomRotation. 

You don't need to edit anything else...
03/09/2013 6:41 am
Level 1 : New Crafter
deadjaw avatar
Thank you
Planet Minecraft


© 2010 - 2023