- 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.
- See the json files lurking in
- More datagen.
- Potential ABI break: Use
fabric-block-view-api-v2
instead of the deprecatedfabric-rendering-data-attachment-v1
.- This means I use
RenderDataBlockEntity
instead of the deprecatedRenderAttachmentBlockEntity
to read information about templates from the world. - If you implement
ThemeableBlockEntity
, please implementThemeableBlockEntity2
instead. 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.
- This means I use
- Potential ABI break: Use
fabric-model-loading-api-v1
instead of the deprecatedfabric-models-v0
.- Due to shortcomings of this API (no ability to directly set an
UnbakedModel
for 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.
- Due to shortcomings of this API (no ability to directly set an
- 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.
Old changes (~2023, unreleased until now):
- 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)