Skip to content
@minecraft-library

Minecraft Library

Headless Java and Python tooling for Minecraft asset pipelines - fonts, text, block/item rendering, NBT.

Minecraft Library

Headless tooling for Minecraft asset pipelines. A small family of libraries that cover the path from raw client JARs all the way to finished fonts, text renders, block icons, and NBT payloads - no live game client, no launcher, no AWT.

Important

Every project in this organization operates on copyrighted assets and formats owned by Mojang AB (a Microsoft subsidiary). Mojang assets are never committed to any repository here - they are downloaded at runtime from the official Piston API or extracted from a user-supplied client JAR. You are responsible for ensuring your use of the generated output complies with the Minecraft EULA and Minecraft Usage Guidelines.

Projects

Project Language What it does
font-generator Python 3.10+ Converts Minecraft's bitmap font glyphs into OpenType (.otf) or TrueType (.ttf) files. Fetches any Minecraft version via the Piston API, slices bitmap sheets, traces pixel contours into vector outlines, and ships BMP + SMP cmap tables.
text Java 21 Models Minecraft's chat text system - colour codes, formatting, segment trees, click/hover payloads - and renders it to pixel buffers using the generated OTFs. Runtime-bootstraps font-generator when no fonts ship on the classpath.
asset-renderer Java 21 Headless renderer for blocks, items, entities, fluids, portals, player skins, and tooltip text. Isometric or flat 2D output as static PNG or animated frames. Uses the JDK incubator Vector API for SIMD matrix math.
nbt-factory Java 21 Clean-room NBT (Named Binary Tag) reader/writer. Every tag type, every wire format (raw binary, gzip, SNBT, JSON, base64), every I/O surface (byte[], File, InputStream, URL).

How They Fit Together

                     font-generator  (Python, OTF/TTF builder)
                            |
                            |  .otf files (bootstrapped at runtime
                            v   or generated by the `fonts` Gradle task)
                          text  (Java, chat model + glyph rasterizer)
                            |
                            v
                     asset-renderer  (Java, block/item/entity renders)


                      nbt-factory   (Java, standalone - no sibling deps)
  • text can run without font-generator if a downstream artifact already bundles the OTFs; it just won't be able to regenerate them.
  • asset-renderer pulls text for its TextRenderer (tooltip, lore, stack-count output). Block / item / entity / fluid / portal rendering does not require fonts.
  • nbt-factory is deliberately decoupled - it's useful for any Minecraft-adjacent Java project that needs to read or write NBT, whether or not it touches the rendering side.

Pinned Loading

  1. asset-renderer asset-renderer Public

    Rendering library for Minecraft blocks, items, entities, fluids, and portals. Reads a vanilla client JAR and any stack of resource packs, then produces isometric or 2D previews as static PNGs or an…

    Java

  2. text text Public

    Models Minecraft's chat text system - colours, formatting codes, segment trees, click/hover event payloads - and renders it to raw pixel buffers via the vanilla OTF font family.

    Java

  3. font-generator font-generator Public

    Convert Minecraft's bitmap font glyphs into fully functional OpenType (.otf) or TrueType (.ttf) font files.

    Python 1

  4. nbt-factory nbt-factory Public

    A fast, dependency-light Minecraft NBT (Named Binary Tag) reader/writer for Java 21. Handles every tag type across the binary, gzip-compressed, SNBT, JSON, and base64 wire formats.

    Java

Repositories

Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…