90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...

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.10.8-1.21.10] - 2025-11-30

Changed

  • Revert preventing clients from disconnecting for failed attachment syncs on Fabric

Fixed

  • Fix keybind conflicts not showing on Fabric
  • Fix LivingDropsCallback failing to capture entity equipment on Fabric

[v21.10.7-1.21.10] - 2025-11-16

Changed

  • Support built-in data packs that are enabled by default and can be manually disabled by players
  • Prevent clients from disconnecting for failed attachment syncs on Fabric

Fixed

  • Fix start-up crash due to an unregistered event callback on Fabric

[v21.10.6-1.21.10] - 2025-11-14

Added

  • Add BeforeCharacterType & AfterCharacterType events

[v21.10.5-1.21.10] - 2025-10-21

Changed

  • ItemTooltipCallback is no longer called when not on the render thread, to prevent a crash caused from splitting text or measuring text width

[v21.10.4-1.21.10] - 2025-10-20

Fixed

  • Fix java.lang.UnsupportedOperationException when joining a world when a mod is trying to remove existing mob spawns on NeoForge

[v21.10.3-1.21.10] - 2025-10-16

Added

  • Add ParticleProvidersContext::registerParticleRenderType

Fixed

  • Fix a crash that occurred when trying to set an attachment value on NeoForge

[v21.10.2-1.21.10] - 2025-10-11

Changed

  • Update for NeoForge 21.10.7-beta
  • Small refactors in AbstractLanguageProvider
  • Attachment values are no longer set when the old value is equal to the new value

Fixed

  • Fix duplicate key categories
  • Fix GuiGraphicsHelper::blitNineSlicedSprite using an invalid gui sprites atlas location

[v21.10.1-1.21.10] - 2025-10-09

Changed

  • Update for NeoForge 21.10.3-beta

[v21.10.0-1.21.10] - 2025-10-08

Changed

  • Update to Minecraft 1.21.10

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.10.7-1.21.10] - 2025-11-16

Changed

  • Support built-in data packs that are enabled by default and can be manually disabled by players
  • Prevent clients from disconnecting for failed attachment syncs on Fabric

Fixed

  • Fix start-up crash due to an unregistered event callback on Fabric

[v21.10.6-1.21.10] - 2025-11-14

Added

  • Add BeforeCharacterType & AfterCharacterType events

[v21.10.5-1.21.10] - 2025-10-21

Changed

  • ItemTooltipCallback is no longer called when not on the render thread, to prevent a crash caused from splitting text or measuring text width

[v21.10.4-1.21.10] - 2025-10-20

Fixed

  • Fix java.lang.UnsupportedOperationException when joining a world when a mod is trying to remove existing mob spawns on NeoForge

[v21.10.3-1.21.10] - 2025-10-16

Added

  • Add ParticleProvidersContext::registerParticleRenderType

Fixed

  • Fix a crash that occurred when trying to set an attachment value on NeoForge

[v21.10.2-1.21.10] - 2025-10-11

Changed

  • Update for NeoForge 21.10.7-beta
  • Small refactors in AbstractLanguageProvider
  • Attachment values are no longer set when the old value is equal to the new value

Fixed

  • Fix duplicate key categories
  • Fix GuiGraphicsHelper::blitNineSlicedSprite using an invalid gui sprites atlas location

[v21.10.1-1.21.10] - 2025-10-09

Changed

  • Update for NeoForge 21.10.3-beta

[v21.10.0-1.21.10] - 2025-10-08

Changed

  • Update to Minecraft 1.21.10

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.8.9-1.21.8] - 2025-10-23

Changed

  • Add access widener for CreativeModeInventoryScreen$SlotWrapper

Fixed

  • Fix java.lang.UnsupportedOperationException when joining a world when a mod is trying to remove existing mob spawns on NeoForge

[v21.8.8-1.21.8] - 2025-08-13

Changed

  • Rework freezing of ConfigHolder and RegistryManager

[v21.8.7-1.21.8] - 2025-08-13

Added

  • Add RegistryManager::prepareTag
  • Expand methods in CustomItemModelOutput

[v21.8.6-1.21.8] - 2025-08-11

Added

  • Add RenderPropertyKey::onUpdateEntityRenderState

[v21.8.5-1.21.8] - 2025-08-10

Changed

  • Replace HudStatusBarHeightRegistry with implementation from Fabric

Fixed

  • Fix entity interaction events not functioning properly on Fabric
  • Fix lenient validation for restricted config values

