Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[v21.5.4-1.21.5] - 2025-04-03
Add
- Add 
HSVutility class - Add one more 
RegistryManager::registerSpawnEggItemoverload 
Fixed
- Fix entity attributes failing to register on NeoForge
 
[v21.5.3-1.21.5] - 2025-04-02
Added
- Add 
ItemTooltipRegistry - Add 
EntityHelper::isPiglinCurrency - Add 
AbstractLanguageProvider::mustHaveTranslationKey - Add a few more methods to 
ClientComponentSplitter 
Changed
- Slightly rework 
AbstractAtlasProvider - Deprecate some method in 
ComponentHelper 
[v21.5.2-1.21.5] - 2025-04-02
Added
- Add back 
ModelLoadingHelper::missingModel - Add a few missing access wideners
 
Removed
- Remove 
BlockStateResolverContext$ResourceLoaderContextas it can no longer be supported with current APIs 
Fixed
- Fix start-up crash on Fabric due to a faulty Mixin
 - Temporarily fix 
ClientLifecycleEvents$Startednot firing on NeoForge due to a bug in the mod loader 
[v21.5.1-1.21.5] - 2025-04-01
Changed
- Overhaul internal development structure
 
Fixed
- Fix client start-up crash on NeoForge caused by 
Minecraftbeingnull 
[v21.5.0-1.21.5] - 2025-03-31
- Port to Minecraft 1.21.5
 
Added
- Add 
RegisterConfigurationTasksCallback - Add 
ContentRegistrationHelperfor registering new skull block types - Add 
QuadUtils - Add 
CodecExtras::LIST_TAG_CODEC,CodecExtras::setOf, andCodecExtras::decodeOnly 
Changed
- Complete networking refactor, replacing 
NetworkHandlerwithModConstructor::onRegisterPayloadTypes, and adding support for configuration phase messages - Untie 
PlayerSetfrom only being able to handle sending packets - Split 
CommonAbstractionsinto multiple classes such asEntityHelper,EnchantingHelper, andExplosionEventHelper - Split 
ClientAbstractionsinto multiple classes such asGuiHeightHelper,ClientWoodTypeRegistry, andRenderTypeHelper - Merge 
EntityAttributesCreateContext&EntityAttributesModifyContextintoEntityAttributesContext - Refactor 
ClientStartedCallbackintoClientLifecycleEvents - Support directly registering a texture location in 
SkullRenderersContext 
Removed
- Remove 
SpecialBlockModelTypesContext - Remove 
JsonConfigFileUtil&JsonSerializationUtil - Remove 
BlockInteractionsContext,CompostableBlocksContext,FlammableBlocksContext&FuelValuesContext - Remove 
ReflectionHelper - Remove 
RegisterFuelValuesCallback - Remove 
RegistryHelper - Remove 
MessageV2 - Remove 
ClientModConstructor::onRegisterAdditionalModels - Remove 
ClientModConstructor::onRegisterCoreShaders - Remove 
SetupMobGoalsCallback 
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[v21.5.3-1.21.5] - 2025-04-02
Added
- Add 
ItemTooltipRegistry - Add 
EntityHelper::isPiglinCurrency - Add 
AbstractLanguageProvider::mustHaveTranslationKey - Add a few more methods to 
ClientComponentSplitter 
Changed
- Slightly rework 
AbstractAtlasProvider - Deprecate some method in 
ComponentHelper 
[v21.5.2-1.21.5] - 2025-04-02
Added
- Add back 
ModelLoadingHelper::missingModel - Add a few missing access wideners
 
Removed
- Remove 
BlockStateResolverContext$ResourceLoaderContextas it can no longer be supported with current APIs 
Fixed
- Fix start-up crash on Fabric due to a faulty Mixin
 - Temporarily fix 
ClientLifecycleEvents$Startednot firing on NeoForge due to a bug in the mod loader 
[v21.5.1-1.21.5] - 2025-04-01
Changed
- Overhaul internal development structure
 
Fixed
- Fix client start-up crash on NeoForge caused by 
Minecraftbeingnull 
[v21.5.0-1.21.5] - 2025-03-31
- Port to Minecraft 1.21.5
 
Added
- Add 
RegisterConfigurationTasksCallback - Add 
ContentRegistrationHelperfor registering new skull block types - Add 
QuadUtils - Add 
CodecExtras::LIST_TAG_CODEC,CodecExtras::setOf, andCodecExtras::decodeOnly 
Changed
- Complete networking refactor, replacing 
NetworkHandlerwithModConstructor::onRegisterPayloadTypes, and adding support for configuration phase messages - Untie 
PlayerSetfrom only being able to handle sending packets - Split 
CommonAbstractionsinto multiple classes such asEntityHelper,EnchantingHelper, andExplosionEventHelper - Split 
ClientAbstractionsinto multiple classes such asGuiHeightHelper,ClientWoodTypeRegistry, andRenderTypeHelper - Merge 
EntityAttributesCreateContext&EntityAttributesModifyContextintoEntityAttributesContext - Refactor 
ClientStartedCallbackintoClientLifecycleEvents - Support directly registering a texture location in 
SkullRenderersContext 
Removed
- Remove 
SpecialBlockModelTypesContext - Remove 
JsonConfigFileUtil&JsonSerializationUtil - Remove 
BlockInteractionsContext,CompostableBlocksContext,FlammableBlocksContext&FuelValuesContext - Remove 
ReflectionHelper - Remove 
RegisterFuelValuesCallback - Remove 
RegistryHelper - Remove 
MessageV2 - Remove 
ClientModConstructor::onRegisterAdditionalModels - Remove 
ClientModConstructor::onRegisterCoreShaders - Remove 
SetupMobGoalsCallback 
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[v21.5.2-1.21.5] - 2025-04-02
Added
- Add back 
ModelLoadingHelper::missingModel - Add a few missing access wideners
 
Removed
- Remove 
BlockStateResolverContext$ResourceLoaderContextas it can no longer be supported with current APIs 
Fixed
- Fix start-up crash on Fabric due to a faulty Mixin
 - Temporarily fix 
ClientLifecycleEvents$Startednot firing on NeoForge due to a bug in the mod loader 
[v21.5.1-1.21.5] - 2025-04-01
Changed
- Overhaul internal development structure
 
Fixed
- Fix client start-up crash on NeoForge caused by 
Minecraftbeingnull 
[v21.5.0-1.21.5] - 2025-03-31
- Port to Minecraft 1.21.5
 
Added
- Add 
RegisterConfigurationTasksCallback - Add 
ContentRegistrationHelperfor registering new skull block types - Add 
QuadUtils - Add 
CodecExtras::LIST_TAG_CODEC,CodecExtras::setOf, andCodecExtras::decodeOnly 
Changed
- Complete networking refactor, replacing 
NetworkHandlerwithModConstructor::onRegisterPayloadTypes, and adding support for configuration phase messages - Untie 
PlayerSetfrom only being able to handle sending packets - Split 
CommonAbstractionsinto multiple classes such asEntityHelper,EnchantingHelper, andExplosionEventHelper - Split 
ClientAbstractionsinto multiple classes such asGuiHeightHelper,ClientWoodTypeRegistry, andRenderTypeHelper - Merge 
EntityAttributesCreateContext&EntityAttributesModifyContextintoEntityAttributesContext - Refactor 
ClientStartedCallbackintoClientLifecycleEvents - Support directly registering a texture location in 
SkullRenderersContext 
Removed
- Remove 
SpecialBlockModelTypesContext - Remove 
JsonConfigFileUtil&JsonSerializationUtil - Remove 
BlockInteractionsContext,CompostableBlocksContext,FlammableBlocksContext&FuelValuesContext - Remove 
ReflectionHelper - Remove 
RegisterFuelValuesCallback - Remove 
RegistryHelper - Remove 
MessageV2 - Remove 
ClientModConstructor::onRegisterAdditionalModels - Remove 
ClientModConstructor::onRegisterCoreShaders - Remove 
SetupMobGoalsCallback 
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[v21.5.1-1.21.5] - 2025-04-01
Changed
- Overhaul internal development structure
 
