3.0-mc26.2-fabric
Curse Maven Snippet
What's new
- Ported to multiloader and added plenty of new Events & Helpers for multiloader development.
- Added
ConfigEntryGetter, a serializable way to access values fromConfigEntrys. - Added the
frozenlib:config_predicate_providerDynamic Registry, used to registerConfigPredicates.- All implementation of
ConfigPredicates have been updated to now useHolders andHolderSets, allowing modders to refer toConfigPredicates via their registered id or tags.
- All implementation of
- Added the
frozenlib:fabricConfig Predicate, returning whether the current mod loader is Fabric. - Added the
frozenlib:neoforgeConfig Predicate, returning whether the current mod loader is NeoForge. - Added the
frozenlib:modConfig Predicate, returning whether a mod with the given id (defined via theidfield) is loaded. - Added the
frozenlib:biome_environment_attribute_modificationDynamic Registry, with the following format:biomes: The id, a list of ids, or a tag of Biomes to modify.attributes: A map of Environment Attributes to merge into the givenbiomes.enabled_when: A Config Predicate, determining whether this instance can be used or should be skipped.
- Migrated Serializable Item Cooldowns to Data Attachments and optimized its network performance.
- Added the
frozenlib:variant_spawn_injectionDynamic Registry, with the following format:registry: The id of the variant registry.variant: The id of the variant to inject custom spawn conditions into.spawn_conditions: The spawn conditions to inject into the variant, using the same format as thespawn_conditionsfield in other mob variants.
- Removed the
WolfVariantBiomeRegistryclass, as Variant Spawn Injections supersede its functionality. - Added the following new Spawn Conditions (used for selecting mob variants within the
spawn_conditionsfield,) with the following formats:frozenlib:config: A Config Predicate, determining whether the condition was met.frozenlib:compoundconditions: A list of Spawn Conditions that all must be met.
- Added the
frozenlib:visual/lightmap_brightnessEnvironment Attribute, controlling the brightness of the lightmap.- Can be any value between 0 and 1.
- Added the
PistonEventsclass, containing the following events:DETERMINE_BLOCK_ENTITY_PUSH_RESULT: Determines whether a Block with a Block Entity can be pushed by a Piston.DETERMINE_BLOCK_STICKINESS: Determines whether a Block is considered sticky when pushed by a Piston.- This will not enable any behavior on its own, and must be used in tandem with the
TRY_STICK_BLOCKS_TOGETHERevent to achieve the intended behavior.
- This will not enable any behavior on its own, and must be used in tandem with the
TRY_STICK_BLOCKS_TOGETHER: Determines whether two Blocks can stick together when pushed by a Piston.- This will not enable any behavior on its own, and must be used in tandem with the
DETERMINE_BLOCK_STICKINESSevent to achieve the intended behavior.
- This will not enable any behavior on its own, and must be used in tandem with the
ON_MOVING_BLOCK_SET: Triggers when a moved Block is placed.ON_PUSH_FAIL: Triggers when Piston structure resolution fails.
- Renamed
PushableBlockEntityUtiltoPistonPushUtiland added a few new methods to help withPistonEventsusage. - Updated and renamed
BooleanPropertySculkBehaviortoBlockStatePropertySculkBehavior, with the additional functionality of being able to use any Block State Property. - Added the
frozenlib:selectorConfig Predicate, with the following format:selector: The Config Predicate used to determine which predicate to select.when_true: The Config Predicate to select whenselectorreturns true.when_false: The Config Predicate to select whenselectorreturns false.
- Added the
frozenlib_with_fallbackConfig Predicate, with the following format:entry: The required Config Entry's id.predicate: The Config Predicate to use if the required Config Entry is present.fallback: The fallback value to use if the required Config Entry is not present.
- Removed
BlockStateRenameFixandFrozenEntityRenameFix, as Vanilla provides the same functionality. - Renamed
SplashTextAPItoSplashTextEventsand migrated its functionality to events. - Added the following fields to Fire Types:
- Additions to
damage_settings:vulnerable_mob_effects: A Mob Effect's id, a list of Mob Effect ids, or a Mob Effect Tag, defining which Mob Effects will make an Entity vulnerable to this Fire Type's damage.damage_immune_mob_effects: A Mob Effect's id, a list of Mob Effect ids, or a Mob Effect Tag, defining which Mob Effects will make an Entity immune to this Fire Type's damage.
- Additions to
spread_settings:always_apply_to_mob_effects: A Mob Effect's id, a list of Mob Effect ids, or a Mob Effect Tag, defining which Mob Effects will make an Entity use this Fire Type if caught on fire.cannot_apply_to_mob_effects: A Mob Effect's id, a list of Mob Effect ids, or a Mob Effect Tag, defining which Mob Effects will make this Fire Type unable to be applied to an Entity.
- If conflicting Mob Effects are present, their total power will be summed by category (
always_applyvs.cannot_apply) and the category with the highest power will be chosen.- If their power is equal, the
cannot_applycategory will be chosen.
- If their power is equal, the
- Additions to
- Fire Types now work as intended on Blazes, Fireballs, and Small Fireballs.
- Added the
#frozenlib:on_fireEntity Type Tag, defining which Entity Types are fire-like.- Contains
#frozenlib:blazes,minecraft:fireball, andminecraft:small_fireballby default. - Entities in this Tag will:
- Set their Fire Type upon spawning, instead of waiting to be set on fire.
- Not remove their attached Fire Type if their
remainingFireTicksfield is zero or less, unlike other entities.
- Contains
- Added the
#frozenlib:spawnerItem Tag, used to define which Items should display theInteract with Spawn Egg: Sets Mob Typetooltip. - Added the
frozenlib:damageConsume Effect Type, with the following format:amount: How much damage (must be above 0) to inflict upon the user.sound(Optional): The id of the Sound to play upon damaging the user.type: The id of the Damage Type to damage the user with.
- Removed
DamageOnUseItemandDamageOnUseBlockItem, as their functionality has been superseded by thefrozenlib:damageConsume Effect Type. - Added Block Attachments, allowing data to be injected into Blocks for quick retrieval.
- Only the
REGISTERevent inBlockAttachmentEventsshould be used to attach new data to Blocks. - Are cleared each time Tags are loaded/reloaded.
- The
REGISTERevent is called whenever this occurs, as to keep attachments that may depend on Tags up-to-date.
- The
- Only the
- Condensed
BlockScheduledTicks,BlockRandomTicks, andBlockAnimateTicksinto the newBlockTickEventsandBlockTickRegistryclasses.BlockTickEventsprovides events that trigger regardless of the Block.BlockTickRegistryuses the new Block Attachment system, and provides a simple way to add new Block-specific behavior.
- Reworked the implementation of modded DataFixers, now allowing modders to register any amount of DataFixers per-mod as they'd like.
- Added
DataFixerEntrypoint(using the identifierfrozenlib:data_fixer,) allowing modders to register custom Entities and Block Entities to Vanilla's DataFixers.- This resolves a long-standing issue that caused many modded Entities and Block Entities to lose data across versions, without the need to use mixins.
- Fixed an issue that required Minecraft to run for an entire minute before finally shutting down. (#81 - Fixed in pull request #82)
- Fixed a major issue that caused certain DataFixers to not work as intended.
- Fixed a crash that could occur on clients when trying to sync Wind Manager Extensions with the server.
- Wind Manager Extensions now support modification as a method of syncing, instead of replacement.
- Fixed an issue that could cause the number of Wind Manager Extensions on the client to increase dramatically over time.
26.3+
- Added the
frozenlib:leaf_litter_providerandfrozenlib:flower_bed_providerBlock State Providers, with the following format:block: The id of the Block to generate.min_segment(Optional): The minimum amount of segments to provide, in a range of 1-4.- Provides 1 if empty.
max_segment: The maximum amount of segments to provide, in a range of 1-4.
- Added
BlockTransformerEvents, enabling the modification ofBlockTransformersfor Shovel, Axe, and Hoe items.- This replaces the previous
ShovelApiandAxeApiclasses.
- This replaces the previous
- Added
PropertyTestingPredicate, a new abstractBlockPredicateused to compare Property values.- Added
HasMatchingAxisPredicate, used to compare theAXISProperty of a Block.
- Added
- Added
ShearsDispenseItemBehaviorApi, used to register custom behaviors for Shears being used by a Dispenser. - Added the experimental
BlockRegistryModificationEventsclass, used to modify the Properties and Factory used to create Blocks. - Moved Wilder Wild's Potent Sulfur Geyser Wind Disturbance into FrozenLib.
- Added
StructureProcessorListAdditions, replacingStructureProcessorApiin a more stable and data-driven manner.- Added the
frozenlib:structure_processor_list_additionDynamic Registry with the following format:structures: A Structure's ID, a list of Structure IDs, or a Structure Tag thatprocessorswill be added to.processors: A list ofStructureProcessors to add tostructures.config_predicate: An optional field, determining whether this can be used.serialization_requirement: AConfigPredicate, determining whether this can be serialized (useful for mod compat.)
- Added the
- Added the
frozenlib:pathfinding_damaging_blocksBlock Tag, denoting extra Blocks to be considered as damaging while pathfinding. - Migrated
StructureGenerationConditionApito an event. - Migrated
StructurePlacementExclusionApito an event. - Added the
StructureSetApiclass, allowing modders to easily add or removeStructures to/fromStructureSets. - Added
MaterialRuleAdditions, replacing the previous API used to add newMaterialRuless to Levels.- Added the
frozenlib:material_rule_additionDynamic Registry, with the following format:dimensions: A Dimension Type's ID, a list of Dimension Type IDs, or a Dimension Type Tag thatrulewill be added to.has_preliminary_surface: Whetherrulecan only generate on the world's surface. (i.e., the surface of the Overworld.)rule: TheMaterialRulesto add todimensions.serialization_requirement: AConfigPredicate, determining whether this can be serialized (useful for mod compat.)
- Removed
SurfaceRuleEvents,DimensionBoundRuleSource, andSurfaceRuleUtilas they are no longer needed.
- Added the
- Added the
#frozenlib:overworld,#frozenlib:nether, and#frozenlib:endDimension Type Tags. - Added
PlayerDamageTypeSounds, used to play a custom sound when a Player is damaged by a specificDamageType.- Added the
frozenlib:player_damage_type_soundDynamic Registry with the following format:damage_types: A Damage Type's ID, a list of Damage Type IDs, or a Damage Type Tag thatsound_eventwill be used for.sound_event: The Sound Event to play when a Player is damaged bydamage_types.config_predicate: An optional field, determining whether this can be used.
- Removed the initial implementation, as this new data-driven implementation is far more stable.
- Added the
- Added the
frozenlib:config_predicateTree Decorator, with the following format:decorator: The Tree Decorator to generate.predicate: The Config Predicate to test, determining whetherdecoratorcan generate.
- Added the
frozenlib:probabilityTree Decorator, with the following format:decorator: The Tree Decorator to generate.probability: The probability fordecoratorto generate.
DataMarkerProcessableSinglePoolElementandDataMarkerProcessableLegacySinglePoolElementare now both abstract classes.- This change allows for easy handling of Data Markers without the need for mixins.
- Added the
ParticleSpawnerclass, assisting in setting up client-sided particle spawners, e.g., Pollen particles spawning from Pollen blocks. - Added new implementations of
BlockRenameFixandBlockPropertyRenameAndFixthat work on 26.3-snapshot-7+.
This mod has no additional files

