Project of the Week: Continuity (Fabric)

Cover image

Here begins the very first post in the Project of the Week series: PepperCode1's Continuity, a connected textures mod for the Fabric toolchain. This series, as the name suggests, goes into detail about a new, recent release on Modrinth. If time constraints allow, we plan on having a new edition of this each week, alternating back and forth between the Fabric and Forge toolchains, allowing for a nice variation. Enough with the boilerplate; it's time to get on with the mod!

History

Once upon a time, a mod existed called OptiFine. You probably already know what that is, so I'm not going to bore you with the details. Noticing a distinct lack of a connected textures functionality without using OptiFine on Fabric, PepperCode1 sought out to create a mod that would re-implement it using the Fabric Rendering API. They did so, eventually creating the Connected Textures Mod for Fabric (CTMF). This mod had a fatal disadvantage, though: it used a format different from the OptiFine format that everyone had already used.

You see, there are two relatively common formats for modeling connected textures: the OptiFine/MCPatcher format and the Chisel/ConnectedTextureModel format. The Chisel format is easier to implement and create resource packs for, but the OptiFine format is far more commonly used in resource packs, as a result of OptiFine's popularity. CTMF used the Chisel format, which never saw too much of a widespread adoption. As a direct result, not too many people ended up using CTMF.

Pepper knew they could do better, and so, they did. Rumors of a new mod supporting the OptiFine format arose, and a name was born: NCTM. Err, wait... NTCM, actually. To this day, it's still unknown what NTCM stands for, but while in development, that was the name it had.

The very first screenshot of a working NTCM appeared in the mod-development channel of Pepper's Discord server on the second of August, 2021. Development from there was steady, and the first publicly-available build appeared in the dev-log channel in the same guild on the 15th of August, 2021. Eight more development builds were released in the same place until, at last, the release candidate was published.

What's this -- a new name? Yes, it turns out that NTCM wasn't too great of a name after all. A poll in a temporary channel resulted in the name we know today: Continuity. With the final name set, the source code set public, and Mr. Burns's hounds unleashed, it's go time. The first public release of Continuity was published on September 25th, 2021.

Information

As mentioned, Continuity depends upon the Fabric API and Loader to work. At the time of writing, only 1.17.x is supported, and it only works client-side. To turn on the default connected textures, go to the Resource Packs screen and enable both packs prefaced with continuity/.

The goal of Continuity and the default packs are to have full OptiFine parity in the connected texture realm. However, as with just about any mod, especially new releases, Continuity is prone to bugs. For example, glass pane culling only partially works with some resource packs. Additionally, resource packs which don't have any connected texture mappings for a given block will not connect. See the showcase section for an example of both of those behaviors.

Compatibility

Due to the dependency on the Fabric Rendering API (FRAPI), in order to use Continuity with Sodium, you must also install Indium. While support for FRAPI is planned in Sodium in the future, this compatibility layer must be used in the meantime.

Since Canvas has built-in support for FRAPI, a compatibility layer isn't needed to use Continuity in conjunction with it.

Rather obviously, Continuity isn't compatible with OptiFine, because it is intended to reimplement one of the functionalities of OptiFine.

Showcase

A screenshot of various blocks such as glass, glass panes, and sandstone connected together Continuity's default connected texture resource pack

A screenshot of various blocks such as glass, glass panes, and sandstone connected together Continuity connected textures with Depixel, showing both of the aforementioned caveats