2.2 (1.21.9)
on Sep 30, 20252.2 (1.21.8)
on Sep 30, 20252.2 (1.21.5)
on Sep 30, 20252.2 (1.21.4)
on Sep 30, 20252.2 (1.21.2)
on Sep 30, 20252.2 (1.21.1)
on Sep 30, 2025- Fixed an issue with server textures to work as intended.
- Added
MarkForPostProcessingProcessor,
a structure processor that will mark matching blocks for post-processing. - Added
DataMarkerProcessableLegacySinglePoolElement
andDataMarkerProcessableSinglePoolElement,
jigsaw structure pool elements that do not remove Structure Blocks upon being placed.- Data Blocks can be processed by writing a mixin on
StructurePoolElement
'shandleDataMarker
method.
- Data Blocks can be processed by writing a mixin on
- Fixed an issue that prevented Breezes from emitting a wind disturbance.
- Fixed an issue that allowed structures disabled via the
StructureGenerationConditionApi
to still cause lag when using the locate command. - Added the
downloadResourcePack
anddownloadResourcePacks
methods toFrozenLibModResourcePackApi
!- This method will download a resource pack/resource packs, which will be loaded either open Minecraft's next boot or resources being reloaded.
- Resource Pack downloads can be "grouped" together using the
PackDownloadGroup
class. - The file the URL points to must be a JSON with the two following fields:
pack
: The URL of the resource pack, which must be a.zip
file.version
: A numerical id for the resource pack. If the pack has been downloaded before with the sameversion
, the download will be skipped.
- A toast will be displayed on-screen to tell the player when a pack has finished or failed downloading.
- A config option to disable pack downloading and toasts has been added.
- Added the
CustomRotationalParticleRenderer
class, used to make the creation of particles with 3D rotation much easier.- This new implementation also fixes a bug that resulted in Wind particles spinning rapidly under otherwise normal conditions.
- An example of this can be seen in the
WindParticle
class. - This class's name in 1.21.9+ is
CustomRotationalParticleHelper.
- Blocks can now be passed as sources for Wind Disturbances.
- Their position will be encoded using the
origin
field of the Wind Disturbance.
- Their position will be encoded using the
- Added the
frozenlib:blowing_can_pass_through
andfrozenlib:blowing_cannot_pass_through
block tags.- These tags define blocks that Wind Particles and blocks that create wind disturbances can blow through.
- The
BlowingHelper
class contains a single method, used to unify the logic behind finding blocks that can be blown through.
- Added
TemplatePoolApi,
which can be used for adding newStructurePoolElement
s toStructureTemplatePool
s.- The
ADD_ADDITIONAL_TEMPLATE_POOLS
event must be used in order to utilize this API. - A condition can be passed, preventing new
StructurePoolElement
s from being added unless the condition is met.
- The
- Added the
frozenlib:structure_place_schedules_tick
block tag, used to specify which blocks will schedule a block tick upon generating in a structure. - Potentially fixed a few issues FrozenLib could have when used with C2ME.
- Removed two unused item textures.
- Updated Kotlin to 2.2.20
1.21.5+
- Added
FrozenLibConfiguredTreeFeature
andFrozenLibPlacedTreeFeature,
designed to speed up the process of designing tree variants both with and without leaf litters.
1.21.9+
- Removed FrozenLib's modified Vanilla debug renderers.
- Removed FrozenLib's modified Vanilla debug packets.
- Removed FrozenLib's
DebugRendererEvents
class. - Removed FrozenLIb's custom Debug menu.
- FrozenLib's Wind and Wind Disturbance debug renderers are now enabled via the
MC_DEBUG_FROZENLIB_WIND
andMC_DEBUG_FROZENLIB_WIND_DISTURBANCE
launch arguments. - Wind Particles now come in a short and medium length, which can be selected via
WindParticleOptions.
2.1.7 (1.21.6)
on Jul 3, 20252.1.7 (1.21.5)
on Jul 3, 20252.1.7 (1.21.4)
on Jul 3, 20252.1.7 (1.21.2)
on Jul 3, 20252.1.7 (1.21.1)
on Jul 3, 2025- Updated
InterpolatedGravityFunction
to now properly supply a bottom and top gravity value. - Multiple
GravityBelt
s can now apply at the same position. - Reworked a few aspects of the File Transferring system!
- File transfers can now have a much larger size, thanks to
FileTransferPacket
now being able to split into multiple packets. - The
FileTransferFilter
class has been added, filtering out file transfers/requests that are not whitelisted.- Only
.png
and.json
files can be accepted by file transfers/requests. This is hardcoded. - By default, no destination paths are whitelisted.
- Destination paths can be whitelisted separately on the server and client.
- A destination path can be whitelisted using the
whitelistDestinationPath
method. - Players sending a file with a file extension or destination path that isn't whitelisted will instantly be kicked from the server.
- By default, no request paths are whitelisted.
- Request paths can be whitelisted separately on the server and client.
- A destination path can be whitelisted using the
whitelistRequestPath
method. - Players requesting a file with a file extension or request path that isn't whitelisted will instantly be kicked from the server.
- Only
- File transfers can now have a much larger size, thanks to
- Added
RelativeMovingSoundInstance
, a type ofSoundInstance
that will move alongside the player with an offset. - Fixed a crash upon booting servers.
2.1.6 (1.21.6)
on Jul 1, 20252.1.6 (1.21.5)
on Jul 1, 20252.1.6 (1.21.4)
on Jul 1, 20252.1.6 (1.21.2)
on Jul 1, 20252.1.6 (1.21.1)
on Jul 1, 2025- Added
FrozenLibModResourcePackApi
, allowing modders to include .zip resource packs in their mods.- Resource packs must be placed within a
frozenlib_resourcepacks
directory in the mod. - Resource packs will be copied to the
frozenlib/mod_resourcepacks
directory in Minecraft's run directory.- Resource packs in this directory that a mod has not registered will be deleted, meaning if you uninstall a mod, its resource pack will be deleted upon the next boot.
- Resource packs can be placed by users into the
frozenlib/resourcepacks
directory in Minecraft's run directory to force-load their own resource packs. - These resource packs will be force-enabled.
- These resource packs can optionally be hidden from the selection screen.
- Resource packs must be placed within a
- FrozenLib's cape texture cache file path within Minecraft's run directory has been moved from
frozenlib_cape_cape
tofrozenlib/cape_cache
. - Updated Kotlin to 2.2.0