[v21.8.4-1.21.8] - 2025-08-04

Added

  • Add AbstractLootProvider.Blocks::createHeadDrop
  • Add CommonHelper::getRegistryAccess

Changed

  • Tag contents constructed via AbstractTagProvider are now sorted to ensure consistent results for dynamically added data pack registry entries

[v21.8.3-1.21.8] - 2025-07-31

Added

  • Add PackRepositorySourcesContext::registerBuiltInPack
  • Support built-in packs in DataProviderHelper
  • Add TransformingForwardingList

Changed

  • pack.mcmeta is now always created during data generation for every mod

[v21.8.2-1.21.8] - 2025-07-27

Fixed

  • Fix Config has already been registered exception

[v21.8.1-1.21.8] - 2025-07-27

Added

  • Add AnchorPoint
  • Add CommonHelper::getBlockableEventLoop

Changed

  • Overhaul ComponentHelper implementation to properly support legacy formatting codes passed as part of a string

Fixed

  • Fix some quirks with player interaction events on Fabric

[v21.8.0-1.21.8] - 2025-07-18

  • Update to Minecraft 1.21.8

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.13-1.21.5] - 2025-10-23

Changed

  • Add access widener for CreativeModeInventoryScreen$SlotWrapper

Fixed

  • Fix java.lang.UnsupportedOperationException when joining a world when a mod is trying to remove existing mob spawns on NeoForge

[v21.5.12-1.21.5] - 2025-05-29

Fixed

  • Temporary workaround for ClientLifecycleEvents$Started firing too late for registering render layers on NeoForge

[v21.5.11-1.21.5] - 2025-05-29

Added

  • Add ItemTooltipRegistryV3

Changed

  • Update custom configuration screens to better handle startup configs
  • Update RegistryManager::registerEntityDataSerializer to use new Fabric Api hook
  • Rework CreativeModeTabHelper, including support for painting variants
  • Update PlayerNetworkEvents to use Fabric Api's new events in ServerPlayerEvents
  • Update AnvilEvents for NeoForge 21.5.73+

[v21.5.10-1.21.5] - 2025-05-01

Added

  • Add MenuProviderWithData

[v21.5.9-1.21.5] - 2025-04-23

Added

  • Add GuiLayersContext::setEventPhase

[v21.5.8-1.21.5] - 2025-04-23

Added

  • Add GuiLayersContext
  • Add SpawnerDataBuilder
  • Add ItemTooltipRegistryV2
  • Add ContainerMenuHelper::openMenu

Changed

  • Allow configs to be available during start-up
  • Make custom registries optional to handle mod presence mismatches between clients and servers more leniently on Fabric

Fixed

  • Only trigger CommandOverrides when commands are allowed
  • Fix event phase converters not respecting the ordering of all parent event phases

[v21.5.7-1.21.5] - 2025-04-14

Changed

  • Rework implementation for menu types with additional data sent to clients

[v21.5.6-1.21.5] - 2025-04-14

Added

  • Add SimpleContainerImpl
  • Add RenderPipelinesContext
  • Add some overloads to HSV

Fixed

  • Fix RenderPipelines failing to register on NeoForge

[v21.5.5-1.21.5] - 2025-04-10

Added

  • Add ClientCommonHelper
  • Add GuiHeightHelper::getMaxHeight & GuiHeightHelper::getMinHeight

Fixed

  • Fix ClassCastException for PlayLevelSoundEvents on Fabric

[v21.5.4-1.21.5] - 2025-04-03

Added

  • Add HSV utility class
  • Add one more RegistryManager::registerSpawnEggItem overload

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$ResourceLoaderContext as it can no longer be supported with current APIs

Fixed

  • Fix start-up crash on Fabric due to a faulty Mixin
  • Temporarily fix ClientLifecycleEvents$Started not 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 Minecraft being null

[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, and CodecExtras::decodeOnly

Changed

  • Complete networking refactor, replacing NetworkHandler with ModConstructor::onRegisterPayloadTypes, and adding support for configuration phase messages
  • Untie PlayerSet from only being able to handle sending packets
  • Split CommonAbstractions into multiple classes such as EntityHelper, EnchantingHelper, and ExplosionEventHelper
  • Split ClientAbstractions into multiple classes such as GuiHeightHelper, ClientWoodTypeRegistry, and RenderTypeHelper
  • Merge EntityAttributesCreateContext & EntityAttributesModifyContext into EntityAttributesContext
  • Refactor ClientStartedCallback into ClientLifecycleEvents
  • 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.14-1.21.4] - 2025-10-23

