CTM Reborn
CTM Features for Chisel Reborn primarily, but a library mod for any mod to use.
介绍
CTM Reborn
A connected-textures and baked-model library for Fabric and NeoForge, and a fork of
Athena by ThatGravyBoat and Terrarium Earth.
CTM Reborn exists for one reason: to keep the Athena format alive on current Minecraft versions so that Chisel Reborn and every resource pack ever written against Athena keeps working while upstream Athena is between releases.
What connected textures actually do

Demonstration image from Connected Textures (CTM) Overhaul, released under CC0-1.0.
Look at the borders. Vanilla Minecraft draws every block with the same texture, so a wall of one
material reads as a grid of repeated tiles with a seam at every boundary. With connected textures,
each block asks its neighbours what they are and picks a different sprite depending on the answer —
so the grooves and edges trace the outline of the whole shape instead of every individual cube.
The red, green, cyan and white regions above are each many separate blocks. The framing follows the
silhouette of each region, corners turn where the region actually turns, and interior faces come out
clean. That is the entire idea, and the Athena format is a way of describing it in JSON.
This is Athena’s implementation
Not a reimplementation, not a rewrite, not a clone of the format. The code in this project is
Athena’s code. The connected-texture logic, the model types, the format parsing, the quad
generation, the platform hookup — ThatGravyBoat and the Terrarium Earth contributors wrote all of
it. CTM Reborn carries that implementation onto newer Minecraft versions and keeps it building.
The changes here are version compatibility and maintenance; the substance is theirs.
Athena is a genuinely well-designed library. The format is compact, the model types cover the cases
packs actually need, and the connection-condition system is more expressive than it first looks.
None of that is our work, and nothing here is presented as an improvement on it.
The fork is a stopgap, not a replacement. It is published under Athena’s own MIT license with
its authorship intact, and the intent is to deprecate CTM Reborn the moment Athena updates to
these Minecraft versions.
The Athena format
Model definitions live at assets/<namespace>/athena/<block>.json and are tagged with the loader
they use:
{
"athena:loader": "athena:ctm",
"ctm_textures": "mymod:block/marble_[$index]",
"connect_to": { "type": "sameBlock" }
}
They can also be written inline in a blockstate file, using the athena:athena block-state model.
Model types
| Loader | Use |
|---|---|
athena:ctm |
Standard full-block connected textures |
athena:carpet_ctm |
Flat, carpet-like blocks |
athena:pane_ctm |
Panes and glass panes |
athena:pillar |
Blocks that connect along an axis |
athena:limited_pillar |
Pillars with a restricted connection set |
athena:pane_pillar |
Pane-shaped pillars |
athena:mural |
One image spread across a width × height grid of blocks |
athena:giant is the original name for athena:mural and still works.
Texture layouts
ctm_textures accepts three shapes, and the format picks based on what it sees:
- Single sprite —
"mymod:block/plain". One texture, no connection logic. - 47-slice —
"mymod:block/marble_[$index]". The classic full CTM set;[$index]is filled in
with0–46, one sprite per neighbour configuration. - Four-slice — an object naming
particle,center,vertical,horizontalandempty.
Each block face is drawn as four quadrants assembled from those five sprites, which gets you
convincing connections from a handful of textures.
Any of the three can also be given per-face, with an optional default:
"ctm_textures": {
"default": "mymod:block/side_[$index]",
"up": { "particle": "...", "center": "...", "vertical": "...", "horizontal": "...", "empty": "..." }
}
Connection conditions
connect_to decides which neighbours count as connected. It defaults to sameState.
| Type | Connects when the neighbour… |
|---|---|
sameState |
is the exact same block state |
sameBlock |
is the same block, any state |
state |
matches a given block and optional properties |
tag |
is in a given block tag |
not, and, or, xor |
combine other conditions |
These nest, so a condition like "any block in this tag, but not if it is powered" is expressible
directly in the pack.
Tinting
Faces can carry a tint — either a fixed colour or a tint index resolved through the usual block
colour handlers — so grass-like and foliage-like blocks connect and stay biome-coloured.
How it works
- A client resource-reload listener collects every
assets/<ns>/athena/file and keys it by the
athena:loaderfield, so a pack can define models for blocks from mods it does not ship. - Definitions are parsed with codecs (Mojang’s DataFixerUpper), which means the same description
both reads and writes — that is what makes the data provider below possible. - At bake time each model resolves its sprites into a small integer-keyed table, deduplicating
repeats, then emits quads per face. - For each face the model builds a
CtmState: eight boolean neighbour checks — up, down, left,
right and the four diagonals — evaluated through the block’sconnect_tocondition. That state
selects the sprite or the four quadrant sprites. - Platform hookup is thin. Fabric registers a
CustomUnbakedBlockStateModelplus a model-loading
plugin; NeoForge registers throughRegisterBlockStateModelswith a smallModelBakerymixin.
Everything else is shared. - A data provider is included for generating these files from code rather than writing them by hand.
Compatibility
The mod id is ctm_reborn, but nothing a pack depends on changed:
- Files are still read from
assets/<namespace>/athena/. - The
athena:loaderkey still works, alongsidectm_reborn:loader. - Every model type is registered under both
athena:andctm_reborn:. - On Fabric the mod declares
provides: ["athena"], so mods depending on Athena are satisfied.
NeoForge has no equivalent mechanism, so mods there that hard-require theathenamod id will
not see it.
Versions
| Branch | Minecraft | Platforms |
|---|---|---|
main |
26.3 | Fabric and NeoForge |
26.2 |
26.2 | Fabric and NeoForge |
License and credits
MIT, inherited from Athena.
- Athena — ThatGravyBoat and contributors, Terrarium Earth. The format, the design, and the
implementation this project is built from. https://github.com/terrarium-earth/Athena - Demonstration image — Connected Textures (CTM) Overhaul, CC0-1.0.
https://modrinth.com/mod/ctm-overhaul
常见问题
CTM Reborn 支持哪些 Minecraft 版本?
CTM Reborn 支持 Minecraft Java 版 26.2–26.3,共 2 个版本,可用的加载器:Fabric / NeoForge。下载时注意选择和你游戏版本一致的文件。
CTM Reborn 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
Slainlight 的其他作品
查看全部 →Chisel Reborn [Forge/Fabric/NeoForge]
添加了新方块!
Cryonic Config
休闲极简配置API
Factory Blocks [Forge/Fabric/NeoForge]
为凿子重制版的方块添加了工厂方块的附加内容
Chisel Reborn
添加了许多原版方块的变体
评论
登录后评论和评分