HomeJavaModsImproved Map Colors
Improved Map Colors
ModsJava

Improved Map Colors

by gamma-02 · on Modrinth

Small project aimed at improving the customizability of Minecraft maps through datapacks, made for Gneiss Name's video

Which build do you need?

This mod ships a separate file for every mod loader and every version of the game. Pick both, then download — the wrong build installs fine and then does nothing in the game.

Mod loader

Minecraft version

⬇ Download for 1.21.2–1.21.8 · Fabric⬇ Download for 1.21.2–1.21.8 · NeoForge⬇ Download for 1.21.2–1.21.8 · Quilt
I don't know my version or loader
Open the Minecraft launcher and look at the profile you play on — it names both, like fabric-loader-1.21.4. The version also shows in the bottom-right corner of the game's main menu.
No loader in the profile name? Then it's plain Minecraft, and these mods won't run — you need Fabric or NeoForge installed first.
Improved Map Colors — screenshot 1Improved Map Colors — screenshot 2Improved Map Colors — screenshot 3Improved Map Colors — screenshot 4Improved Map Colors — screenshot 5Improved Map Colors — screenshot 6

Improved Map Colors

Improved Map Colors is a Minecraft mod made for Gneiss Name's video that improves Minecraft's default map colors, including making them configurable by the user or by datapacks on a server or singleplayer world. Because of that server functionality, this mod must be installed on both the dedicated server and the client distributions.

There are also several pre-configured options for Minecraft map colors, including sepia tones, grayscale, and inverted colors.

Gneiss Name's channel: https://www.youtube.com/@gneissname

Video this mod was made for

Usage

The mod allows you to configure both the color palette Minecraft uses as well as which blocks and blockstates show up as which colors. This is achieved through two main ways: Mod config files and datapacks.

Config

The config file provides two fields that can be used to directly modify the palette and state list: colorlist and state_list.

colorlist, as the name and description suggest, allows you to modify the color palette Minecraft uses. This is set to vanilla by default, to illustrate the format that the mod expects, which is a list containing up to 63 colors specified by their hexadecimal color code.

state_list allows you to modify the color ID that a BlockState or a Block shows up as on a map. The format the mod expects is also illustrated by the default entries, graciously provided by Gneiss: blockid[blockstate information]:colorID. The blockstate information is specified in the same way as vanilla blockstate data, [name=value,name1=value1]. The mod will do its best to guess what you intend with a specified state, but it can be a bit finicky.

Also included is something like a debug method of overriding everything in the form of a CSV file. This must be specified in the provided config fields, color_file and blockstate_file. The format for each is described and shown below.

CSV format Color CSV should be in the format: |hex color|[optional id]|, like:
"#000000","0"
"#00ff00","3"
"#ff00ff"

Block State CSV should be in the format:
|BlockID[statedata]|colorID| OR |BlockID|[statedata]|colorID|, like:

"minecraft:grass_block","1"
"minecraft:black_bed[part=foot]","3"
"minecraft:grass_block","[snowy=true]","2"

Datapacks

These allow per-world map settings and are how the included presets work. The format for them is provided in the presets, but in short the mod will scan the mapcolors/colors and mapcolors/states subdirectories in any datapack.

Colors: The format for the color list files is a "colorlist" JSON object for colors in the /colors directory, mapping from a numerical colorID string to a hex color code, like "id":"hex color", where id is in a range from 0 to 63 inclusive.

States: The format for the blockstate file is an array called "stateColorIDList", which contains JSON objects in the format below.

State Holder Format
{
  "state": {
    "Name": "<minecraft block id>",
    "Properties": {
      "name": "value",
      "name1": "value1",
      "name2": "value2"
    }
  },
  "colorID": <id>,
  [optional] "trackedProperties": [
    "name",
    "name1"
  ]
}

Big thanks to Gneiss for inspiring the project and Grassy for translating it into Russian!

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more