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.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

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.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.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