Changed

  • Add access widener for CreativeModeInventoryScreen$SlotWrapper

[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::registerDataProviders failing 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 AbstractLanguageProvider to check for missing translation keys
  • Support providing a separate RegistrySetBuilder outside of a dedicated DataProvider in DataProviderHelper

Fixed

  • Fix CommonAbstractions::hasChannel not 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 FabricEventFactory to handle faulty return values more leniently

[v21.4.8-1.21.4] - 2025-02-17

Changed

  • Add RegistryAccess to DataAttachmentRegistry.Builder

[v21.4.7-1.21.4] - 2025-02-09

Added

  • Add ItemModelGenerationHelper
  • Add additional methods to ModelLocationHelper

Fixed

  • Fix AbstractParticleProvider being unable to properly locate existing textures
  • Fix AbstractParticleProvider failing to create particle definition files

[v21.4.6-1.21.4] - 2025-02-09

Added

  • Add ItemModelsContext, deprecating SpecialBlockModelTypesContext

[v21.4.5-1.21.4] - 2025-02-07

Added

  • Add FuelValuesContext, deprecating RegisterFuelValuesCallback

Changed

  • Update for NeoForge 21.4.84+

[v21.4.4-1.21.4] - 2025-02-06

Changed

  • Allow BlockStateResolverContext to add UnbakedModel instances

Fixed

  • Fix BlockStateResolverContext not caching manually loaded UnbakedModel instances on NeoForge
  • Fix BlockStateResolverContext constantly re-baking all previously located UnbakedBlockStateModel instances on NeoForge

[v21.4.3-1.21.4] - 2025-02-05

Added

  • Add an alternative BlockStateResolverContext::registerBlockStateResolver implementation for preparing asynchronously loaded resources

Changed

  • Rework methods in ModelLoadingHelper to return CompletableFuture instances
  • Move selected item name together with gui height variables on Fabric just as NeoForge does

Fixed

  • Fix ShieldBlockCallback firing when the entity is not blocking on NeoForge
  • Fix ClientAbstractions::getGuiRightHeight and ClientAbstractions::getGuiLeftHeight providing 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 AdditionalModelsContext until ModelLoadingPlugin initialization on Fabric

Fixed

  • Fix AbstractModelProvider generating 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 RenderNameTagEvents with RenderNameTagCallback
  • Replace ExtractRenderStateCallback with ExtractRenderStateCallbackV2
  • Rework ModelEvents into ModelLoadingEvents, BlockModelLoadingEvents, and ModelBakingCompletedCallback
  • Refactor ColorProvidersContext into BlockColorsContext

Removed

  • Remove ContentRegistrationFlags
  • Remove NeoForgeDataProviderContext
  • Remove LootTableLoadEvents
  • Remove RenderPlayerEvents
  • Remove BuildCreativeModeTabContentsContext
  • Remove CreativeModeTabContext with CreativeModeTabConfigurator
  • Remove BuiltinModelItemRendererContext with BuiltinItemRenderer and ReloadingBuiltInItemRenderer
  • Remove ItemModelPropertiesContext
  • Remove ItemModelDisplayOverrides
  • Remove AbstractRegistriesDatapackGenerator
  • Remove AbstractModelProvider with ModItemModelProvider

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.3.25-1.21.3] - 2025-10-23

Changed

  • Add access widener for CreativeModeInventoryScreen$SlotWrapper

[v21.3.24-1.21.3] - 2025-01-29

Fixed

  • Fix CompostableBlocksContext running too early to use item objects directly again

[v21.3.23-1.21.3] - 2025-01-29

Fixed

  • Fix CompostableBlocksContext running too early to use item objects directly

[v21.3.22-1.21.3] - 2025-01-29

Added

  • Add CompostableBlocksContext

[v21.3.21-1.21.3] - 2025-01-29

Added

  • Add DataPackRegistriesContext
  • Add AbstractRecipeProvider::foodCooking
  • Add BlockFamilyBuilder::hangingSign

[v21.3.20-1.21.3] - 2025-01-28

Added

  • Add LootTableLoadCallback, deprecating LootTableLoadEvents
  • Add TransformingRecipeOutput

[v21.3.19-1.21.3] - 2025-01-26

