https://github.com/cerus/minecraft-map-colors
A list of all available Minecraft map colors for each version between 1.8.3 and 1.20
https://github.com/cerus/minecraft-map-colors
minecraft minecraft-mappings minecraft-maps minecraft-protocol protocol
Last synced: 2 months ago
JSON representation
A list of all available Minecraft map colors for each version between 1.8.3 and 1.20
- Host: GitHub
- URL: https://github.com/cerus/minecraft-map-colors
- Owner: cerus
- Created: 2022-06-23T23:26:27.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-08T15:23:33.000Z (almost 2 years ago)
- Last Synced: 2025-01-24T17:44:45.722Z (4 months ago)
- Topics: minecraft, minecraft-mappings, minecraft-maps, minecraft-protocol, protocol
- Homepage:
- Size: 52.7 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changes.md
- Funding: .github/funding.yml
Awesome Lists containing this project
README
# Minecraft map colors
This repository contains a list of all available map colors for each version between 1.8.3 and 1.20. The colors were fetched by a script that pulled
the Spigot source code for each version and scanned the MaterialMapColor.java class.[Click me to go to the color index](index.md)
[Click me to view the changes between the versions](changes.md)
## Why did you make this repository?
I work a lot with maps and figuring out which colors work for a specific Minecraft version has always been a time-consuming process for me. That's why
I decided to make this repository.## Contents
- `index.md`: An index for each version stored in this repository
- `versions/`: The directory that contains the versions
- `mappings.json`: All of the colors in a convenient json file
- `mappings_min.json`: Same as above but in a way smaller format## mappings.json
Mappings format:
```json5
// Root
{
// Version item
"1.8.8": {
// Color item
// Color 0 and all of its variants is always completely transparent.
"0": {
// The base color
base: 0,
// The variants of this color
colors: [
0,
0,
0,
0
]
},
// Another color item
"1": {
// The base color
"base": 8368696,
// The variants of this color
"colors": [
5864743,
7182640,
8368696,
4415005
]
},
// ...more colors
},
// ...more versions
}
```Example: Reading the mappings in Java with Gson
```java
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.awt.Color;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;class MyClass {
public static void main(String[] args) {
// Load the mappings
File mappingsFile = new File("./mappings.json");
JsonObject obj;
try (FileInputStream in = new FileInputStream(mappingsFile);
InputStreamReader reader = new InputStreamReader(in)) {
obj = JsonParser.parseReader(reader).getAsJsonObject();
} catch (IOException ex) {
throw new RuntimeException(ex);
}// Get the colors of MC 1.16.5
final JsonObject version = obj.get("1.16.5").getAsJsonObject();
// Loop through the colors of MC 1.16.5
for (String key : version.keySet()) {
final JsonObject colorObj = version.get(key).getAsJsonObject();
final JsonArray colorArr = colorObj.get("colors").getAsJsonArray();
// The key is always the color id
int id = Integer.parseInt(key);
for (int variant = 0; variant < colorArr.size(); variant++) {
// Get the color and deserialize it with java.awt.Color
int rgb = colorArr.get(variant).getAsInt();
final Color color = new Color(rgb, false /*<- Important!*/);
// id * 4 + variant = Protocol ID
System.out.printf("%d = rgb(%d, %d, %d)%n", id * 4 + variant, color.getRed(), color.getGreen(), color.getBlue());// Output:
// 0 = rgb(0, 0, 0)
// 1 = rgb(0, 0, 0)
// 2 = rgb(0, 0, 0)
// 3 = rgb(0, 0, 0)
// 4 = rgb(89, 125, 39)
// 5 = rgb(109, 153, 48)
// 6 = rgb(127, 178, 56)
// 7 = rgb(67, 94, 29)
// ...
}
}
}
}
```## mappings_min.json
The basic format is the same as in mappings.json. The only difference is that colors that have not changed have not been recorded in the file.
## Enjoy my work?
[:heart: Sponsor me on GitHub](https://github.com/sponsors/cerus)