-
-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Is your feature request related to a problem?
In 1.21.4 and earlier versions, FramedBlocks requested the ModelData from the model used as the camo of a framed block and tried to extract the connected textures data for any connected textures it was aware of. This required dedicated support for every connected textures mod, either in FramedBlocks itself or in the connected textures mod.
In 1.21.5 the baked model extensions were reworked and the model-level ModelData getter was removed in favor of passing the level and position context directly to BlockStateModel#collectParts(). To allow caching like this to still function, an API was added to allow mods like FramedBlocks to request a "geometry key" from another model which they then include in their cache key.
Solution(s)
AthenaBakedModel should implement BlockStateModelExtension#createGeometryKey() and return an object that contains the model instance (required as the key is intended to be globally unique) and the data required to uniquely identify a particular connected textures state (providing the NullableEnumMap<Direction, Map<Direction, List<AthenaQuad>>> like was the case previously is fine). The returned object must also implement equals() and hashCode() correctly in order to be suitable as a cache key.
Describe alternatives you've considered
No response
Mod Version
4.3.0
Mod Loader Version
1.21.5 - 21.5.72-beta
Mod Loader
NeoForge
Additional context
No response