Added

  • Add ClientAbstractions::registerWoodType
  • Add one more RegistryManager::registerBlockItem overload

Removed

  • Remove BlockFamilyBuilder::wallSign

[v21.3.18-1.21.3] - 2025-01-24

Added

  • Add QuickMoveRuleSet
  • Add ArmorMaterialBuilder
  • Add PickProjectileCallback
  • Add EnderPearlTeleportCallback
  • Add BuildCreativeModeTabContentsCallback
  • Add AbstractLanguageProvider$BlockFamilyBuilder
  • Add RegistryManager::registerCreativeModeTab
  • Add RegistryManager::registerRecipeBookCategory
  • Add internal ModEnchantCommand
  • Add a few new transitive access wideners

Fixed

  • Avoid unnecessarily high memory usage from holding on to top level model locations after model events have completed
  • Fix setting empty lines for TooltipBuilder throwing an exception under some circumstances
  • Fix unable to set a new widget tooltip using vanilla methods when TooltipBuilder has been used for the widget
  • Fix network packets executing with one tick delay on Fabric

Removed

  • Remove LivingBreathEvents as the implementation is too invasive to maintain on Fabric

[v21.3.17-1.21.3] - 2025-01-07

Added

  • Add AbstractEquipmentModelProvider
  • Add ClientAbstractions::isEffectVisibleInGui & ClientAbstractions::isEffectVisibleInInventory
  • Add missing methods to InteractionResultHelper
  • Add a few new transitive access wideners
  • Add one more RegistryManager::registerItem overload

Changed

  • Support instruments in AbstractRegistriesDatapackGenerator
  • Overhaul AbstractRegistriesDatapackGenerator into AbstractDatapackRegistriesProvider

Fixed

  • Fix GatherEffectScreenTooltipCallback on Fabric

[v21.3.16-1.21.3] - 2024-12-27

Added

  • Add SingleChestRenderer
  • Add ClientAbstractions::getPartialTick for extracting partial tick time from EntityRenderState
  • Add ModelLocationHelper and ModelTemplateHelper from preparing to move some helper methods out of AbstractModelProvider

Changed

  • Pass potion name parameter in RegistryManager::registerPotion

Fixed

  • Fix cancelling InventoryMobEffectsCallback leading to an exception on Fabric

[v21.3.15-1.21.3] - 2024-12-25

Changed

  • Allow setting empty lines for TooltipBuilder to prevent the tooltip from drawing

[v21.3.14-1.21.3] - 2024-12-24

Changed

  • Adjust RangedSliderButton implementation to no longer require an access widener to help compatibility with the Cloth Config mod
  • ClientAbstractions::registerConfigScreenFactory now merges configs for all provided mod ids instead of overriding the configs of the original mod

[v21.3.13-1.21.3] - 2024-12-08

Changed

  • Migrate ExtractRenderStateCallback to dedicated NeoForge event

[v21.3.12-1.21.3] - 2024-12-06

Changed

  • Convert some methods back to fields in InteractionResultHelper
  • Allow ModLoaderEnvironment::isDevelopmentEnvironment and ModLoaderEnvironment::isDevelopmentEnvironmentWithoutDataGeneration to check any mod id

Fixed

  • Fix ExplosionEvents$Start failing to cancel on Fabric

[v21.3.11-1.21.3] - 2024-11-27

Changed

  • Supply missing registries to AddDataPackReloadListenersCallback

[v21.3.10-1.21.3] - 2024-11-27

Fixed

  • Fix RegisterFuelValuesCallback leading to an OutOfMemoryError on NeoForge

[v21.3.9-1.21.3] - 2024-11-27

Added

  • Add additional overloads for RegistryManager::registerBlockItem, RegistryManager::registerBlockEntityType, and RegistryManager::registerPoiType
  • Add ModLoaderEnvironment::isPuzzlesLibDevelopmentEnvironmentWithoutDataGeneration and ModLoaderEnvironment::isPuzzlesLibDevelopmentEnvironment

Fixed

  • Fix RegistryManager::registerBlockItem failing to copy a block's name for the corresponding item

[v21.3.8-1.21.3] - 2024-11-25

Fixed

  • Fix transmute crafting recipes copying all input components

[v21.3.7-1.21.3] - 2024-11-25

Fixed

  • Fix clearing all effects crashing on Fabric
  • Fix AbstractRecipeProvider failing to generate some recipes occasionally

[v21.3.6-1.21.3] - 2024-11-24