Fixed
- Fix client start-up crash on NeoForge caused by 
Minecraftbeingnull 
[v21.5.0-1.21.5] - 2025-03-31
- Port to Minecraft 1.21.5
 
Added
- Add 
RegisterConfigurationTasksCallback - Add 
ContentRegistrationHelperfor registering new skull block types - Add 
QuadUtils - Add 
CodecExtras::LIST_TAG_CODEC,CodecExtras::setOf, andCodecExtras::decodeOnly 
Changed
- Complete networking refactor, replacing 
NetworkHandlerwithModConstructor::onRegisterPayloadTypes, and adding support for configuration phase messages - Untie 
PlayerSetfrom only being able to handle sending packets - Split 
CommonAbstractionsinto multiple classes such asEntityHelper,EnchantingHelper, andExplosionEventHelper - Split 
ClientAbstractionsinto multiple classes such asGuiHeightHelper,ClientWoodTypeRegistry, andRenderTypeHelper - Merge 
EntityAttributesCreateContext&EntityAttributesModifyContextintoEntityAttributesContext - Refactor 
ClientStartedCallbackintoClientLifecycleEvents - Support directly registering a texture location in 
SkullRenderersContext 
Removed
- Remove 
SpecialBlockModelTypesContext - Remove 
JsonConfigFileUtil&JsonSerializationUtil - Remove 
BlockInteractionsContext,CompostableBlocksContext,FlammableBlocksContext&FuelValuesContext - Remove 
ReflectionHelper - Remove 
RegisterFuelValuesCallback - Remove 
RegistryHelper - Remove 
MessageV2 - Remove 
ClientModConstructor::onRegisterAdditionalModels - Remove 
ClientModConstructor::onRegisterCoreShaders - Remove 
SetupMobGoalsCallback 
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[v21.4.13-1.21.4] - 2025-03-28
Changed
- Add 
CapabilityKey::clear 
[v21.4.12-1.21.4] - 2025-03-14
Added
- Add 
ModConstructor::onRegisterGameplayContent - Add 
ClientAbstractions::copyBakedQuad - Add 
BuiltinResourcePackHelper 
Changed
- Add a bunch of safety checks for casting in event invokers
 
Fixed
- Fix rare start-up crash when registering generated config translations on NeoForge
 - Fix 
DataProviderHelper::registerDataProvidersfailing when called multiple times 
[v21.4.11-1.21.4] - 2025-03-02
Added
- Add 
CommonAbstractions::getRarityStyle - Add 
SetupMobGoalsCallback - Add back overhauled 
NeoForgeDataProviderContext 
Changed
- Allow 
AbstractLanguageProviderto check for missing translation keys - Support providing a separate 
RegistrySetBuilderoutside of a dedicatedDataProviderinDataProviderHelper 
Fixed
- Fix 
CommonAbstractions::hasChannelnot properly checking for fake players 
[v21.4.10-1.21.4] - 2025-03-02
Added
- Add a few helper methods for creating blasting / smoking / campfire recipes to 
AbstractRecipeProvider 
Fixed
- Fix client crash when trying to use custom furnace fuels on a dedicated NeoForge server
 
[v21.4.9-1.21.4] - 2025-02-25
Added
- Add 
ClientSetupCallback&CommonSetupCallback - Add 
LootContextKeySetFactory - Add 
GiveItemHelper 
Changed
- Update 
FabricEventFactoryto handle faulty return values more leniently 
[v21.4.8-1.21.4] - 2025-02-17
Changed
- Add 
RegistryAccesstoDataAttachmentRegistry.Builder 
[v21.4.7-1.21.4] - 2025-02-09
Added
- Add 
ItemModelGenerationHelper - Add additional methods to 
ModelLocationHelper 
Fixed
- Fix 
AbstractParticleProviderbeing unable to properly locate existing textures - Fix 
AbstractParticleProviderfailing to create particle definition files 
[v21.4.6-1.21.4] - 2025-02-09
Added
- Add 
ItemModelsContext, deprecatingSpecialBlockModelTypesContext 
[v21.4.5-1.21.4] - 2025-02-07
Added
- Add 
FuelValuesContext, deprecatingRegisterFuelValuesCallback 
Changed
- Update for NeoForge 21.4.84+
 
[v21.4.4-1.21.4] - 2025-02-06
Changed
- Allow 
BlockStateResolverContextto addUnbakedModelinstances 
Fixed
- Fix 
BlockStateResolverContextnot caching manually loadedUnbakedModelinstances on NeoForge - Fix 
BlockStateResolverContextconstantly re-baking all previously locatedUnbakedBlockStateModelinstances on NeoForge 
[v21.4.3-1.21.4] - 2025-02-05
Added
- Add an alternative 
BlockStateResolverContext::registerBlockStateResolverimplementation for preparing asynchronously loaded resources 
Changed
- Rework methods in 
ModelLoadingHelperto returnCompletableFutureinstances - Move selected item name together with gui height variables on Fabric just as NeoForge does
 
Fixed
- Fix 
ShieldBlockCallbackfiring when the entity is not blocking on NeoForge - Fix 
ClientAbstractions::getGuiRightHeightandClientAbstractions::getGuiLeftHeightproviding incorrect values for creative players on Fabric 
[v21.4.2-1.21.4] - 2025-02-04
Added
- Add 
BlockStateResolverContext - Add 
ClientStartedCallback - Add 
ModelLoadingHelper 
Changed
- Delay running 
AdditionalModelsContextuntilModelLoadingPlugininitialization on Fabric 
Fixed
- Fix 
AbstractModelProvidergenerating all vanilla item models on each run 
[v21.4.1-1.21.4] - 2025-02-03
Changed
- Temporarily allow data generation to run by hijacking the client configuration while Architectury Loom remains broken
 
[v21.4.0-1.21.4] - 2025-02-03
- Port to Minecraft 1.21.4
 
Added
- Add 
SpecialBlockModelTypesContext - Add 
SpecialBlockModelRenderersContext - Add 
GameRegistriesContext - Add 
TransmuteRecipeHelper - Add 
ExistingFilesHelper 
Changed
- Replace 
RenderNameTagEventswithRenderNameTagCallback - Replace 
ExtractRenderStateCallbackwithExtractRenderStateCallbackV2 - Rework 
ModelEventsintoModelLoadingEvents,BlockModelLoadingEvents, andModelBakingCompletedCallback - Refactor 
ColorProvidersContextintoBlockColorsContext 
Removed
- Remove 
ContentRegistrationFlags - Remove 
NeoForgeDataProviderContext - Remove 
LootTableLoadEvents - Remove 
RenderPlayerEvents - Remove 
BuildCreativeModeTabContentsContext - Remove 
CreativeModeTabContextwithCreativeModeTabConfigurator - Remove 
BuiltinModelItemRendererContextwithBuiltinItemRendererandReloadingBuiltInItemRenderer - Remove 
ItemModelPropertiesContext - Remove 
ItemModelDisplayOverrides - Remove 
AbstractRegistriesDatapackGenerator - Remove 
AbstractModelProviderwithModItemModelProvider 
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[v21.1.33-1.21.1] - 2025-03-16
Fixed
- Fix 
ModelPart$Vertex&ModelPart$Polygonbeing inaccessible on NeoForge 
[v21.1.32-1.21.1] - 2025-03-14
Changed
- Add a bunch of safety checks for casting in event invokers
 
