| version | loader availability | note |
|---|---|---|
| 1.21.1 | Fabric | |
| 1.20.4 | Fabric | (unmaintained) |
| 1.20.1 | Fabric |
Templates adds retexturable blocks. Place a Template and right-click it with any full-size block, and the Template will look just like that block.
You can make custom fences, walls, stairs, slabs, trapdoors, levers, buttons, candles, TNT, and more.
- Click with Glowstone Dust to make it emit light.
- Click with a Redstone Torch to make it act as a redstone power source.
- Click with a Popped Chorus Fruit to make it non-solid.
It is a mod in the long tradition of "Carpenter's Blocks", "Framed Blocks", and friends. It is not the first implementation of this idea, and it won't be the last.
It's also not too hard for other mods to interface with Templates and add their own templatable blocks.
New in 2.2.0: Supports connected textures! I tested Chisel Reborn, but any mod that implements FabricBlock#getAppearance should work.
⚠ Templates was originally conceived as a tech-demo for, and tests the limits of, the Fabric Rendering API. You'll need a compatible renderer implementation installed. Fabric API includes one called Indigo, but in 1.20, it is not compatible with Sodium. If you use Sodium, you might need to install a mod like Indium for Templates to work properly.


All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
|
R
2.5.1
|
1d ago | 1 | |||
|
R
2.5.0
|
1d ago | 1 | |||
|
R
2.4.1
|
1d ago | 1 | |||
|
R
2.4.1
|
1d ago | 1 | |||
|
R
2.3.2
|
1d ago | 1 | |||
|
R
2.4.0
|
1d ago | 1 | |||
|
R
2.4.0
|
1d ago | 1 | |||
|
R
2.3.1
|
1d ago | 1 | |||
|
R
2.3.0
|
1d ago | 1 | |||
|
R
2.2.1
|
1d ago | 1 | |||
|
R
2.2.0
|
1d ago | 1 | |||
|
R
2.1.1
|
1d ago | 1 | |||
|
R
2.1.0
|
1d ago | 1 | |||
|
R
2.0.4
|
1d ago | 1 | |||
|
R
2.0.3
|
1d ago | 1 | |||
|
R
2.0.2
|
1d ago | 1 | |||
|
R
2.0.1
|
1d ago | 1 |
- Fix the Lever Template's recipe being the same as the Candle Template's.
- Fix the Lever Template's recipe being the same as the Candle Template's.
- Fix faces on the Slope disappearing with Sodium (i had a wrong cullface set)
- Try to fix AO on the slope but fail
- Rewrite a lot of the retexturing logic.
- Now, only one ready-to-retexture
Meshis used per bakedmodel, which is probably how it should have been in the first place. Should save memory and improve chunk-baking performance a little bit. - Some ABI breaks are related to this. See Git or let me know if you need more information.
- Permute the faces of fewer types of Templates. (This might rotate blocks inside some Templates.)
- Remove mixin that did nothing and broke Sinytra Connector
- Tag template button with
wooden_buttonsagain - Load nbt tag clientside (preventing flicker of regular template when you place one)
- Remove mixin that did nothing and (probably) broke Sinytra Connector
- Tag template button with
wooden_buttonsagain
- Remove mixin that did nothing and (probably) broke Sinytra Connector
- Tag template button with
wooden_buttonsagain
- NOTE**: Somewhat slapdash. Let me know if there's trouble.
- Add recipes to craft Slab Templates into Vertical Slab Templates and vice versa.
- If a Template can't decide on a texture, it'll now fall back to the block's particle texture (instead of displaying the glitchy scaffolding texture)
- Fix messed up Fence Template and Post Template items from last update.
- Add a tooltip to the Slope and Tiny Slope templates reminding you that they can be placed sideways on walls by holding Shift.
- Retexturable models (for "json" and "auto" types), as well as item model overrides, can now be loaded out of a resource pack.
- See the json files lurking in
assets/templates/. - This isn't *too* useful, since the models only make *sense* when applied to a block from Templates.
- The existing code-registration API still works. These are dubbed "permanent" mappings (since they aren't cleared on resource reload).
- Permanent mappings can be overridden with resource-pack ones.
- More datagen.
- Potential ABI break**: Use
fabric-block-view-api-v2instead of the deprecatedfabric-rendering-data-attachment-v1. - This means I use
RenderDataBlockEntityinstead of the deprecatedRenderAttachmentBlockEntityto read information about templates from the world. - If you implement
ThemeableBlockEntity*, please implementThemeableBlockEntity2instead. However, the old interface has been changed to extend the new interface and forward calls fromfabric-rendering-data-attachment-v1, so addons **should still work**. - Potential ABI break**: Use
fabric-model-loading-api-v1instead of the deprecatedfabric-models-v0. - Due to shortcomings of this API (no ability to directly set an
UnbakedModelfor items), Template items now need an arbitrary json item model to suppress "missing model" logspam. - In the future I intend to make fuller use of the features afforded by this library.
- People were rightfully wary of my sketchy TNT data-tracker mixin, so I put a priority on it. It should hopefully apply in a consistent ordering and not cause problems.
- Please remember to apply this update to the client AND server**
- TNTemplate now feels more like a tnt block (breaks instantly, etc)
- Fix recipe unlocking! It now only unlocks when you get bamboo for the first time. Nobody noticed.
- A significant portion of the mod's assets and data files are now automatically generated. Let me know if something feels off.
- Start sketching out an API, accessible through
TemplatesClientApi.getInstance() - (Note from the future: This API will break *hard* in 1.21 due to Mojang fuckery)
- Code cleanups that hopefully didn't break ABI compat
- Remove some unused stuff from the jar
- Vertical slab placement is a little better
- Fix a bug where templates that look like blocks with randomized models, such as stone, could reroll their blockstate on every resource load
- Forgot to specify a random seed.
- Templated blocks always use the *same* model -- templated stone will still not be randomly rotated/flipped -- but at least now it uses the *same* same model.
New changes:
- New template: "Post Cross" - a plus shape that fits squarely on fences or the Post template. Can be placed in three different orientations.
- New template: "TNTemplate". This will end well.
- Connected textures should work! I tested with Chisel Reborn. Other blocks should be OK as long as they implement
FabricBlock#getAppearance. - Mushroom blocks now work (as well as any other blocks with
"multipart"models). - Very slightly reduce memory usage of
TemplateAppearance? - Only declare dependencies on the Fabric API modules I actually use.
TODO list:
- I still depend on two deprecated modules,
fabric-rendering-data-attachment-v1(has ABI implications) andfabric-models-v0(the replacement seems to befabric-model-loading-api-v1, and this also has ABI implications)
- new Template: *Vertical Slab*
- new Template: *Tiny Slope*
- Significantly reduce size of Template block entity NBT tags
- Blocks will be automatically upgraded when loaded, creative ctrl-picked templates from before this update will not, and may act funny
"BlockState"->"s", like 5 separate boolean flags -> a single bitfield"b"- Reduce memory footprint of Template block entities
- Respect
doTileDrops - Improve creative ctrl-pick behavior on glowing Templates
- Adding a Barrier block to a Template makes it invisible (does NOT make it unbreakable btw)
- Add doors and iron doors
- cool rivulet
- Add an Iron Trapdoor template
- Fix mod metadata and add more metadata
Thanks Patbox for noticing/suggesting