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
andRegistryManager
[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 inServerPlayerEvents
- 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
forPlayLevelSoundEvents
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
beingnull
[v21.5.0-1.21.5] - 2025-03-31
- Port to Minecraft 1.21.5
Added
- Add
RegisterConfigurationTasksCallback
- Add
ContentRegistrationHelper
for registering new skull block types - Add
QuadUtils
- Add
CodecExtras::LIST_TAG_CODEC
,CodecExtras::setOf
, andCodecExtras::decodeOnly
Changed
- Complete networking refactor, replacing
NetworkHandler
withModConstructor::onRegisterPayloadTypes
, and adding support for configuration phase messages - Untie
PlayerSet
from only being able to handle sending packets - Split
CommonAbstractions
into multiple classes such asEntityHelper
,EnchantingHelper
, andExplosionEventHelper
- Split
ClientAbstractions
into multiple classes such asGuiHeightHelper
,ClientWoodTypeRegistry
, andRenderTypeHelper
- Merge
EntityAttributesCreateContext
&EntityAttributesModifyContext
intoEntityAttributesContext
- Refactor
ClientStartedCallback
intoClientLifecycleEvents
- 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 dedicatedDataProvider
inDataProviderHelper
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
toDataAttachmentRegistry.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
, 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
BlockStateResolverContext
to addUnbakedModel
instances
Fixed
- Fix
BlockStateResolverContext
not caching manually loadedUnbakedModel
instances on NeoForge - Fix
BlockStateResolverContext
constantly re-baking all previously locatedUnbakedBlockStateModel
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 returnCompletableFuture
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
andClientAbstractions::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
untilModelLoadingPlugin
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
withRenderNameTagCallback
- Replace
ExtractRenderStateCallback
withExtractRenderStateCallbackV2
- Rework
ModelEvents
intoModelLoadingEvents
,BlockModelLoadingEvents
, andModelBakingCompletedCallback
- Refactor
ColorProvidersContext
intoBlockColorsContext
Removed
- Remove
ContentRegistrationFlags
- Remove
NeoForgeDataProviderContext
- Remove
LootTableLoadEvents
- Remove
RenderPlayerEvents
- Remove
BuildCreativeModeTabContentsContext
- Remove
CreativeModeTabContext
withCreativeModeTabConfigurator
- Remove
BuiltinModelItemRendererContext
withBuiltinItemRenderer
andReloadingBuiltInItemRenderer
- Remove
ItemModelPropertiesContext
- Remove
ItemModelDisplayOverrides
- Remove
AbstractRegistriesDatapackGenerator
- Remove
AbstractModelProvider
withModItemModelProvider
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
, deprecatingLootTableLoadEvents
- 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
intoAbstractDatapackRegistriesProvider
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 fromEntityRenderState
- Add
ModelLocationHelper
andModelTemplateHelper
from preparing to move some helper methods out ofAbstractModelProvider
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
andModLoaderEnvironment::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 anOutOfMemoryError
on NeoForge
[v21.3.9-1.21.3] - 2024-11-27
Added
- Add additional overloads for
RegistryManager::registerBlockItem
,RegistryManager::registerBlockEntityType
, andRegistryManager::registerPoiType
- Add
ModLoaderEnvironment::isPuzzlesLibDevelopmentEnvironmentWithoutDataGeneration
andModLoaderEnvironment::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 removedblitOffset
parameter inGuiGraphics
- 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
intoRenderNameTagEvents
for adapting Minecraft changes - Replace
FuelBurnTimesContext
withRegisterFuelValuesCallback
- Rename
CopyComponents
recipes toTransmute
recipes - Replace
ChatMessageReceivedEvents
with a simplifiedChatMessageReceivedCallback
Removed
- Remove
MinecartTypeRegistry
- Remove
RenderGuiCallback
in favor ofRenderGuiEvents
- 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 supportRegistrySetBuilder
[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 aWeakReference
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
withClientParticleHelper
[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 viaF1
[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
, replacingRenderGuiCallback
[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 handlingGui#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 anItem$Properties
supplier
Fixed
- Fix
RenderHighlightCallback
crashing on NeoForge
[v21.1.10-1.21.1] - 2024-09-20
Changed
- Allow
ItemModelDisplayOverrides
to accept bothResourceLocation
as 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
ClientTooltipPositioner
to tooltip positioner factory inTooltipBuilder
[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
toPlayerSet::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
andRegistryManager::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
andMutableSoundType
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 returningInteractionResult#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 ofScreenTooltipEvents$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 ofRenderHandCallback
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 andScreenHelperV2
[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 inConfigDataSet
Changed
- Revert
RegistryManager
returningHolder
instead ofHolder.Reference
- Migrate
init.v2
toinit.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
toRegistryManager
, now usesHolder
instead ofHolder.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
regardingMessage
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