MinecraftTitleGenerator
Textures and fonts for the Minecraft Title Generator Blockbench plugin
Install / Use
/learn @ewanhowell5195/MinecraftTitleGeneratorREADME
Minecraft Title Generator
This plugin adds a new format that allows you to create Minecraft-styled title models that you can render in high quality.
Plugin Homepages: ewanhowell.com and blockbench.net
This repo contains the fonts and textures that the plugin uses. To download and use the plugin, go to the plugin store within Blockbench (File > Plugins > Available) and install it. For more information, please see the plugin homepage.
Submissions
Anyone can submit fonts and textures to this plugin, as long as they meet the requirements and follow the rules.
General rules
- Fonts/textures must be somewhat high quality. No low-effort submissions.
- Fonts/textures must be somewhat unique from other fonts/textures. Try not to re-use other textures.
- Full credit must be provided. If you are basing a font/texture off of someone else's design, credit them too!
- Texture IDs must be in the snake_case format, and only use the characters
a-z,0-9, and underscores. - Font IDs must be in the kebab-case format, and only use the characters
a-z,0-9, and hyphens.
How to make a submission
To make a submission, create a fork of this repository and edit/upload the necessary files. After all the changes are made, create a pull request and explain what you are adding.
For larger submissions like fonts, it will be a lot easier to clone the repo to your PC and use an app like GitHub Desktop to manage changes.
Texture submissions video tutorial
Compiling
After making a submission, it would be really helpful if you could compile it. If you don't understand how to do this, you can skip this step and I can do it for you.
First time setup:
- Install Node.js.
- Install Visual Studio Installer and install
Desktop development with C++using it. - Clone the repo to your PC, add your changes, and then navigate to the
scriptsdirectory in the repo. - Open a terminal inside this directory. On Windows, this can be done by typing
cmdinto the address bar in file explorer. - Run the command
npm i.
Compiling:
- If on Windows, just run the
compile.batfile. - If on macOS or Linux, run the command
node compile.js. - Wait until the script finishes.
Textures
Creating a texture
- To create a new texture, start by using another texture as a template.
flat.pngis the best template for general textures. - Textures can be found at
fonts/fontname/textures, and overlays can be found infonts/fontname/overlays. Save your texture to either thetexturesoroverlaysfolder, depending on what you made. - Edit the
textures.jsonfile located atfonts/fontname/textures.jsonand add your texture to it. This file uses the following formatting:
{
"textures": { // If you are adding a texture, it goes in here
"texture_id": { // The ID of the texture you are adding (required)
"category": "Category Name", // If the texture has variants, the name of the category (optional)
"name": "Texture Name", // The name of the texture if it doesn't match the ID (optional)
"author": "Author Name", // Your name (required)
"variants": { // The variants for this texture (optional)
"variant_id": {
"name": "Variant Name", // (optional)
"author": "Author Name" // Only needed if different from the texture author (optional)
}
}
}
},
"overlays": { // If you are adding an overlay, it goes in here
"overlay_id": { // The ID of the overlay you are adding (required)
"name": "Overlay Name", // The name of the overlay if it doesn't match the ID (optional)
"author": "Author Name" // Your name (required)
}
}
}
<sub>Note: Overlays do not support variants</sub>
Thumbnails are generated through the compile script. Do not make them manually.
Texture rules
- Textures must use the exact same shapes as the
flat.pngtexture. This means no extra cut-outs or filling parts in. - Textures must be one of these three sizes:
1000x320,2000x640, or4000x1280. - Do not add too many variants to a single texture. If I feel a variant is unnecessary, or there are too many, it will be denied.
- The border colour at the bottom (under all character lines) must be the same colour for the entire thing. It will not work if you try to use multiple colours. This may not apply for certain fonts. Please check the
flat.pngto see if it is a solid colour there. - Do not submit textures generated using the plugin, or that could be easily recreated using the plugin.
- Semi transparency is not supported for regular textures. It is supported for overlays.
Tileables
Creating a tileable
- To create a new tileable, add the tileable to the
tileablesfolder under a fitting subdirectory. - Edit the
tileables.jsonfile and add your tileable to it. This file uses the following formatting:
{
"tileable_id": { // The ID of the tileable you are adding (required)
"category": "Category Name", // If the tileable has variants, the name of the category (optional)
"name": "Tileable Name", // The name of the tileable if it doesn't match the ID (optional)
"author": "Author Name", // Your name (optional, defaults to "Mojang")
"path": "directory/path", // Where the tileable is located inside the tileables folder (optional, defaults to "minecraft")
"variants": { // The variants for this tileable (optional)
"variant_id": {
"name": "Variant Name", // (optional)
"author": "Author Name" // Only needed if different from the tileable author (optional)
}
}
}
}
Tileable rules
- Tileables must be
8x8minimum, and128x128maximum, but do not have to be square. - Tileables must tile. Tiling is not required when random rotations and random mirroring are enabled.
- Do not add too many variants to a single tileable. If I feel a variant is unnecessary, or there are too many, it will be denied.
Fonts
Fonts require you to create a model for every character.
These are the characters for a font. Some characters use a name instead, since the characters are invalid for file names.
<details> <summary>Required characters</summary> <ul> <li><code>creeper</code></li> <li><code>a</code></li> <li><code>b</code></li> <li><code>c</code></li> <li><code>d</code></li> <li><code>e</code></li> <li><code>f</code></li> <li><code>g</code></li> <li><code>h</code></li> <li><code>i</code></li> <li><code>j</code></li> <li><code>k</code></li> <li><code>l</code></li> <li><code>m</code></li> <li><code>n</code></li> <li><code>o</code></li> <li><code>p</code></li> <li><code>q</code></li> <li><code>r</code></li> <li><code>s</code></li> <li><code>t</code></li> <li><code>u</code></li> <li><code>v</code></li> <li><code>w</code></li> <li><code>x</code></li> <li><code>y</code></li> <li><code>z</code></li> <li><code>£</code></li> <li><code>€</code></li> <li><code>0</code></li> <li><code>1</code></li> <li><code>2</code></li> <li><code>3</code></li> <li><code>4</code></li> <li><code>5</code></li> <li><code>6</code></li> <li><code>7</code></li> <li><code>8</code></li> <li><code>9</code></li> <li><code>&</code></li> <li><code>#</code></li> <li><code>(</code></li> <li><code>)</code></li> <li><code>[</code></li> <li><code>]</code></li> <li><code>{</code></li> <li><code>}</code></li> <li><code>forwardslash</code></li> <li><code>backwardslash</code></li> <li><code>questionmark</code></li> <li><code>!</code></li> <li><code>.</code></li> <li><code>colon</code></li> <li><code>-</code></li> <li><code>openquote</code></li> <li><code>'</code></li> <li><code>+</code></li> <li><code>=</code></li> <li><code>lessthan</code></li> <li><code>greaterthan</code></li> <li><code>%</code></li> <li><code>^</code></li> <li><code>asterisk</code></li> <li><code>~</code></li> <li><code>end</code> - The start terminator</li> <li><code>start</code> - The end terminator</li> <li><code>,</code></li> <li><code>;</code></li> <li><code>_</code></li> <li><code>$</code></li> <li><code>@</code></li> </ul> </details> <details> <summary>Optional characters</summary> <ul> <li><code>space</code> - The font will use this character instead of automatically generating a space</li> <li><code>spacer</code> - A 1px wide model to use when character spacing is used. This model will be stretched to fill the space.</li> </ul> </details>Different alphabets are allowed (such as Cyrillic), but all non-letter characters must still be present in the font.
If you want to make a font using different characters, please make an issue about it first.
Creating a font
- To create a font, create a new folder inside the
fontsdirectory with the ID of your font. - Inside this new folder, create the folders
characters,textures, andoverlays. - Create a
flat.pngtexture inside thetexturesfolder. This will be used for your UV. - Create the full layout for your UV.
- Characters need to be arranged into rows, with the top face directly above the character, and the bottom face directly below.
- You can have as many rows as you need, as long as you leave room for the border UV at the bottom.
- 2px-wide spaces must be between the characters and the rows.
- If some characters are taller than the standard character height, they can go into their own rows.
- A single pixel of the border colour is required. This must be the very top left pixel of the border area.
- You do not need to worry about ma
Related Skills
node-connect
337.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.2kCommit, push, and open a PR