[v21.1.31-1.21.1] - 2025-03-13
Added
- Add 
ModConstructor::onRegisterGameplayContent - Add 
ModelLocationHelper&ModelTemplateHelper - Add 
ResourceKeyHelper - Add 
AbstractDatapackRegistriesProvider 
[v21.1.30-1.21.1] - 2025-03-11
Fixed
- Fix rare start-up crash when registering generated config translations on NeoForge
 
[v21.1.29-1.21.1] - 2025-03-09
Fixed
- Fix CommonAbstractions::hasChannel crashing for invalid players on NeoForge
 
[v21.1.28-1.21.1] - 2025-02-25
Added
- Backport new block, item and creative mode tab registration methods to 
RegistryManager - Backport 
CompostableBlocksContext 
Changed
- Update 
FabricEventFactoryto handle faulty return values more leniently 
[v21.1.27-1.21.1] - 2025-01-17
Fixed
- Fix network packets executing with one tick delay on Fabric
 
[v21.1.26-1.21.1] - 2025-01-16
Changed
- Allow setting empty lines for 
TooltipBuilderto prevent the tooltip from drawing 
Fixed
- Fix unable to set a new widget tooltip using vanilla methods when 
TooltipBuilderhas been used for the widget 
[v21.1.25-1.21.1] - 2025-01-10
Fixed
- Avoid unnecessarily high memory usage from holding on to top level model locations after model events have completed
 - Wrap 
BlockStateModelLoaderin aWeakReferenceto avoid holding on to it when it is no longer needed 
[v21.1.24-1.21.1] - 2024-12-22
Changed
- Adjust 
RangedSliderButtonimplementation to no longer require an access widener to help compatibility with the Cloth Config mod 
[v21.1.23-1.21.1] - 2024-10-24
Changed
- Support using 
AbstractTagAppenderas string list builder 
[v21.1.22-1.21.1] - 2024-10-22
Added
- Add 
ChangeEntitySizeCallback - Add 
RegistryManager::registerAttribute 
Changed
- Expand 
LivingEntityRenderLayersContextwith some additional methods 
[v21.1.21-1.21.1] - 2024-10-10
Changed
- Allow 
PlayerSetto handle a provided client level more leniently 
[v21.1.20-1.21.1] - 2024-10-10
Added
- Add 
CommonAbstractions::getPartEntityParent 
Fixed
- Fix removed data attachments failing to synchronize to clients
 
[v21.1.19-1.21.1] - 2024-10-05
Changed
- Replace 
ClientParticleTypeswithClientParticleHelper 
[v21.1.18-1.21.1] - 2024-10-04
Changed
- Add more helper methods to 
GuiGraphicsHelper 
Fixed
- Fix 
DynamicPackResourcesfailing to generate some resources 
[v21.1.17-1.21.1] - 2024-10-01
Added
- Add 
ClientAbstractions::hasChannel&CommonAbstractions::hasChannel 
Changed
- Network messages are no longer sent to clients & servers that do not understand them
 
[v21.1.16-1.21.1] - 2024-09-30
Changed
RenderGuiLayerEventsno longer fire when the hud is hidden viaF1
[v21.1.15-1.21.1] - 2024-09-30
Changed
- Slight 
RenderGuiEventsadjustments 
Fixed
- Fix some gui layers from other mods failing to render
 
[v21.1.14-1.21.1] - 2024-09-29
Added
- Add 
RenderGuiEvents, replacingRenderGuiCallback 
[v21.1.13-1.21.1] - 2024-09-29
Changed
- Overhaul 
RenderGuiLayerEventsimplementation on Fabric 
[v21.1.12-1.21.1] - 2024-09-29
Added
- Add 
NeoForgeCapabilityHelper::registerItemContainer - Add 
GuiGraphicsHelper::blitTiledSprite - Add a bunch of helper methods to 
ClientAbstractionsfor handlingGui#leftHeight&Gui#rightHeight 
Changed
- Minor 
ConfigTranslationsManagerimprovements 
Removed
- Remove 
ModLoaderEnvironment::getObjectShareAccess 
[v21.1.11-1.21.1] - 2024-09-25
Added
- Add 
CodecExtras - Add some helper methods to 
ItemModelDisplayOverrides - Add enum helpers to 
ExtraStreamCodecs - Add some helper methods to 
CreativeModeTabConfigurator - Add helper methods to 
ShapesHelperfor rotating shapes horizontally 
Changed
- Allow for compatibility with Minecraft 1.21 on Fabric if enabled via dependency overrides
 - Allow 
RegistryManager::registerBlockItemto take anItem$Propertiessupplier 
Fixed
- Fix 
RenderHighlightCallbackcrashing on NeoForge 
[v21.1.10-1.21.1] - 2024-09-20
Changed
- Allow 
ItemModelDisplayOverridesto accept bothResourceLocationas well asModelResourceLocation 
[v21.1.9-1.21.1] - 2024-09-18
Added
- Add 
TooltipBuilder::setTooltipLineProcessor 
[v21.1.8-1.21.1] - 2024-09-18
Changed
- Pass original 
ClientTooltipPositionerto tooltip positioner factory inTooltipBuilder 
[v21.1.7-1.21.1] - 2024-09-17
Fixed
- Fix 
LivingDropsCallbackfailing to capture player drops on Fabric - Fix some keybinds failing to trigger properly on Fabric
 
[v21.1.6-1.21.1] - 2024-09-17
Changed
- Overhaul 
AbstractRegistriesDatapackGeneratorso that generated registry values can be used in other data providers 
[v21.1.5-1.21.1] - 2024-09-16
Added
- Add new data attachment api
 
Changed
- Revert codec support for capabilities, use attachments for that
 - Rename 
PlayerSet::notifytoPlayerSet::broadcast 
[v21.1.4-1.21.1] - 2024-09-14
Changed
- Support codecs for capabilities
 - Simplify 
ModelLayerFactoryimplementation 
[v21.1.3-1.21.1] - 2024-09-13
Added
- Add 
ScreenSkipper - Add 
GsonCodecHelper - Add 
TagFactory 
[v21.1.2-1.21.1] - 2024-09-12
Added
- Add 
RegistryManager::registerTrimMaterialandRegistryManager::registerLootTable 
[v21.1.1-1.21.1] - 2024-09-11
Added
- Add 
RegistryManager::registerDataComponentType 
Changed
- Minor updates for 
ConfigTranslationsManager - Hide some annoying toast messages in development environments
 
Removed
- Remove 
BlockEntityHelper 
[v21.1.0-1.21.1] - 2024-09-10
- Port to Minecraft 1.21.1
 
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[v21.4.12-1.21.4] - 2025-03-14
Added
- Add 
ModConstructor::onRegisterGameplayContent - Add 
ClientAbstractions::copyBakedQuad - Add 
BuiltinResourcePackHelper 
Changed
- Add a bunch of safety checks for casting in event invokers
 
