Please bump this thread if you found it helpful so that others may find it more easily. I will be keeping it up to date with every change made to biome palettes.
Biome Palettes
As of the 12w07b snapshot there's a new map format and a completely new biome rendering format. Biomes are much more dynamic in that they have the potential for their positions to be altered on a per-block basis for each map. As a result it would seem that they've oversimplified how biome colors are drawn from the palettes. The analogy I've come up with to compare the old and the new method is basically it's like the switch from analog to digital.
On the old method lines were drawn between hotspots on the palettes to handle the transitions. On the new method all that matters is a single pixel for each biome, The space in between is completely irrelevant and the game's code blends it with a simple averaging filter over 4 blocks.
So the explanation for how the new template and the new way to edit biome palettes is now absurdly simple:
1. Open any biome palette you wish to edit in any editor(Even MS Paint!).
2. Copy the image above and paste it over the default/old biome palette.
3. Use the fill tool with whatever colors you want for each biome on the big circles.
4. Save and place in texture pack.
That's it.
For those of you wondering, despite the large circles that are easy to attack with a fill tool, this is a pixel-perfect palette. The pixel that matters is in the center of the black X shape. Every other single pixel can be replaced with whatever you want with no effect on the game.
And here's the old post for those still living in the past.
Biome Palettes
This is a mini-tutorial with a template designed to help other texture pack artists understand how biomes work so that they can create a better custom grasscolor.png, foliagecolor.png, and any other custom biome palette (As was recently introduced to MCPatcher).
Obsolete Method
Out with the old:
Forget everything you knew about biomes and the old template.
This old palette contains biomes which no longer exist. While Mojang's grasscolor.png may have not changed, the coordinates that determine where the color is chosen for each biome are quite a bit different. There are also new special cases like swamps, where a hard-coded equation is applied over top of the standard biome coloring. Fortunately MCPatcher now allows you to customize your swamp colors as well as the coloring for water, and just about any block you want based on biome placement. So understanding where on these palettes each biome is located is very crucial to creating a smooth-looking biome color scheme for your texture pack.
Working Method
In with the new:
Much easier to work with than the old one, really. (Edit: See below for corrections and a more up to date template.)
Thanks to some data Kahr compiled for me, I was able to determine that the best way to approach biomes now is by focal points. Each colored dot on the template above represents the main color used by a biome. The space in between is basically where the different biomes blend into each other. The blending is basically linear. You pretty much connect the dots and the colors along those lines represent the transitional colors between those biomes. The only exception here is the desert which is more of a line that seems to make up the whole left-hand side of the palette. The 'dot biomes' fan out to the left edge when transitioning into desert.
Example
Understanding this, you should be able to see how to make a simple biome map now. A good method is to take the template, make a couple layers, then using big soft brushes with a wide, fading radius to create soft blobs of color on top of each focal point. You only need to do the areas that you want to have a unique color for that biome. On a lower layer you can choose the general color of grass and flood-fill that in. You can then merge, blur, and tweak however you normally would. Broken down into steps it looks something like this:
Doing a grass palette here, so the ocean and mushroom biomes can largely be ignored.
Now using the color for my plains I can fill in the background.
Some quick processing to blend things a little better and add some optional noise.
And we're done.
This is a very rushed example and the colors are a bit silly, but you get the idea.
One last important thing to take note of. The default color for the block when held in the player's hand comes from a point somewhere near the dead center of the image. So if you want grass blocks to show up as the color of your plains in the creative mode item menu, be sure the area near the center is largely untouched by the other biome colors.
Hope this helps, and happy texture-packing!
EDIT: I've made a correction and an update to the biome template, please grab the new one (Right half of the image). It corrects the placement of the mushroom biome and is accurate to the pixel, with the pixel in the dead center of each crosshair representing the single color used by the majority of the biome. The left side of the image gives a brief explanation about how the desert biome is a bit unique and provides some insight as to how it works.
Excuse any distortion of the images in the forum--when saved, the images are crystal clear
A quick note about animations and the new watercolorX.png:
I've been trying to get my water to look the same as it did before Custom Colours were introduced into mcpatcher, but it's been a bit of a struggle.
What I realised was, with this new system, the water animation now needs to be in greyscale (instead of blue as it was) in order for all the colours in watercolorX.png to be true and not tainted.
The only problem with this is that the water is much darker than it was before Custom Colours.
I'm going to try and make the animation more white than grey then control the hue and darkness using watercolorX.png.
It's a bit of a balancing act, for a good test in your editor, take a single frame from your water animation then make a new layer and flood fill it with the color to test and set the render mode to multiply.
Minecraft seems to multiply the color from the palette at about 100-110% with the texture.
I did this with a side by side comparison of my old pre-colored water to get it looking just right.
You can extract JUST the color from your old water by making a new layer, filling it with a solid color like red (255,0,0) and setting the layer render mode to luminance. That'll remove all shading and give you a pure set of hues to work with as a good starting point.
# You may assign custom biome palettes to any standard block (i.e. one that
# does not already have its own special color multiplier method). The syntax
# for this in color.properties is
# palette.block.<image in texture pack>=<list of block IDs>
# The image must exist in your texture pack and must be 256x256. For example,
# to color all stone and ore blocks with /misc/stonecolor.png
# palette.block./misc/stonecolor.png=1 14 15 16 21 56 73 74
In color.properties, what do the palette.block. numbers (highlighted red below) represent and can they modified?
# You may assign custom biome palettes to any standard block (i.e. one that
# does not already have its own special color multiplier method). The syntax
# for this in color.properties is
# palette.block.<image in texture pack>=<list of block IDs>
# The image must exist in your texture pack and must be 256x256. For example,
# to color all stone and ore blocks with /misc/stonecolor.png
# palette.block./misc/stonecolor.png=1 14 15 16 21 56 73 74
In color.properties, what do the palette.block. numbers (highlighted red below) represent and can they modified?
I really appreciate you doing this explanation, but I don't need to be bearer of bad news, but this is not easier than how it was before. Although this does give more customization of the biome colors, wouldn't it be simpler to have an octagon where each point of it was the most central point in the biome, and it fades out towards the other ones and the center where the center is plains? I feel like just taking the previous format and simply placing random dots within the area doesn't make much sense and gives less balance to some biomes than others. If it were to be formatted similar to the hexagon color slider that is occasionally in image editing software then it would be the most balanced except for the plain color, which is honestly the default for biome colors.
Edit: I should post this in the MCpatcher thread shouldn't I...
I really appreciate you doing this explanation, but I don't need to be bearer of bad news, but this is not easier than how it was before. Although this does give more customization of the biome colors, wouldn't it be simpler to have an octagon where each point of it was the most central point in the biome, and it fades out towards the other ones and the center where the center is plains? I feel like just taking the previous format and simply placing random dots within the area doesn't make much sense and gives less balance to some biomes than others. If it were to be formatted similar to the hexagon color slider that is occasionally in image editing software then it would be the most balanced except for the plain color, which is honestly the default for biome colors.
Edit: I should post this in the MCpatcher thread shouldn't I...
Dunno if you should or not. This formatting change is due to Mojang, not MCPatcher.
Not sure what the bad news is here anyway... Comparatively, it really is easier than before. Before there were bounding boxes 'n' such to work with that followed no real rules in terms of blending. Now there are less unique biomes and blending is a bit easier to visualize between any two given points on a practical level.
The system isn't perfect, but no one's currently building a new system here. This is working around Minecraft's engine and how biomes currently operate in it. This tutorial is intended for people who may not even be using MCPatcher at all. It's just a general update to show how the biome palettes currently work in Minecraft. There are plenty of efficient ways I can think to better do biomes, they're not really easily feasable without mods that alter the core of the game though.
From what I've gathered, MCPatcher doesn't really aim to do this kind of work so much as it aims to add more visual features to its standard high res texture support. Unless you can get Mojang to officially standardize such an overhaul to the biome code, many texture packs, high res and not would almost be required to contain both types of palettes for optimum compatibility.
Dunno if you should or not. This formatting change is due to Mojang, not MCPatcher.
Not sure what the bad news is here anyway... Comparatively, it really is easier than before. Before there were bounding boxes 'n' such to work with that followed no real rules in terms of blending. Now there are less unique biomes and blending is a bit easier to visualize between any two given points on a practical level.
The system isn't perfect, but no one's currently building a new system here. This is working around Minecraft's engine and how biomes currently operate in it. This tutorial is intended for people who may not even be using MCPatcher at all. It's just a general update to show how the biome palettes currently work in Minecraft. There are plenty of efficient ways I can think to better do biomes, they're not really easily feasable without mods that alter the core of the game though.
From what I've gathered, MCPatcher doesn't really aim to do this kind of work so much as it aims to add more visual features to its standard high res texture support. Unless you can get Mojang to officially standardize such an overhaul to the biome code, many texture packs, high res and not would almost be required to contain both types of palettes for optimum compatibility.
If this is how minecraft loads the textures, then why are the foliagecolor.png and grasscolor.png unchanged? The whole reason that this new feature is added is because an image formatted the same as the one you have shown has not existed, otherwise we would have been able to edit these colors before. And if you are saying that minecraft has been loading these textures as using that format, then what does checking the "custom colors" box do to the biome colors? I'm very confused on why you think that due to this new feature that it simply "unhides" an image that makes it editable, otherwise you could format the image however you want with little to no more effort than the format there now.
Rollback Post to RevisionRollBack
Im making myself a new signature soon, but im les tired.
If this is how minecraft loads the textures, then why are the foliagecolor.png and grasscolor.png unchanged? The whole reason that this new feature is added is because an image formatted the same as the one you have shown has not existed, otherwise we would have been able to edit these colors before. And if you are saying that minecraft has been loading these textures as using that format, then what does checking the "custom colors" box do to the biome colors? I'm very confused on why you think that due to this new feature that it simply "unhides" an image that makes it editable, otherwise you could format the image however you want with little to no more effort than the format there now.
The textures are unchanged because Notch was lazy and instead of making an artistically optimized palette, he simply moved the coordinates around on the old one when designing the new biomes. The biomes have been working this new way since around 1.8. His default palette is very subtle and smooth so on the default art this wasn't much of an issue.
MCPatcher makes absolutely no changes to the method that Mojang created to determine how the biome palettes work. (Which would require changing the way the biome code works, and would conflict with existing terrain palettes that may work on a practical level right now and would be broken by the new system should they choose to use custom colors for just changing potions or lighting or something.) It simply utilizes the exact same method and applies the effect to other blocks of your choice. All checking custom colors does is allow the texture pack artist to color more things (lighting, or blocks using biome palettes) and alter hard-coded colors for things like potions and spawner eggs using a properties text file.
I am bringing the subject to light because Mojang's work on biomes has settled down enough to where it's practical to start fixing what 1.8 broke on our old terrain color palettes. (The flaws of which are much more noticeable on custom palettes that were highly dynamic on the old biome layout.)
With MCPatcher adding long-existing functionality to any block you choose, I figured it was important that we got an updated template so that people know exactly what color is taken from where on the palette for each biome. Since the old method could not be recycled for the new blocks due to the changes for biomes made by Mojang. The ocean biome is a prime example. It had no place at all on the old biome palette, but does on the new, and not knowing where Notch assigned the coordinates to, you would not be able to easily predict where you should color your water if you wanted your ocean to be a deeper blue than the rest of your water.
I am simply providing the community with this information that's been governing how biomes work since 1.8. Much like the people who made the original biome color palette template did shortly after biomes first came out. You may be reading way too into Custom Colors. This information would still be relevant if MCPatcher never added it.
I've been putting off doing the biome palette for ages because I knew I was going to have to do a lot of pissing around before I work out whats going on. I think you saved a good few days of my life Misa. Cheers.
One thing to note is that most of the time, only the exact pixels for a specific biome are used. It is only in the actual transitions that other parts of the image are used. This is different from the behavior before beta 1.8 where the grass and foliage colors changed constantly as you moved around(even within one biome) because it depended on variables like humidity.
For example, using this(incomplete but functional) grasscolor.png, the grass in all included biomes is completely black(any color multiplied with black becomes black), and only in the transitions are other colors(as well as a bit of black due to the text) used.
This is mainly an issue for those who used to have noisy biome gradients in order to create block-by-block color variations.
Man, I've been planning on finding the specific coordinates of the other biomes for a while now (you reminded me), but at the moment I'm on a break from texturing.
If... ah... anyone else wants to do it... fine by me.
The textures are unchanged because Notch was lazy and instead of making an artistically optimized palette, he simply moved the coordinates around on the old one when designing the new biomes. The biomes have been working this new way since around 1.8. His default palette is very subtle and smooth so on the default art this wasn't much of an issue.
MCPatcher makes absolutely no changes to the method that Mojang created to determine how the biome palettes work. (Which would require changing the way the biome code works, and would conflict with existing terrain palettes that may work on a practical level right now and would be broken by the new system should they choose to use custom colors for just changing potions or lighting or something.) It simply utilizes the exact same method and applies the effect to other blocks of your choice. All checking custom colors does is allow the texture pack artist to color more things (lighting, or blocks using biome palettes) and alter hard-coded colors for things like potions and spawner eggs using a properties text file.
I am bringing the subject to light because Mojang's work on biomes has settled down enough to where it's practical to start fixing what 1.8 broke on our old terrain color palettes. (The flaws of which are much more noticeable on custom palettes that were highly dynamic on the old biome layout.)
With MCPatcher adding long-existing functionality to any block you choose, I figured it was important that we got an updated template so that people know exactly what color is taken from where on the palette for each biome. Since the old method could not be recycled for the new blocks due to the changes for biomes made by Mojang. The ocean biome is a prime example. It had no place at all on the old biome palette, but does on the new, and not knowing where Notch assigned the coordinates to, you would not be able to easily predict where you should color your water if you wanted your ocean to be a deeper blue than the rest of your water.
I am simply providing the community with this information that's been governing how biomes work since 1.8. Much like the people who made the original biome color palette template did shortly after biomes first came out. You may be reading way too into Custom Colors. This information would still be relevant if MCPatcher never added it.
Ok, I think I understand what you are saying now, it is simply due to Kahr's snooping into the minecraft code that he discovered where these biomes are represented in the grasscolor.png, and decided to share it with us. The only thing I am wondering is why can I not find the exact color for swamp biomes anywhere, let alone where this thread specifies it is?
Rollback Post to RevisionRollBack
Im making myself a new signature soon, but im les tired.
The Meaning of Life, the Universe, and Everything.
Join Date:
7/10/2011
Posts:
57
Member Details
thank you so much! you've made this VERY easy to understand. Do you know anything about biome colors in the Nether or the End, though? I remember someone saying once that the nether used desert grass and foliage, is that still true?
The Meaning of Life, the Universe, and Everything.
Join Date:
7/10/2011
Posts:
57
Member Details
thank you so much! you've made this VERY easy to understand. Do you know anything about biome colors in the Nether or the End, though? I remember someone saying once that the nether used desert grass and foliage, is that still true?
Ok, I think I understand what you are saying now, it is simply due to Kahr's snooping into the minecraft code that he discovered where these biomes are represented in the grasscolor.png, and decided to share it with us. The only thing I am wondering is why can I not find the exact color for swamp biomes anywhere, let alone where this thread specifies it is?
thank you so much! you've made this VERY easy to understand. Do you know anything about biome colors in the Nether or the End, though? I remember someone saying once that the nether used desert grass and foliage, is that still true?
I've done no testing on this, I don't imagine that there are varied biomes in the Nether or End though. Whatever the default biome color is set to, I have no idea.
Biome Palettes
As of the 12w07b snapshot there's a new map format and a completely new biome rendering format. Biomes are much more dynamic in that they have the potential for their positions to be altered on a per-block basis for each map. As a result it would seem that they've oversimplified how biome colors are drawn from the palettes. The analogy I've come up with to compare the old and the new method is basically it's like the switch from analog to digital.
On the old method lines were drawn between hotspots on the palettes to handle the transitions. On the new method all that matters is a single pixel for each biome, The space in between is completely irrelevant and the game's code blends it with a simple averaging filter over 4 blocks.
So the explanation for how the new template and the new way to edit biome palettes is now absurdly simple:
1. Open any biome palette you wish to edit in any editor(Even MS Paint!).
2. Copy the image above and paste it over the default/old biome palette.
3. Use the fill tool with whatever colors you want for each biome on the big circles.
4. Save and place in texture pack.
That's it.
For those of you wondering, despite the large circles that are easy to attack with a fill tool, this is a pixel-perfect palette. The pixel that matters is in the center of the black X shape. Every other single pixel can be replaced with whatever you want with no effect on the game.
And here's the old post for those still living in the past.
This is a mini-tutorial with a template designed to help other texture pack artists understand how biomes work so that they can create a better custom grasscolor.png, foliagecolor.png, and any other custom biome palette (As was recently introduced to MCPatcher).
Obsolete Method
Forget everything you knew about biomes and the old template.
This old palette contains biomes which no longer exist. While Mojang's grasscolor.png may have not changed, the coordinates that determine where the color is chosen for each biome are quite a bit different. There are also new special cases like swamps, where a hard-coded equation is applied over top of the standard biome coloring. Fortunately MCPatcher now allows you to customize your swamp colors as well as the coloring for water, and just about any block you want based on biome placement. So understanding where on these palettes each biome is located is very crucial to creating a smooth-looking biome color scheme for your texture pack.
Working Method
Much easier to work with than the old one, really.
(Edit: See below for corrections and a more up to date template.)
Thanks to some data Kahr compiled for me, I was able to determine that the best way to approach biomes now is by focal points. Each colored dot on the template above represents the main color used by a biome. The space in between is basically where the different biomes blend into each other. The blending is basically linear. You pretty much connect the dots and the colors along those lines represent the transitional colors between those biomes. The only exception here is the desert which is more of a line that seems to make up the whole left-hand side of the palette. The 'dot biomes' fan out to the left edge when transitioning into desert.
Example
Understanding this, you should be able to see how to make a simple biome map now. A good method is to take the template, make a couple layers, then using big soft brushes with a wide, fading radius to create soft blobs of color on top of each focal point. You only need to do the areas that you want to have a unique color for that biome. On a lower layer you can choose the general color of grass and flood-fill that in. You can then merge, blur, and tweak however you normally would. Broken down into steps it looks something like this:
Now using the color for my plains I can fill in the background.
Some quick processing to blend things a little better and add some optional noise.
And we're done.
This is a very rushed example and the colors are a bit silly, but you get the idea.
One last important thing to take note of. The default color for the block when held in the player's hand comes from a point somewhere near the dead center of the image. So if you want grass blocks to show up as the color of your plains in the creative mode item menu, be sure the area near the center is largely untouched by the other biome colors.
Hope this helps, and happy texture-packing!
EDIT: I've made a correction and an update to the biome template, please grab the new one (Right half of the image). It corrects the placement of the mushroom biome and is accurate to the pixel, with the pixel in the dead center of each crosshair representing the single color used by the majority of the biome. The left side of the image gives a brief explanation about how the desert biome is a bit unique and provides some insight as to how it works.
Excuse any distortion of the images in the forum--when saved, the images are crystal clear
EDIT: Btw... huge fan, you texture artist genius you...
I love your texture pack and how you take advantage of lots of aesthetic mods.
Give a man a fish, and he'll be fed for a day.
It's a bit of a balancing act, for a good test in your editor, take a single frame from your water animation then make a new layer and flood fill it with the color to test and set the render mode to multiply.
Minecraft seems to multiply the color from the palette at about 100-110% with the texture.
I did this with a side by side comparison of my old pre-colored water to get it looking just right.
You can extract JUST the color from your old water by making a new layer, filling it with a solid color like red (255,0,0) and setting the layer render mode to luminance. That'll remove all shading and give you a pure set of hues to work with as a good starting point.
Thank you very much for this excellent tutorial!
In color.properties, what do the palette.block. numbers (highlighted red below) represent and can they modified?
palette.block./misc/sandcolor.png=12
palette.block./misc/gravelcolor.png=13
palette.block./misc/stonecolor.png=1 14 15 16 21 56 73 74
The png names and the colors can both be modified. You can make the png name whatever you want. The numbers are block ID's.
So say if you wanted to have all three tree trunks affected by a palette you could have something like:
palette.block./misc/trunkcolor.png=17
Or for some weird reason if you wanted one that affected all three minecart tracks:
palette.block./misc/trackcolor.png=27 28 66
Use this as a reference:
http://www.minecraftwiki.net/images/8/8c/DataValuesBeta.png
Sweet! Thanks Misa. :smile.gif:
I really appreciate you doing this explanation, but I don't need to be bearer of bad news, but this is not easier than how it was before. Although this does give more customization of the biome colors, wouldn't it be simpler to have an octagon where each point of it was the most central point in the biome, and it fades out towards the other ones and the center where the center is plains? I feel like just taking the previous format and simply placing random dots within the area doesn't make much sense and gives less balance to some biomes than others. If it were to be formatted similar to the hexagon color slider that is occasionally in image editing software then it would be the most balanced except for the plain color, which is honestly the default for biome colors.Edit: I should post this in the MCpatcher thread shouldn't I...
Dunno if you should or not. This formatting change is due to Mojang, not MCPatcher.
Not sure what the bad news is here anyway... Comparatively, it really is easier than before. Before there were bounding boxes 'n' such to work with that followed no real rules in terms of blending. Now there are less unique biomes and blending is a bit easier to visualize between any two given points on a practical level.
The system isn't perfect, but no one's currently building a new system here. This is working around Minecraft's engine and how biomes currently operate in it. This tutorial is intended for people who may not even be using MCPatcher at all. It's just a general update to show how the biome palettes currently work in Minecraft. There are plenty of efficient ways I can think to better do biomes, they're not really easily feasable without mods that alter the core of the game though.
From what I've gathered, MCPatcher doesn't really aim to do this kind of work so much as it aims to add more visual features to its standard high res texture support. Unless you can get Mojang to officially standardize such an overhaul to the biome code, many texture packs, high res and not would almost be required to contain both types of palettes for optimum compatibility.
If this is how minecraft loads the textures, then why are the foliagecolor.png and grasscolor.png unchanged? The whole reason that this new feature is added is because an image formatted the same as the one you have shown has not existed, otherwise we would have been able to edit these colors before. And if you are saying that minecraft has been loading these textures as using that format, then what does checking the "custom colors" box do to the biome colors? I'm very confused on why you think that due to this new feature that it simply "unhides" an image that makes it editable, otherwise you could format the image however you want with little to no more effort than the format there now.
The textures are unchanged because Notch was lazy and instead of making an artistically optimized palette, he simply moved the coordinates around on the old one when designing the new biomes. The biomes have been working this new way since around 1.8. His default palette is very subtle and smooth so on the default art this wasn't much of an issue.
MCPatcher makes absolutely no changes to the method that Mojang created to determine how the biome palettes work. (Which would require changing the way the biome code works, and would conflict with existing terrain palettes that may work on a practical level right now and would be broken by the new system should they choose to use custom colors for just changing potions or lighting or something.) It simply utilizes the exact same method and applies the effect to other blocks of your choice. All checking custom colors does is allow the texture pack artist to color more things (lighting, or blocks using biome palettes) and alter hard-coded colors for things like potions and spawner eggs using a properties text file.
I am bringing the subject to light because Mojang's work on biomes has settled down enough to where it's practical to start fixing what 1.8 broke on our old terrain color palettes. (The flaws of which are much more noticeable on custom palettes that were highly dynamic on the old biome layout.)
With MCPatcher adding long-existing functionality to any block you choose, I figured it was important that we got an updated template so that people know exactly what color is taken from where on the palette for each biome. Since the old method could not be recycled for the new blocks due to the changes for biomes made by Mojang. The ocean biome is a prime example. It had no place at all on the old biome palette, but does on the new, and not knowing where Notch assigned the coordinates to, you would not be able to easily predict where you should color your water if you wanted your ocean to be a deeper blue than the rest of your water.
I am simply providing the community with this information that's been governing how biomes work since 1.8. Much like the people who made the original biome color palette template did shortly after biomes first came out. You may be reading way too into Custom Colors. This information would still be relevant if MCPatcher never added it.
^This.
I've been putting off doing the biome palette for ages because I knew I was going to have to do a lot of pissing around before I work out whats going on. I think you saved a good few days of my life Misa. Cheers.
Man, I've been planning on finding the specific coordinates of the other biomes for a while now (you reminded me), but at the moment I'm on a break from texturing.
If... ah... anyone else wants to do it... fine by me.
Ok, I think I understand what you are saying now, it is simply due to Kahr's snooping into the minecraft code that he discovered where these biomes are represented in the grasscolor.png, and decided to share it with us. The only thing I am wondering is why can I not find the exact color for swamp biomes anywhere, let alone where this thread specifies it is?