Unicode Textures

  • Views Views: 2,065
  • Last updated Last updated:

Resource Pack Guide

Unicode Textures

  • Creating a New Unicode Texture​

    Step 1. Adding Your Texture​

    The easy part. Drag your texture's PNG file into your pack.

    Makefile:
    📁resource_pack
    └── 📁assets
    └── 📁minecraft
    └── 📁textures
    └── 📁custom
    └── 📑logo.png

    Step 2. Creating a Provider​

    To be able to actually use your texture in-game, we will need to create a provider for a unicode. To do so, you need to create a default.json inside of a font directory.

    Makefile:
    📁resource_pack
    └── 📁assets
    └── 📁minecraft
    └── 📁font
    └── 📑default.json

    Inside your default.json you will need to add the following. This will assign your texture to a specific unicode as well as allow you to edit a few options for each texture.

    JSON:
    {
    "providers":[{
    "file":"custom/logo.png",
    "chars":[""],
    "ascent": 50,
    "height": 50,
    "type":"bitmap"
    }]
    }

    file
    The path to your texture file.
    chars
    The unicode character to replace with your texture. You can also use unicode numbers here (/uE173).
    ascentThe vertical shift of the texture. This must always be less than the value of the height.
    heightThe scale of your texture. You can use any value up to 256 to scale your texture up or down in size.

    Step 3. Result​

    Now that you've implemented your texture and created a provider, you can now used that specified unicode in-game. This can be used anywhere text can be used; chat, scoreboard, boss bars, action bars, titles, GUIs, and more.
    To use it, just copy and paste the unicode character that you specified in your default.json.

    image-preview-available-soon.png

    Spaces​

    Spaces unicodes can shift all characters within the same line of text to the left (negative space) or right. These are commonly seen within containers using custom GUIs.

    Versions 1.19 and Above​

    Newer versions have a much more simple setup for spaces. You can simply identify a Unicode and space amount and you're set.

    JSON:
    {
    "providers":[
    {
    "type": "space",
    "advances":{
    "\uF001": -3,
    "\uF002": -4
    }
    }
    ]
    }
    default.json font file with a -1 and -2 negative shift space entry

    Versions 1.18 and Below​

    Older version spaces are setup a bit differently than 1.19 and above. These versions are setup like normal unicodes and require a PNG file. Create a simple empty 1x1 pixel PNG named space.png and place it within /assets/minecraft/textures/custom.

    JSON:
    {
    "providers":[
    {
    "type": "bitmap",
    "file": "custom/space.png",
    "ascent": -32768,
    "height": -3,
    "chars": [
    "\uF001"
    ]
    },
    {
    "type": "bitmap",
    "file": "custom/space.png",
    "ascent": -32768,
    "height": -4,
    "chars": [
    "\uF002"
    ]
    },
    ]
    }
    default.json font file with a -1 and -2 negative shift space entry

    Note: Do not adjust the ascent value; adjusting this value will break your space Unicode(s).

    Usage​


    Need More Brain Fuel?

    Check out these other neat guides!