Fixed
- Fix rare start-up crash when registering generated config translations on NeoForge
 - Fix 
DataProviderHelper::registerDataProvidersfailing when called multiple times 
[v21.4.11-1.21.4] - 2025-03-02
Added
- Add 
CommonAbstractions::getRarityStyle - Add 
SetupMobGoalsCallback - Add back overhauled 
NeoForgeDataProviderContext 
Changed
- Allow 
AbstractLanguageProviderto check for missing translation keys - Support providing a separate 
RegistrySetBuilderoutside of a dedicatedDataProviderinDataProviderHelper 
Fixed
- Fix 
CommonAbstractions::hasChannelnot properly checking for fake players 
[v21.4.10-1.21.4] - 2025-03-02
Added
- Add a few helper methods for creating blasting / smoking / campfire recipes to 
AbstractRecipeProvider 
Fixed
- Fix client crash when trying to use custom furnace fuels on a dedicated NeoForge server
 
[v21.4.9-1.21.4] - 2025-02-25
Added
- Add 
ClientSetupCallback&CommonSetupCallback - Add 
LootContextKeySetFactory - Add 
GiveItemHelper 
Changed
- Update 
FabricEventFactoryto handle faulty return values more leniently 
[v21.4.8-1.21.4] - 2025-02-17
Changed
- Add 
RegistryAccesstoDataAttachmentRegistry.Builder 
[v21.4.7-1.21.4] - 2025-02-09
Added
- Add 
ItemModelGenerationHelper - Add additional methods to 
ModelLocationHelper 
Fixed
- Fix 
AbstractParticleProviderbeing unable to properly locate existing textures - Fix 
AbstractParticleProviderfailing to create particle definition files 
[v21.4.6-1.21.4] - 2025-02-09
Added
- Add 
ItemModelsContext, deprecatingSpecialBlockModelTypesContext 
[v21.4.5-1.21.4] - 2025-02-07
Added
- Add 
FuelValuesContext, deprecatingRegisterFuelValuesCallback 
Changed
- Update for NeoForge 21.4.84+
 
[v21.4.4-1.21.4] - 2025-02-06
Changed
- Allow 
BlockStateResolverContextto addUnbakedModelinstances 
Fixed
- Fix 
BlockStateResolverContextnot caching manually loadedUnbakedModelinstances on NeoForge - Fix 
BlockStateResolverContextconstantly re-baking all previously locatedUnbakedBlockStateModelinstances on NeoForge 
[v21.4.3-1.21.4] - 2025-02-05
Added
- Add an alternative 
BlockStateResolverContext::registerBlockStateResolverimplementation for preparing asynchronously loaded resources 
Changed
- Rework methods in 
ModelLoadingHelperto returnCompletableFutureinstances - Move selected item name together with gui height variables on Fabric just as NeoForge does
 
Fixed
- Fix 
ShieldBlockCallbackfiring when the entity is not blocking on NeoForge - Fix 
ClientAbstractions::getGuiRightHeightandClientAbstractions::getGuiLeftHeightproviding incorrect values for creative players on Fabric 
[v21.4.2-1.21.4] - 2025-02-04
Added
- Add 
BlockStateResolverContext - Add 
ClientStartedCallback - Add 
ModelLoadingHelper 
Changed
- Delay running 
AdditionalModelsContextuntilModelLoadingPlugininitialization on Fabric 
Fixed
- Fix 
AbstractModelProvidergenerating all vanilla item models on each run 
[v21.4.1-1.21.4] - 2025-02-03
Changed
- Temporarily allow data generation to run by hijacking the client configuration while Architectury Loom remains broken
 
[v21.4.0-1.21.4] - 2025-02-03
- Port to Minecraft 1.21.4
 
Added
- Add 
SpecialBlockModelTypesContext - Add 
SpecialBlockModelRenderersContext - Add 
GameRegistriesContext - Add 
TransmuteRecipeHelper - Add 
ExistingFilesHelper 
Changed
- Replace 
RenderNameTagEventswithRenderNameTagCallback - Replace 
ExtractRenderStateCallbackwithExtractRenderStateCallbackV2 - Rework 
ModelEventsintoModelLoadingEvents,BlockModelLoadingEvents, andModelBakingCompletedCallback - Refactor 
ColorProvidersContextintoBlockColorsContext 
Removed
- Remove 
ContentRegistrationFlags - Remove 
NeoForgeDataProviderContext - Remove 
LootTableLoadEvents - Remove 
RenderPlayerEvents - Remove 
BuildCreativeModeTabContentsContext - Remove 
CreativeModeTabContextwithCreativeModeTabConfigurator - Remove 
BuiltinModelItemRendererContextwithBuiltinItemRendererandReloadingBuiltInItemRenderer - Remove 
ItemModelPropertiesContext - Remove 
ItemModelDisplayOverrides - Remove 
AbstractRegistriesDatapackGenerator - Remove 
AbstractModelProviderwithModItemModelProvider 
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[v21.1.32-1.21.1] - 2025-03-14
Changed
- Add a bunch of safety checks for casting in event invokers
 
[v21.1.31-1.21.1] - 2025-03-13
Added
- Add 
ModConstructor::onRegisterGameplayContent - Add 
ModelLocationHelper&ModelTemplateHelper - Add 
ResourceKeyHelper - Add 
AbstractDatapackRegistriesProvider 
[v21.1.30-1.21.1] - 2025-03-11
Fixed
- Fix rare start-up crash when registering generated config translations on NeoForge
 
[v21.1.29-1.21.1] - 2025-03-09
Fixed
- Fix CommonAbstractions::hasChannel crashing for invalid players on NeoForge
 
[v21.1.28-1.21.1] - 2025-02-25
Added
- Backport new block, item and creative mode tab registration methods to 
RegistryManager - Backport 
CompostableBlocksContext 
Changed
- Update 
FabricEventFactoryto handle faulty return values more leniently 
[v21.1.27-1.21.1] - 2025-01-17
Fixed
- Fix network packets executing with one tick delay on Fabric
 
[v21.1.26-1.21.1] - 2025-01-16
Changed
- Allow setting empty lines for 
TooltipBuilderto prevent the tooltip from drawing 
Fixed
- Fix unable to set a new widget tooltip using vanilla methods when 
TooltipBuilderhas been used for the widget 
[v21.1.25-1.21.1] - 2025-01-10
Fixed
- Avoid unnecessarily high memory usage from holding on to top level model locations after model events have completed
 - Wrap 
BlockStateModelLoaderin aWeakReferenceto avoid holding on to it when it is no longer needed 
[v21.1.24-1.21.1] - 2024-12-22
Changed
- Adjust 
RangedSliderButtonimplementation to no longer require an access widener to help compatibility with the Cloth Config mod 
[v21.1.23-1.21.1] - 2024-10-24
Changed
- Support using 
AbstractTagAppenderas string list builder 
[v21.1.22-1.21.1] - 2024-10-22
Added
- Add 
ChangeEntitySizeCallback - Add 
RegistryManager::registerAttribute 
Changed
- Expand 
LivingEntityRenderLayersContextwith some additional methods 
[v21.1.21-1.21.1] - 2024-10-10
Changed
- Allow 
PlayerSetto handle a provided client level more leniently 
[v21.1.20-1.21.1] - 2024-10-10
Added
- Add 
CommonAbstractions::getPartEntityParent 
Fixed
- Fix removed data attachments failing to synchronize to clients
 
