Render-Masks
BlueMap supports render masks that allow you to control which parts of your Minecraft world are rendered to the map.
By default, BlueMap renders the entire (generated) world. With masks, you can define custom mask shapes to include or exclude specific areas.
This can be useful to make sure the map only renders inside your world-border, or if you want to hide a specific area from the map.
In the nether the default config uses masks to remove the nethers ceiling so you can see below the top bedrock-layer.
Render masks are configured in the map config file:
render-mask: [
// mask definitions go here
]
How Render Masks Work
- The
render-mask
setting is a list of one or more mask objects. - Each mask defines a shape in the world that will either be:
- Included in the rendered map (default).
- Excluded using the
subtract: true
property.
- Masks are applied in top-to-bottom order.
This means masks that come later will overrule (take priority over) previous masks.
BlueMap automatically updates the rendered map when masks are changed, and deletes tiles outside the defined area.
To fix any potential issues after changing masks, you can use: /bluemap fix-edges <map>
Available Mask Types
Box Mask
Defines a rectangular 3D area (Axis-Aligned Bounding Box).
You can omit properties like min-x
, max-y
, etc., to make masks unbounded in that axis.
{
type: box
subtract: false
# Optional:
min-x: -4000
max-x: 4000
min-z: -4000
max-z: 4000
min-y: 50
max-y: 100
}
Circle Mask
Defines a circular area in the XZ plane. Optionally limited in height with min-y
and max-y
.
{
type: circle
subtract: false
center-x: 0
center-y: 0
radius: 4000
# Optional:
min-y: 50
max-y: 100
}
Ellipse Mask
Like the circle mask, but allows different radii for X and Z axes.
{
type: ellipse
subtract: false
center-x: 0
center-y: 0
radius-x: 4000
radius-z: 2000
# Optional:
min-y: 50
max-y: 100
}
Polygon Mask
Defines a custom polygon shape with 3 or more points. Optionally limited in height with min-y
and max-y
.
{
type: polygon
subtract: false
shape: [
{ x: 1, z: -23 },
{ x: 1, z: -24 },
{ x: 1, z: -25 },
{ x: 2, z: -25 },
{ x: 3, z: -25 }
]
# Optional:
min-y: 50
max-y: 100
}
Combining Multiple Masks
You can combine multiple masks together by adding more mask objects in the render-mask
list.
Each mask can be additive (default) or subtractive by setting subtract: true
.
Example: Render everything inside a box, except a smaller circle in the center.
render-mask: [
{
type: box
subtract: false
min-x: -1000
max-x: 1000
min-z: -1000
max-z: 1000
}
{
type: circle
subtract: true
center-x: 0
center-y: 0
radius: 200
}
]
More Examples
Excluding a Secret Building
If you start with a mask that has subtract: true
, bluemap will render everything except the defined mask-area.
Like this you can for example exclude a secret building or area from the map:
render-mask: [
{
type: box
subtract: true
min-x: 100
max-x: 200
min-z: 100
max-z: 200
}
]
If you additionally have a world-border and want to limit your render as well, you can combine it like this:
render-mask: [
{ # first define the world-border as the main area that should be rendered
type: box
subtract: false
min-x: -10000
max-x: 10000
min-z: -10000
max-z: 10000
}
{ # then subtract your secret location that you don't want to render
type: box
subtract: true
min-x: 100
max-x: 200
min-z: 100
max-z: 200
}
]
A See-Through Nether Ceiling
Here is an alternative way how you can handle the nethers ceiling:
render-mask: [
{
type: box
subtract: true
min-y: 127
max-y: 127
}
]
render-edges: false
Remove the Nether Ceiling entirely
If you want to remove the nether-ceiling entirely, including everything that has been build on top of the nether, you can use either this config:
render-mask: [
{
max-y: 90
}
]
or this config:
render-mask: [
{
subtract: true
min-y: 91
}
]
Both configs simply remove everything that is at y: 91
or higher and render everything else.
Notice how type: box
and subtract: false
are omitted in these examples. We can do that since those are the default values of these mask properties.