Configuring Mods
If you render a world with custom blocks added by mods, BlueMap does not know how to render those blocks so they will look like this:
If you don’t want that, you can try to add and configure the resources of those mods to tell BlueMap how to render those blocks.
Here is how it works:
General
Info:
Read the chapter Installing-resource-packs before reading this chapter.
Usually, the only thing you need to do, is to take the client-version of the mod.jar and put it into the resourcepacks
-folder.
E.g. if you want to add support for biomes-o-plenty you take the biomesoplenty.jar
from your client and upload it on your server into bluemaps resourcepack
-folder (next to bluemaps configuration-files)!
BlueMap will then load that mod like a resource-pack: Try to parse the block-states and models and load the textures.
Info:
Some mods might use resource-formats that are not supported. (Forge’s blockstate.json just has very limited support) For this blocks to be rendered you will have to override the resources with alternative resources using the normal format.
Configs (optional)
Optionally you can add some configs to tell bluemap how to render special blocks.
You need to put these config files any .zip file or folder, and then put that into bluemaps resourcepacks folder.
(You are basically creating a special resource-pack for bluemap here)
Block-properties config
File: assets/modid/blockProperties.json
Example:
{
"minecraft:bubble_column": { "alwaysWaterlogged": true },
"minecraft:grass": { "randomOffset": true },
"minecraft:glass": { "occluding": false }
}
Usually bluemap tries to guess those properties based on the block’s model. But if that guess is not correct, you can change the render-behaviour of a block with this config.
Possible properties for blocks are:
alwaysWaterlogged
are blocks that are waterlogged by default. So they don’t need the “waterlogged” property to be rendered as a waterlogged blockrandomOffset
are blocks that have a small random offset to break the grid-like pattern. In vanilla minecraft this is done for grass-blocks and flowersoccluding
is used to determine if the block is “occluding” light when calculating the ambient occlusion on neighbor blocks.
Block-colors config
File: assets/modid/blockColors.json
Example:
{
"minecraft:water": "@water",
"minecraft:grass": "@grass",
"minecraft:birch_leaves": "#86a863",
"minecraft:redstone_wire": "@redstone"
}
Some blocks like grass, leaves, water or redstone are dynamically colored. Those colors change by biome, properties or are just static.
Possible values are @foliage
, @grass
, @water
to use the foliage-, grass- or water-color of the biome to color the block, redstone
to use the power-level of the block (used for redstone), or a static color using a css-style color-hex like #86a863
.
Biomes config
File: assets/modid/biomes.json
Example:
{
"minecraft:flower_forest": {
"humidity": 0.8,
"temp": 0.7,
"watercolor": 4159204
},
"minecraft:birch_forest": {
"humidity": 0.6,
"temp": 0.6,
"watercolor": "#3f76e4"
},
"minecraft:dark_forest": {
"humidity": 0.8,
"temp": 0.7,
"watercolor": 4159204,
"foliagecolor": "#5528340a",
"grasscolor": "#8828340a"
}
}
If a mod adds a new biome, bluemap needs to know some properties of that biome to calculate things like grass and foliage-color. You can define these using this config. Undefined biomes will be treated as an ocean-biome.
(The biomes-config works only for Minecraft 1.18+ worlds)
Infos for mod-developers
If you want your mod to be compatible with BlueMap you can simply add all needed resources and configs to your jar-file.
If you need to override your own resources exclusively for bluemap, you can do this by adding them inside the assets/<namespace>/bluemap
folder.
(E.g. assets/yourmod/bluemap/blockstates/someblock.json
will override assets/yourmod/blockstates/someblock.json
)