[v21.1.19-1.21.1] - 2024-10-05
Changed
- Replace 
ClientParticleTypeswithClientParticleHelper 
[v21.1.18-1.21.1] - 2024-10-04
Changed
- Add more helper methods to 
GuiGraphicsHelper 
Fixed
- Fix 
DynamicPackResourcesfailing to generate some resources 
[v21.1.17-1.21.1] - 2024-10-01
Added
- Add 
ClientAbstractions::hasChannel&CommonAbstractions::hasChannel 
Changed
- Network messages are no longer sent to clients & servers that do not understand them
 
[v21.1.16-1.21.1] - 2024-09-30
Changed
RenderGuiLayerEventsno longer fire when the hud is hidden viaF1
[v21.1.15-1.21.1] - 2024-09-30
Changed
- Slight 
RenderGuiEventsadjustments 
Fixed
- Fix some gui layers from other mods failing to render
 
[v21.1.14-1.21.1] - 2024-09-29
Added
- Add 
RenderGuiEvents, replacingRenderGuiCallback 
[v21.1.13-1.21.1] - 2024-09-29
Changed
- Overhaul 
RenderGuiLayerEventsimplementation on Fabric 
[v21.1.12-1.21.1] - 2024-09-29
Added
- Add 
NeoForgeCapabilityHelper::registerItemContainer - Add 
GuiGraphicsHelper::blitTiledSprite - Add a bunch of helper methods to 
ClientAbstractionsfor handlingGui#leftHeight&Gui#rightHeight 
Changed
- Minor 
ConfigTranslationsManagerimprovements 
Removed
- Remove 
ModLoaderEnvironment::getObjectShareAccess 
[v21.1.11-1.21.1] - 2024-09-25
Added
- Add 
CodecExtras - Add some helper methods to 
ItemModelDisplayOverrides - Add enum helpers to 
ExtraStreamCodecs - Add some helper methods to 
CreativeModeTabConfigurator - Add helper methods to 
ShapesHelperfor rotating shapes horizontally 
Changed
- Allow for compatibility with Minecraft 1.21 on Fabric if enabled via dependency overrides
 - Allow 
RegistryManager::registerBlockItemto take anItem$Propertiessupplier 
Fixed
- Fix 
RenderHighlightCallbackcrashing on NeoForge 
[v21.1.10-1.21.1] - 2024-09-20
Changed
- Allow 
ItemModelDisplayOverridesto accept bothResourceLocationas well asModelResourceLocation 
[v21.1.9-1.21.1] - 2024-09-18
Added
- Add 
TooltipBuilder::setTooltipLineProcessor 
[v21.1.8-1.21.1] - 2024-09-18
Changed
- Pass original 
ClientTooltipPositionerto tooltip positioner factory inTooltipBuilder 
[v21.1.7-1.21.1] - 2024-09-17
Fixed
- Fix 
LivingDropsCallbackfailing to capture player drops on Fabric - Fix some keybinds failing to trigger properly on Fabric
 
[v21.1.6-1.21.1] - 2024-09-17
Changed
- Overhaul 
AbstractRegistriesDatapackGeneratorso that generated registry values can be used in other data providers 
[v21.1.5-1.21.1] - 2024-09-16
Added
- Add new data attachment api
 
Changed
- Revert codec support for capabilities, use attachments for that
 - Rename 
PlayerSet::notifytoPlayerSet::broadcast 
[v21.1.4-1.21.1] - 2024-09-14
Changed
- Support codecs for capabilities
 - Simplify 
ModelLayerFactoryimplementation 
[v21.1.3-1.21.1] - 2024-09-13
Added
- Add 
ScreenSkipper - Add 
GsonCodecHelper - Add 
TagFactory 
[v21.1.2-1.21.1] - 2024-09-12
Added
- Add 
RegistryManager::registerTrimMaterialandRegistryManager::registerLootTable 
[v21.1.1-1.21.1] - 2024-09-11
Added
- Add 
RegistryManager::registerDataComponentType 
Changed
- Minor updates for 
ConfigTranslationsManager - Hide some annoying toast messages in development environments
 
Removed
- Remove 
BlockEntityHelper 
[v21.1.0-1.21.1] - 2024-09-10
- Port to Minecraft 1.21.1
 
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[v21.1.30-1.21.1] - 2025-03-11
Fixed
- Fix rare start-up crash when registering generated config translations on NeoForge
 
[v21.1.29-1.21.1] - 2025-03-09
Fixed
- Fix CommonAbstractions::hasChannel crashing for invalid players on NeoForge
 
[v21.1.28-1.21.1] - 2025-02-25
Added
- Backport new block, item and creative mode tab registration methods to 
RegistryManager - Backport 
CompostableBlocksContext 
Changed
- Update 
FabricEventFactoryto handle faulty return values more leniently 
[v21.1.27-1.21.1] - 2025-01-17
Fixed
- Fix network packets executing with one tick delay on Fabric
 
[v21.1.26-1.21.1] - 2025-01-16
Changed
- Allow setting empty lines for 
TooltipBuilderto prevent the tooltip from drawing 
Fixed
- Fix unable to set a new widget tooltip using vanilla methods when 
TooltipBuilderhas been used for the widget 
[v21.1.25-1.21.1] - 2025-01-10
Fixed
- Avoid unnecessarily high memory usage from holding on to top level model locations after model events have completed
 - Wrap 
BlockStateModelLoaderin aWeakReferenceto avoid holding on to it when it is no longer needed 
[v21.1.24-1.21.1] - 2024-12-22
Changed
- Adjust 
RangedSliderButtonimplementation to no longer require an access widener to help compatibility with the Cloth Config mod 
[v21.1.23-1.21.1] - 2024-10-24
Changed
- Support using 
AbstractTagAppenderas string list builder 
[v21.1.22-1.21.1] - 2024-10-22
Added
- Add 
ChangeEntitySizeCallback - Add 
RegistryManager::registerAttribute 
Changed
- Expand 
LivingEntityRenderLayersContextwith some additional methods 
[v21.1.21-1.21.1] - 2024-10-10
Changed
- Allow 
PlayerSetto handle a provided client level more leniently 
[v21.1.20-1.21.1] - 2024-10-10
Added
- Add 
CommonAbstractions::getPartEntityParent 
Fixed
- Fix removed data attachments failing to synchronize to clients
 
[v21.1.19-1.21.1] - 2024-10-05
Changed
- Replace 
ClientParticleTypeswithClientParticleHelper 
[v21.1.18-1.21.1] - 2024-10-04
Changed
- Add more helper methods to 
GuiGraphicsHelper 
Fixed
- Fix 
DynamicPackResourcesfailing to generate some resources 
[v21.1.17-1.21.1] - 2024-10-01
Added
- Add 
ClientAbstractions::hasChannel&CommonAbstractions::hasChannel 
Changed
- Network messages are no longer sent to clients & servers that do not understand them
 
[v21.1.16-1.21.1] - 2024-09-30
Changed
RenderGuiLayerEventsno longer fire when the hud is hidden viaF1
[v21.1.15-1.21.1] - 2024-09-30
Changed
- Slight 
RenderGuiEventsadjustments 
Fixed
- Fix some gui layers from other mods failing to render
 