Changed

  • Implement missing methods for AbstractRecipeProvider

[v21.3.5-1.21.3] - 2024-11-23

Changed

  • Implement ExtractRenderStateCallback using a dedicated mixin

[v21.3.4-1.21.3] - 2024-11-23

Added

  • Add ExtractRenderStateCallback
  • Add RenderPropertyKey

[v21.3.3-1.21.3] - 2024-11-19

Added

  • Add NativeImageHelper

Fixed

  • Fix LivingChangeTargetCallback implementation on Fabric

[v21.3.2-1.21.3] - 2024-11-19

Fixed

  • Update GuiGraphicsHelper to account for removed blitOffset parameter in GuiGraphics
  • Fix ClientAbstractions::registerConfigScreenFactory throwing an exception on NeoForge

[v21.3.1-1.21.3] - 2024-11-18

Added

  • Add InteractionResultHelper

Fixed

  • Fix PuzzlesLib::isDevelopmentEnvironmentWithoutDataGeneration being inverted

[v21.3.0-1.21.3] - 2024-11-15

  • Port to Minecraft 1.21.3

Added

  • Add ClientAbstractions::registerConfigScreenFactory

Changed

  • Rework RenderNameTagCallback into RenderNameTagEvents for adapting Minecraft changes
  • Replace FuelBurnTimesContext with RegisterFuelValuesCallback
  • Rename CopyComponents recipes to Transmute recipes
  • Replace ChatMessageReceivedEvents with a simplified ChatMessageReceivedCallback

Removed

  • Remove MinecartTypeRegistry
  • Remove RenderGuiCallback in favor of RenderGuiEvents
  • Remove GenericExplosionHelper

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.39-1.21.1] - 2025-10-23

Changed

  • Add access widener for CreativeModeInventoryScreen$SlotWrapper

[v21.1.38-1.21.1] - 2025-08-11

Added

  • Add PackRepositorySourcesContext::registerBuiltInPack
  • Support built-in packs in DataProviderHelper

[v21.1.37-1.21.1] - 2025-08-05

Fixed

  • Fix ShieldBlockCallback being called even when not actively blocking on NeoForge

[v21.1.36-1.21.1] - 2025-05-04

Changed

  • Allow DataProviderHelper to support RegistrySetBuilder

[v21.1.35-1.21.1] - 2025-05-04

Removed

  • Remove unused breathing and drowning event implementations on Fabric to improve compatibility with Lunar Client

[v21.1.34-1.21.1] - 2025-04-25

Changed

  • Improve compatibility with other mods injecting into the Gui class on Fabric

[v21.1.33-1.21.1] - 2025-03-16

Fixed

  • Fix ModelPart$Vertex & ModelPart$Polygon being 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 a 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 FabricEventFactory to 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 TooltipBuilder to prevent the tooltip from drawing

Fixed

  • Fix unable to set a new widget tooltip using vanilla methods when TooltipBuilder has 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 BlockStateModelLoader in a WeakReference to avoid holding on to it when it is no longer needed

[v21.1.24-1.21.1] - 2024-12-22

Changed

  • Adjust RangedSliderButton implementation 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 AbstractTagAppender as string list builder

[v21.1.22-1.21.1] - 2024-10-22

Added

  • Add ChangeEntitySizeCallback
  • Add RegistryManager::registerAttribute

Changed

  • Expand LivingEntityRenderLayersContext with some additional methods

[v21.1.21-1.21.1] - 2024-10-10

Changed

  • Allow PlayerSet to 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 ClientParticleTypes with ClientParticleHelper

[v21.1.18-1.21.1] - 2024-10-04

Changed

  • Add more helper methods to GuiGraphicsHelper

Fixed

  • Fix DynamicPackResources failing 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

  • RenderGuiLayerEvents no longer fire when the hud is hidden via F1

[v21.1.15-1.21.1] - 2024-09-30

Changed

  • Slight RenderGuiEvents adjustments

Fixed

  • Fix some gui layers from other mods failing to render

[v21.1.14-1.21.1] - 2024-09-29

Added

  • Add RenderGuiEvents, replacing RenderGuiCallback

[v21.1.13-1.21.1] - 2024-09-29

Changed

  • Overhaul RenderGuiLayerEvents implementation 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 ClientAbstractions for handling Gui#leftHeight & Gui#rightHeight

Changed

  • Minor ConfigTranslationsManager improvements

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 ShapesHelper for rotating shapes horizontally

