Generate Minecraft worlds by map images!
Of course you’ll also want to have a custom texture pack, so you can use CTGen’s built-in map menu.
By default, you can open the menu by pressing G
, this key is changable in Minecraft’s settings.
The menu only works in dimensions that use CTGen for world generation and with properly configured corresponding map texture!
Here’s an example Texture Pack, made for Elarth:
├── assets
│ └── <namespace>
│ ├── lang
│ │ └── en_us.json
│ ├── map_texts
│ │ └── <map>.json
│ └── textures
│ └── gui
│ └── <name>.png
├── pack.mcmeta
└── pack.png
For Elarth, both, <namespace>
and <map>
are elarth
.
The pack.mcmeta
and pack.png
are the default files as for every Texture Pack:
{
"pack": {
"description": {
"text": "Texture Pack for Elarth"
},
"pack_format": 42
}
}
Map Texture
Now, the texture file is at <namespace>/textures/gui/<map>.png
. This file will be used as texture for the menu:
Map Labels
You can also define custom map labels! They are defined at<namespace>/map_texts/<map>.json
. It’s a JSON Array, where you map text to coordinates on the map image.
Here’s the example file for Elarth:
[
{
"x": 500,
"y": 500,
"size": 100,
"max_zoom": 0.2,
"rotation": 15,
"text": {
"text": "elarth.text.frost_lands",
"color": "dark_gray"
}
},
{
"x": 1500,
"y": 4200,
"size": 50,
"max_zoom": 0.2,
"rotation": 35,
"text": {
"text": "elarth.text.grass_lands",
"color": "gold"
} },
{
"x": 4500,
"y": 7000,
"size": 50,
"max_zoom": 0.2,
"rotation": -30,
"text": {
"text": "elarth.text.sand_lands",
"color": "dark_red"
}
},
{
"x": 4850,
"y": 2800,
"size": 10,
"min_zoom": 0.2,
"max_zoom": 2,
"text": "elarth.text.iced_lake"
}
]
Here are the parameters for each map label:
Parameter | Description |
---|---|
x | the X coordinate on the biome map (Not the Texture Image!) |
y | the Y coordinate on the biome map (Not the Texture Image!) |
size | The size of the text. |
min_zoom | The minimum amount of zoom until the label is displayed. |
max_zoom | The maximum amount of zoom until the label is displayed. |
rotation | The rotation of the text in degree. Don’t set for horizontal text. |
text | The language key of the text that should be displayed, or text component with a custom color, as shown above. |
Language File
You also need to create a language file for your texture pack, so the map labels will be displayed properly and, in case you created a custom world preset, it is named properly (the key is generator.<namespace>.<preset>
). You need to put it at <namespace>/lang/<language>.json
, where <language>
is your language code. use en_us
if you’re unsure. Here’s the one for Elarth:
{
"generator.elarth.elarth": "Elarth",
"elarth.text.frost_lands": "Frost Lands",
"elarth.text.grass_lands": "Grass Lands",
"elarth.text.sand_lands": "Sand Lands",
"elarth.text.iced_lake": "Iced Lake"
}
Continue with Starting with Data Packs