[v21.1.14-1.21.1] - 2024-09-29
Added
- Add 
RenderGuiEvents, replacingRenderGuiCallback 
[v21.1.13-1.21.1] - 2024-09-29
Changed
- Overhaul 
RenderGuiLayerEventsimplementation on Fabric 
[v21.1.12-1.21.1] - 2024-09-29
Added
- Add 
NeoForgeCapabilityHelper::registerItemContainer - Add 
GuiGraphicsHelper::blitTiledSprite - Add a bunch of helper methods to 
ClientAbstractionsfor handlingGui#leftHeight&Gui#rightHeight 
Changed
- Minor 
ConfigTranslationsManagerimprovements 
Removed
- Remove 
ModLoaderEnvironment::getObjectShareAccess 
[v21.1.11-1.21.1] - 2024-09-25
Added
- Add 
CodecExtras - Add some helper methods to 
ItemModelDisplayOverrides - Add enum helpers to 
ExtraStreamCodecs - Add some helper methods to 
CreativeModeTabConfigurator - Add helper methods to 
ShapesHelperfor rotating shapes horizontally 
Changed
- Allow for compatibility with Minecraft 1.21 on Fabric if enabled via dependency overrides
 - Allow 
RegistryManager::registerBlockItemto take anItem$Propertiessupplier 
Fixed
- Fix 
RenderHighlightCallbackcrashing on NeoForge 
[v21.1.10-1.21.1] - 2024-09-20
Changed
- Allow 
ItemModelDisplayOverridesto accept bothResourceLocationas well asModelResourceLocation 
[v21.1.9-1.21.1] - 2024-09-18
Added
- Add 
TooltipBuilder::setTooltipLineProcessor 
[v21.1.8-1.21.1] - 2024-09-18
Changed
- Pass original 
ClientTooltipPositionerto tooltip positioner factory inTooltipBuilder 
[v21.1.7-1.21.1] - 2024-09-17
Fixed
- Fix 
LivingDropsCallbackfailing to capture player drops on Fabric - Fix some keybinds failing to trigger properly on Fabric
 
[v21.1.6-1.21.1] - 2024-09-17
Changed
- Overhaul 
AbstractRegistriesDatapackGeneratorso that generated registry values can be used in other data providers 
[v21.1.5-1.21.1] - 2024-09-16
Added
- Add new data attachment api
 
Changed
- Revert codec support for capabilities, use attachments for that
 - Rename 
PlayerSet::notifytoPlayerSet::broadcast 
[v21.1.4-1.21.1] - 2024-09-14
Changed
- Support codecs for capabilities
 - Simplify 
ModelLayerFactoryimplementation 
[v21.1.3-1.21.1] - 2024-09-13
Added
- Add 
ScreenSkipper - Add 
GsonCodecHelper - Add 
TagFactory 
[v21.1.2-1.21.1] - 2024-09-12
Added
- Add 
RegistryManager::registerTrimMaterialandRegistryManager::registerLootTable 
[v21.1.1-1.21.1] - 2024-09-11
Added
- Add 
RegistryManager::registerDataComponentType 
Changed
- Minor updates for 
ConfigTranslationsManager - Hide some annoying toast messages in development environments
 
Removed
- Remove 
BlockEntityHelper 
[v21.1.0-1.21.1] - 2024-09-10
- Port to Minecraft 1.21.1
 
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[v8.1.29-1.20.1] - 2025-03-09
Fixed
- Fix crash when breaking blocks with some Tinkers' Construct tools
 
[v8.1.28-1.20.1] - 2025-03-08
Changed
- Update bundled Puzzles Access Api mod to v20.1.1
 
[v8.1.27-1.20.1] - 2025-03-08
Added
- Backport Capability System v3 from 1.20.4 version so that the Cardinal Components mod is no longer required
 
Changed
- Update Fabric Loom to v1.9
 - Update bundled Puzzles Access Api mod
 - Update a bunch of data providers
 
[v8.1.26-1.20.1] - 2025-03-04
Changed
- Include Mixin Extras library
 
[v8.1.25-1.20.1] - 2024-11-15
Fixed
- Fix crash due to out of bounds index in 
TooltipRenderHelper::createClientComponents 
[v8.1.24-1.20.1] - 2024-10-04
Fixed
- Fix 
DynamicPackResourcesfailing to generate some resources 
[v8.1.23-1.20.1] - 2024-09-09
Fixed
- Fix 
DynamicPackResourcesproviding an invalid pack when dynamic data generation fails 
[v8.1.22-1.20.1] - 2024-08-26
Fixed
- Fix item model display overrides being able to compute before models have been reloaded on Fabric
 
[v8.1.21-1.20.1] - 2024-06-26
Fixed
- Fix 
PlayerInteractEvents$AttackBlocknot firing for creative players on Fabric 
[v8.1.20-1.20.1] - 2024-05-26
Fixed
- Attempt to improve handling for missing child reload listeners during resource reloading
 
[v8.1.19-1.20.1] - 2024-05-09
Changed
- Update mod list printing to better reflect child mod relations (backport from 1.20.4)
 
Fixed
- Fix crash involving 
GatherPotentialSpawnsCallbackwhen the ModernFix mod is installed on Forge 
[v8.1.18-1.20.1] - 2024-03-20
Fixed
- Fix 
LivingDeathCallbacknot running for players on Fabric 
[v8.1.17-1.20.1] - 2024-02-16
Fixed
- Fix item model overrides not applying on Forge
 
[v8.1.16-1.20.1] - 2024-02-01
Fixed
- Fix crash when breaking crops with Farmer's Delight's sickle
 
[v8.1.15-1.20.1] - 2024-01-28
Fixed
- Fix 
TagsUpdatedCallback&ServerLifecycleEvents.Startingnot running on dedicated servers 
[v8.1.14-1.20.1] - 2024-01-24
Changed
- Delay event initialization to avoid being blamed for class loading errors
 
Fixed
- Fix killing entities with custom damage sources not yielding any experience
 - Fix compatibility with Hephaestus by moving problematic code to the relevant mod, so only that one mod is incompatible until the issues is properly resolved on Hephaestus' end
 
[v8.1.13-1.20.1] - 2024-01-11
Fixed
- Fixed unloading of a server config placed in a world's 
serverconfigdirectory failing and causing some processes to hang 
[v8.1.12-1.20.1] - 2024-01-05
Fixed
- Fixed missing 
ToolTypeHelper::isTridentmethod 
[v8.1.11-1.20.1] - 2023-12-03
Fixed
- Fixed anonymous network handlers allowing for duplicate ids
 
[v8.1.10-1.20.1] - 2023-12-03
Changed
- Use string contexts for network handler ids instead of numeric
 
[v8.1.9-1.20.1] - 2023-11-19
Changed
- Minor capability related code cleanup
 - Error messages from 
BlockConversionHelpernow include more context 
Fixed
- Fixed 
RegistryEntryAddedCallbacknot being synchronized correctly 
[v8.1.8-1.20.1] - 2023-11-07
Fixed
- Implement a temporary workaround for screens crashing the game when opened with Controlify installed
 
[v8.1.7-1.20.1] - 2023-11-07
Added
- Added 
ComponentHelperfor converting various text instances back toComponent - Added 
LivingEquipmentChangeCallback 
Changed
- Improve parity for 
BlockEvents.Break,LivingAttackCallback, andPlayerInteractEvents.AttackBlockbetween different mod loaders 
Fixed
- Ensure backwards compatibility of 
NetworkHandlerV3 
[v8.1.6-1.20.1] - 2023-10-29
Changed
- Moved methods for registering block and fluid render types to 
ClientAbstractions 
Fixed
- Fixed a crash with Forgified Fabric Api due to a faulty Mixin in 
ModelProvider 
[v8.1.5-1.20.1] - 2023-10-29
Changed
- Adjusted 
ModelEventsto work with ModernFix's dynamic resources 
[v8.1.4-1.20.1] - 2023-10-28
Fixed
- Fixed chunk events chunk type
 