Changed

  • Allow for compatibility with Minecraft 1.21 on Fabric if enabled via dependency overrides
  • Allow RegistryManager::registerBlockItem to take an Item$Properties supplier

Fixed

  • Fix RenderHighlightCallback crashing on NeoForge

[v21.1.10-1.21.1] - 2024-09-20

Changed

  • Allow ItemModelDisplayOverrides to accept both ResourceLocation as well as ModelResourceLocation

[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 ClientTooltipPositioner to tooltip positioner factory in TooltipBuilder

[v21.1.7-1.21.1] - 2024-09-17

Fixed

  • Fix LivingDropsCallback failing 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 AbstractRegistriesDatapackGenerator so 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::notify to PlayerSet::broadcast

[v21.1.4-1.21.1] - 2024-09-14

Changed

  • Support codecs for capabilities
  • Simplify ModelLayerFactory implementation

[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::registerTrimMaterial and RegistryManager::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.

[v20.4.53-1.20.4] - 2025-10-23

Changed

  • Add access widener for CreativeModeInventoryScreen$SlotWrapper

[v20.4.52-1.20.4] - 2024-06-16

Fixed

  • Attempt fix remapping for Forge

[v20.4.51-1.20.4] - 2024-06-11

Fixed

  • Fix RangedSliderButton::getValue again

[v20.4.50-1.20.4] - 2024-06-11

Fixed

  • Fix RangedSliderButton::getValue

[v20.4.49-1.20.4] - 2024-06-11

Added

  • Add RangedSliderButton

[v20.4.48-1.20.4] - 2024-06-07

Added

  • Add ComponentHelper::toString

[v20.4.47-1.20.4] - 2024-06-07

Added

  • Add ComputeFieldOfViewCallback

Changed

  • Add additional parameters for GatherDebugTextEvents and move injection point on Fabric

[v20.4.46-1.20.4] - 2024-06-03

Changed

  • Load client and common configs immediately upon registration on Forge & NeoForge to prepare for startup configs on NeoForge in 1.20.6 and for parity with Fabric

Fixed

  • Fix overloads in MutableSoundType
  • Fix PlayerTrackingEvents#START running too early on Fabric by introducing a custom event internally

[v20.4.45-1.20.4] - 2024-06-01

Added

  • Add HolderBackedSoundType and MutableSoundType

Fixed

  • Fix PlayerInteractEvents$AttackBlock not firing for creative players on Fabric

[v20.4.44-1.20.4] - 2024-05-26

Fixed

  • Attempt to improve handling for missing child reload listeners during resource reloading

[v20.4.43-1.20.4] - 2024-05-09

Fixed

  • Fix crash involving GatherPotentialSpawnsCallback on NeoForge and when the ModernFix mod is installed on Forge

[v20.4.42-1.20.4] - 2024-03-24

Added

  • Add LookingAtEndermanCallback

Changed

  • Adjust implementation of PlayerInteractEvents to allow for returning InteractionResult#PASS without the value being ignored
  • Make LoadCompleteCallback run sequentially on Forge & NeoForge

Fixed

  • Fix EntityDataSerializer registration on Forge to avoid id mismatches when receiving server data

[v20.4.41-1.20.4] - 2024-03-19

Added

  • Add RenderTooltipCallback in favor of ScreenTooltipEvents$Render

Fixed

  • Fix LivingDeathCallback not running for players on Fabric

[v20.4.40-1.20.4] - 2024-03-18

Fixed

  • Fix mod list on Forge & NeoForge unable to handle mod jars that define multiple mods at once in mods.toml

[v20.4.39-1.20.4] - 2024-03-14

Changed

  • Call CapabilityComponent::setChanged when syncing to remotes

[v20.4.38-1.20.4] - 2024-03-12

Added

  • Add ContainerEvents

[v20.4.37-1.20.4] - 2024-03-12

Added

  • Add CapabilityComponent::initialize

[v20.4.36-1.20.4] - 2024-03-02

Changed

  • Expand and simplify implementation of AbstractTagAppender

[v20.4.35-1.20.4] - 2024-03-01

Added

  • Add new version of AbstractTagProvider
  • Add custom AbstractTagAppender

[v20.4.34-1.20.4] - 2024-02-29

Changed

  • Move LoadCompleteCallback to run much earlier on dedicated servers on Fabric

[v20.4.33-1.20.4] - 2024-02-28

Changed

  • Update some DynamicPackResources internals

[v20.4.32-1.20.4] - 2024-02-27

Added

  • Add ModLoaderEnvironment::getCurrentMappingsNamespace

Changed

  • Allow setting default pack position in PackResourcesHelper

[v20.4.31-1.20.4] - 2024-02-24

Fixed

  • Fix player capabilities providing an invalid holder when the player is dead on Forge

[v20.4.30-1.20.4] - 2024-02-23

Fixed

  • Fix RegisterCommandsCallback not running on Fabric

[v20.4.29-1.20.4] - 2024-02-23

Fixed

  • Fix RenderHandEvents#OFF_HAND firing the wrong hand event type

[v20.4.28-1.20.4] - 2024-02-23

Added

  • Add RegistryManager::registerArgumentType
  • Add RenderHandEvents in favor of RenderHandCallback

Fixed

  • Fix clients attempting to synchronize changed capability values

[v20.4.27-1.20.4] - 2024-02-22

Added

  • Add KeyActivationHandler
  • Add KeyMappingHelper::registerKeyMapping
  • Add PlayerSet

[v20.4.26-1.20.4] - 2024-02-19

Changed

  • Deprecate ScreenHelper in favor of Access Wideners and ScreenHelperV2

[v20.4.25-1.20.4] - 2024-02-19

Fixed

  • Fix minecart type registry map running out of bounds

[v20.4.24-1.20.4] - 2024-02-18

Added

  • Add MinecartTypeRegistry
  • Add ContainerMenuHelper
  • Add NeoForgeCapabilityHelperV2#registerEntityContainer

[v20.4.23-1.20.4] - 2024-02-15

Fixed

  • Fix dedicated server crash due to faulty import

[v20.4.22-1.20.4] - 2024-02-14

Added

  • Add GenericExplosionHelper
  • Add AbstractLootProviderV2
  • Add additional helper methods to AbstractSoundDefinitionProvider
  • Add AbstractLanguageProvider::addSpawnEgg

Changed

  • Validate item models in AbstractModelProvider

Fixed

  • Fix AbstractBuiltInDataProvider not registering generated resources with the file helper
  • Fix ItemDisplayOverrides crashing on Forge & NeoForge

[v20.4.21-1.20.4] - 2024-02-10

Fixed

  • Fix RegistryManager::registerEntityDataSerializer not actually registering the serializer on Fabric & Forge

[v20.4.20-1.20.4] - 2024-02-10

Fixed

  • Fix type parameter on RegistryManager::registerEntityDataSerializer

[v20.4.19-1.20.4] - 2024-02-09

Added

  • Add RegistryManager::registerEntityDataSerializer

[v20.4.18-1.20.4] - 2024-02-04

Added

  • Add GuiGraphicsHelper
  • Add DynamicallyCopiedPackResources

Changed

  • Allow SpritelessImageButton to support drawing the vanilla button background
  • CapabilityToken no longer needs to be set for a capability on Forge

Fixed

  • Fix ContainerScreenEvents$Background running too late on Fabric (Forge & NeoForge are unfortunately still broken, waiting to be fixed by the respective loader)

[v20.4.17-1.20.4] - 2024-02-03

Fixed

  • Fix ClientModConstructor::onRegisterRenderBuffers running too late on Forge

[v20.4.16-1.20.4] - 2024-02-03

Added

  • Add Proxy::splitTooltipLines

[v20.4.15-1.20.4] - 2024-02-01

Fixed

  • Fix crash when breaking crops with Farmer's Delight's sickle

[v20.4.14-1.20.4] - 2024-01-30

Changed

  • Update to latest mod loader versions

Fixed

  • Fix start-up crash on NeoForge
  • Fix mouse drag event not firing on Forge

[v20.4.13-1.20.4] - 2024-01-29

Added

  • Add AbstractAdvancementProvider

Fixed

  • Fix copy tag recipes sometimes using an incorrect serializer

[v20.4.12-1.20.4] - 2024-01-29

Fixed

  • Fix AbstractLootProvider$EntityTypes

[v20.4.11-1.20.4] - 2024-01-28

Fixed

  • Fix broken data generation again

[v20.4.10-1.20.4] - 2024-01-28

Added

  • Add NeoForgeCapabilityHelperV2
  • Add ModLoaderEnvironment::isDataGeneration

Fixed

  • Fix development environment utilities breaking data generation

[v20.4.9-1.20.4] - 2024-01-27

Added

  • Add EditBox improvements for development environments

Fixed

  • Fix TagsUpdatedCallback & ServerLifecycleEvents.Starting not running on dedicated servers

[v20.4.8-1.20.4] - 2024-01-26

Added

  • Add ClientModConstructor::onRegisterRenderBuffers
  • A lot more small utilities for development environments

Changed

  • Reimplement capability system on Fabric on top of Fabric Api's attachment api in favor of the Cardinal Components library
  • Implement LivingConversionCallback using Fabric Api's new native event
  • Implement MenuScreensContext using NeoForge's new native event

[v20.4.7-1.20.4] - 2024-01-24

Changed

  • Revert reverted reduced retina resolution

Fixed

  • Fix ScreenMouseEvents$BeforeMouseDrag & ScreenMouseEvents$AfterMouseDrag not firing on Forge & NeoForge

[v20.4.6-1.20.4] - 2024-01-23

Changed

  • Some more adjustments to ScreenTooltipFactory
  • Revert reduced retina resolution

[v20.4.5-1.20.4] - 2024-01-23

Added

  • Add NeoForgeCapabilityHelper
  • Add CommandOverrides

Changed

  • Some adjustments to ScreenTooltipFactory
  • Set default options and run default commands for development environments
  • Reduce retina resolution during development on Mac (Fabric only)

[v20.4.4-1.20.4] - 2024-01-21

Added

  • Add GameRuleValueOverrides

Changed

  • Migrate all accessor mixins in common to access wideners
  • Set some default game rule values for development environments
  • Handle invalidated capabilities on Forge by supplying a temporary default instance
  • Allow data generation run configuration to exit properly

[v20.4.3-1.20.4] - 2024-01-20

Added

  • Add SpritelessImageButton
  • Add NbtSerializable
  • Add RegistryHelper::getBuiltInRegistryHolder

[v20.4.2-1.20.4] - 2024-01-20

Added

  • Add MenuScreensContext for registering menu screen factories

Changed

  • Allow EnumProvider to accept a custom namespace

[v20.4.1-1.20.4] - 2024-01-19

Added

  • Add KeyedValueProvider for serializing values not from a registry in ConfigDataSet

Changed

  • Revert RegistryManager returning Holder instead of Holder.Reference
  • Migrate init.v2 to init.v3
  • Update some javadoc
  • Turn some methods public in data providers

Fixed

  • Fix unable to instantiate AbstractRecipeProvider on NeoForge due to an additional constructor parameter being patched in

Removed

  • Remove Proxy::getKeyMappingComponent

[v20.4.0-1.20.4] - 2024-01-17

  • Ported to Minecraft 1.20.4
  • Ported to NeoForge
  • Support Mixin Extras

Changed

  • Overhauled capability api as v3, v2 has been removed
  • Renamed RegistryManagerV3 to RegistryManager, now uses Holder instead of Holder.Reference
  • Restructured event implementations, also delayed event loading to avoid being blamed for class loading errors
  • Data generation has been exclusively moved to NeoForge
  • Minor overhauls to NetworkHandlerV2 regarding Message registration

Removed

  • Removed RegistryManagerV2
  • Removed bundled PuzzlesAccessApi in favor of Loom's access wideners

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.10.5-1.21.10] - 2025-10-21

Changed

  • ItemTooltipCallback is no longer called when not on the render thread, to prevent a crash caused from splitting text or measuring text width

[v21.10.4-1.21.10] - 2025-10-20

Fixed

  • Fix java.lang.UnsupportedOperationException when joining a world when a mod is trying to remove existing mob spawns on NeoForge

[v21.10.3-1.21.10] - 2025-10-16

Added

  • Add ParticleProvidersContext::registerParticleRenderType

Fixed

  • Fix a crash that occurred when trying to set an attachment value on NeoForge

[v21.10.2-1.21.10] - 2025-10-11

Changed

  • Update for NeoForge 21.10.7-beta
  • Small refactors in AbstractLanguageProvider
  • Attachment values are no longer set when the old value is equal to the new value

Fixed

  • Fix duplicate key categories
  • Fix GuiGraphicsHelper::blitNineSlicedSprite using an invalid gui sprites atlas location

[v21.10.1-1.21.10] - 2025-10-09

Changed

  • Update for NeoForge 21.10.3-beta

[v21.10.0-1.21.10] - 2025-10-08

Changed

  • Update to Minecraft 1.21.10