[v8.1.3-1.20.1] - 2023-10-28
Changed
- Disabled 
LivingEvents$BreatheandLivingEvents$Drownto be able to lower the required Forge version to 47.1.3 - Added a way in 
DataProviderHelperto support legacy data providers - Refactored some parts of 
NetworkHandlerV3 - Be more careful when firing 
RegistryEntryAddedCallbackby introducing a lock and catching possible exceptions to avoid the whole registration process from failing - Ensure exceptions thrown during model events are caught and no longer crash the game
 
Fixed
- Fixed dynamic data generation failing on Windows
 
[v8.1.2-1.20.1] - 2023-10-27
Fixed
- Set required Forge version so that NeoForge is still supported
 
[v8.1.1-1.20.1] - 2023-10-26
Fixed
- Fixed event classes possibly being loaded too early under some circumstances, resolves crashes on start-up when installed together with e.g. Stylish Effects
 - Fixed required Forge version being incorrectly set (47.2.0 is required now, not 47.1.0)
 - Fixed Puzzles Lib crashing the game on Forge when there are any unmet mod version requirements, preventing the Forge screen informing the user from showing
 
[v8.1.0-1.20.1] - 2023-10-26
- Public release of all versions that have come after v8.0.24
 
Changed
- Expanded 
AbstractModelProvider 
[v8.0.41-1.20.1] - 2023-10-24
Added
- Added common helper methods for obtaining 
RenderTypes - Added 
BlockConversionHelperfrom merging various block related utility methods 
[v8.0.40-1.20.1] - 2023-10-23
Changed
- Refined performance for new model events on Forge
 
[v8.0.39-1.20.1] - 2023-10-22
Added
- Added 
ModifyUnbakedModel,ModifyBakedModelandAdditionalBakedModelfor finer control over models based entirely on mod loader specific implementations - Added helper methods for setting 
BlockItemblocks 
Changed
- Providing the 
Minecraftinstance is no longer required inClientAbstractions RegistryEntryAddedCallbacknow includes the current registry- Deprecated old model events
 
Fixed
- Fixed 
RegistryEntryAddedCallbackrunning too early on Forge, leading to problems with implementations relying on content registered during the event 
[v8.0.38-1.20.1] - 2023-10-20
Added
- Added 
GatherDebugTextEvents$LeftandGatherDebugTextEvents$Right - Added 
LivingEvents$BreatheandLivingEvents$Drown - Added 
RegistryEntryAddedCallback - Added 
ServerChunkEvents$WatchandServerChunkEvents$Unwatch 
Changed
- Allow for overriding global server configs when a local server config is present per world
 - Allow for creating common events that do not necessarily require a mod loader specific event to be implemented
 
Fixed
- Fixed an error being logged on Quilt when unsuccessfully trying to access to Fabric internal field required for the biome modifications api
 - Fixed a crash when trying to deserialize invalid 
ResourceLocations provided by config entries 
[v8.0.37-1.20.1] - 2023-10-04
Changed
- No longer set 
ExistingFileHelperon data providers during Forge data generation - A few new 
nullchecks inAbstractLanguageProvider 
[v8.0.36-1.20.1] - 2023-10-01
Changed
- Reverted experimental changes to 
AbstractModelProvider 
[v8.0.35-1.20.1] - 2023-09-29
Added
- Added 
ForgeDataProviderContext$Factoryto better support data generation on Forge 
Changed
- Some experimental changes to 
AbstractModelProviderto hopefully fix runtime on Forge mods ConfigDataSetcan now exclude entries by marking them with!
[v8.0.34-1.20.1] - 2023-09-28
Added
- Added 
BlockEvents$BreakandBlockEvents$DropExperience - Added 
TickingBlockEntityandTickingEntityBlockhelper interfaces for creating ticking block entities without the need to use static ticker methods - Added 
AddToastCallbackfor handling client-side toasts - Added 
ScreenEvents$BeforeInitV2andScreenEvents$AfterInitV2using type parameters for the screen instance - Added 
CommonAbstractions::createPackInfo - Added 
ModConstructor::onRegisterBlockInteractionsfor registering block conversions such as strippable logs or tillable dirt blocks - Added 
GrindstoneEvents$UpdateandGrindstoneEvents$Use - Added 
TypedTagFactoryandBoundTagFactoryfor creating newTagKeys, tag keys have therefore been removed from the newRegistryManager - Added 
CombinedIngredientsfor creating more complex instances ofIngredient - Added 
ShapesHelper, mainly useful for rotating aVoxelShapeto a givenDirection - Added 
DynamicPackResourcesfor generating resources via data providers at runtime - Added 
RegistryHelperfor various vanilla registry related helper methods 
Changed
- The Puzzles Access Api mod is now bundled with Puzzles Lib
 - Overhauled data generation classes, moving and reworking them for the common project to be usable in the new 
DynamicPackResources - Refined 
AbstractModPackResourcesto better handle mod ids as well as allow for hiding a pack, a Forge exclusive feature - A mod providing biome modifications on Forge no longer needs to include its own biome modifier, the file is now automatically generated using a built-in data pack
 - Overhauled internal implementation of 
ItemAttributeModifiersCallback 
Fixed
- Fixed a class loading issue related to 
ItemModelDisplayOverridesandEventInvokerRegistryimplementations - Fixed 
AbstractParticleDescriptionProvidernot verifying the existence of used textures - Fixed an issue where the current game server wouldn't be properly stored on Fabric
 
[v8.0.33-1.20.1] - 2023-09-09
Changed
- Reworked reload listener handling introduced in the last version to fix issues with mod loading getting stuck due to reload listeners that have not been properly completed
 - Changed handling of internal ids for multiple network handlers using the same namespace
 
[v8.0.32-1.20.1] - 2023-09-08
Added
- Added 
ClientParticleTypesfor registering fully client-side particle providers 
Changed
ContentRegistrationFlagsare now enabled via implementingBaseModConstructor::getContentRegistrationFlags- Fabric is now more strict in enforcing 
ContentRegistrationFlagseven when not strictly required to improve parity with Forge - Greatly expanded upon 
ParticleProvidersContextto allow for more kinds of particle types to be registered - Overhauled 
ForwardingReloadListenerto support forwarding a collection ofPreparableReloadListenerinstances instead of just a single one - Refactored 
FabricReloadListenerinto a more generalFabricReloadListenerHelperclass 
[v8.0.31-1.20.1] - 2023-09-07
Added
- Add access widener for 
EntityRenderDispatcher#rendererson Fabric 
[v8.0.30-1.20.1] - 2023-09-05
Added
- Puzzles Lib now prints a list of all installed mods to the log on start-up in an effort to help diagnose issues when no crash-report has been generated or provided
 - This feature is only enabled on Forge, as Fabric Loader already does just that by default
 
Changed
- Refactored some mod loader specific code related to mod list entries
 
Fixed
- Fixed 
LivingDeathCallbackonly running on the server-side on Fabric 
[v8.0.29-1.20.1] - 2023-09-05
Added
- Added 
RenderLivingEvents 
[v8.0.28-1.20.1] - 2023-09-04
Changed
- Deprecated 
DistType, this includes some refactors inNetworkHandlerV2 
Fixed
- Fixed client-side interaction events potentially running after common interaction events on Fabric
 
[v8.0.27-1.20.1] - 2023-09-02
Added
- Added a helper system for checking if a mod is installed on the server-side
 
[v8.0.26-1.20.1] - 2023-08-19
Added
- Added a new separate 
RegistryManagerthat returns instances ofHolder.Referenceinstead of our ownRegistryReferenceimplementation to be more inline with the vanilla registration system 
[v8.0.25-1.20.1] - 2023-08-17
Added
- Added 
InteractionInputEvents$AttackV2,InteractionInputEvents$UseandInteractionInputEvents$Pick - Added 
PlayerInteractEvents$AttackBlockV2andPlayerInteractEvents$UseItemV2 - Added a few new helper methods to 
ScreenHelper 
Changed
- Cleaned up small parts to the event system to reduce duplicate code
 - Revised implementation of all 
PlayerInteractEventsto match much more closely between Forge and Fabric ServerEntityLevelEvents$LoadV2now fires for all loaded entities, not just when they are loaded from chunk storage, but also when they are freshly spawned in
Fixed
- Fixed brewing recipes not showing in some recipe viewer mods on Forge
 
[v8.0.24-1.20.1] - 2023-08-16
Changed
- Reworked implementation of 
LivingDropsCallbackon Fabric to make it less likely for loot modifications from other mods to completely break all loot for a mob 
Fixed
- Fixed 
ServiceProviderHelpernot loading as early as it should - Removed debug code related to testing out new key binding features
 
[v8.0.23-1.20.1] - 2023-08-14
Added
- Added 
CommonAbstractions::getMobSpawnType - Some refactors to 
ServerEntityLevelEvents, including the addition ofServerEntityLevelEvents$Spawn 
Fixed
- Fixed 
ConfigDataSetfailing to dissolve when duplicate values are present 
[v8.0.22-1.20.1] - 2023-08-14
Added
- Added 
GatherPotentialSpawnsCallback - Added 
ServerEntityLevelEvents$LoadV2,ServerEntityLevelEvents$Loadis now deprecated - Added 
CheckMobDespawnCallback - Added 
EntityRidingEvents$StartandEntityRidingEvents$Stop - Added 
CoreShadersContexttoClientModConstructorfor registering built-in shaders - Added 
KeyActivationContextto helper with registering keybinds that only work when a screen is open or while playing (no screen is open) 
Changed
- Overhauled 
GameRulesFactoryto add many convenient overloads, as well as cleaning up the Forge implementation - A few new methods in 
AbstractLanguageProviderfor creative tabs and game rules - Adjusted 
ScreenTooltipFactoryto no longer require aFontinstance - Refactored 
KeyMappingsContextto require aKeyActivationContextinstance - Reworked methods for registering new 
PoiTypes inRegistryManagerto no longer require a customPoiTypeBuilderinstance - Migrate some internals on Fabric to Fabric Api's new model loading api
 
Fixed
- Fixed 
ScreenTooltipFactoryremoving empty lines from tooltips 
[v8.0.21-1.20.1] - 2023-08-12
Fixed
- Fixed start-up crash when the Emojiful mod is installed
 
[v8.0.20-1.20.1] - 2023-08-12
Fixed
- Fixed implementation errors in 
UseItemEvents.Tickon Fabric which would prevent successfully using items like bows and tridents 
[v8.0.19-1.20.1] - 2023-08-11
Added
- Added 
TagProviderExtension 
[v8.0.18-1.20.1] - 2023-08-10
Added
- Added 
GameRenderEvents.BeforeandGameRenderEvents.After - Added helper methods to 
ClientAbstractionsfor gettingpartialTickandSearchRegistry 
Changed
- Deprecated 
SearchRegistryContext 
[v8.0.17-1.20.1] - 2023-08-04
Changed
- Custom smithing upgrade recipes without a smithing template are now automatically turned into crafting recipes with the same items and functionality to be visible in recipe viewers like JEI without having to provide dedicated support
 
[v8.0.16-1.20.1] - 2023-08-01
Fixed
- Fixed 
LivingHurtCallbacknot firing for players on Fabric - Fixed 
UseItemEvents$Tickalways having a wronguseDurationvalue - Fixed 
PlayerInteractEvents$UseBlockandPlayerInteractEvents$UseItemnot sending packets to the server for successful interactions if a result other thanInteractionResult#SUCCESSis returned from the callback 
[v8.0.15-1.20.1] - 2023-07-30
Fixed
- Reworked 
ServerEntityLevelEvents$LoadandClientEntityLevelEvents$Loadon Fabric to prevent a potential memory leak when trying to prevent an entity from loading in 
[v8.0.14-1.20.1] - 2023-07-30
Fixed
- Fixed an issue with the 
Sheetsclass accidentally being accessed too early, preventing modded materials such as wood types from registering correctly, which would lead to crashes when e.g. rendering signs 
[v8.0.13-1.20.1] - 2023-07-26
Added
- Added 
ScreenTooltipFactory 
[v8.0.12-1.20.1] - 2023-07-23
Fixed
- Fixed a crash when calling 
ModelEventson Forge 
[v8.0.11-1.20.1] - 2023-07-23
Added
- Added 
RenderHighlightCallback - Added 
RenderLevelEvents 
Changed
- Shifted injection points for 
InventoryMobEffectsCallbackto be compatible with the Just Enough Items mod on Fabric - Slightly changed some injection point shifts related to 
AnimalTameCallback 
[v8.0.10-1.20.1] - 2023-07-15
Added
- Added 
ScreenTooltipEvents.Render - Added two helper methods for getting 
mouseXandmouseYtoScreenHelper 
[v8.0.9-1.20.1] - 2023-07-12
Added
- Added 
RenderBlockOverlayCallback - Added 
FogEvents$RenderandFogEvents$ComputeColor 
Fixed
- Fixed 
ModelEventscrashing on Fabric 
[v8.0.8-1.20.1] - 2023-07-06
Changed
- Migrate 
ModelEventsto common event system 
[v8.0.7-1.20.1] - 2023-07-02
Fixed
- Fixed a sound related crash on Fabric
 
[v8.0.6-1.20.1] - 2023-07-02
Fixed
- Fixed new mod loading architecture not allowing for multiple config handlers per mod
 
[v8.0.5-1.20.1] - 2023-07-02
Fixed
- Fixed a crash when rendering items on Fabric
 
[v8.0.4-1.20.1] - 2023-07-01
Changed
- Once again invert 
ItemDisplayContexts when registering item model perspective overrides 
[v8.0.3-1.20.1] - 2023-07-01
Added
- Added 
LoadCompleteCallback 
Changed
- Internal changes to allow for more versatile mod loading
 - Separate item model perspective now use built-in features on Forge and longer require a core mod there
 
[v8.0.2-1.20.1] - 2023-06-29
Fixed
- Re-upload to fix failed reobfuscation on Forge
 
[v8.0.1-1.20.1] - 2023-06-29
Added
- Added 
DispenseBehaviorsContext 
Changed
ModConstructor::onCommonSetupandClientModConstructor::onClientSetupnow always run deferred on Forge, eliminating the previousModLifecycleContextargument
Fixed
- A few possible 
java.util.ConcurrentModificationExceptions during start-up are now prevented by running setup tasks deferred on Forge 
[v8.0.0-1.20.1] - 2023-06-25
- Ported to Minecraft 1.20.1
 


