nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
FrozenLib

FrozenLib

Mod

A library for FrozenBlock's mods.

Client and server Library

1.08M downloads
154 followers

2.5-mc26.2

Changelog

  • Removed the permanent field from FireData.
  • Revamped FireTypes to be much more flexible. Their new data structure and functionality is as follows:
    • source_settings:
      • fire_source_blocks: A block's ID, a list of block IDs, or a Block Tag defining which blocks use this Fire Type. (i.e, Fire, Campfire, Torch.)
      • supporting_blocks: A block's ID, a list of block IDs, or a Block Tag defining which blocks support this Fire Type on top of them.
    • damage_settings:
      • damage: The amount of damage to inflict while burning.
      • vulnerable_damage The amount of damage to inflict while an entity who is vulnerable to this Fire Type is burning.
      • vulnerable_entity_types: An entity type ID, a list of entity type IDs, or an Entity Type Tag defining which entity types are vulnerable to this Fire Type.
      • damage_immune_entity_types: An entity type ID, a list of entity type IDs, or an Entity Type Tag defining which entity types are immune to damage from this Fire Type.
    • spread_settings:
      • spreads_from_zombie_attack: Whether this Fire Type can be spread to the victim of a burning Zombie's attack.
      • spreads_from_ignite_enchantments: Whether this Fire Type can be spread to the victim of an attack of a burning entity using an enchantment that ignites entities.
      • replaceable_by_other_fire_types: Whether this Fire Type can be replaced by another Fire Type while burning.
      • always_apply_to_entity_types: An entity type ID, a list of entity type IDs, or an Entity Type Tag defining which entity types will always use this Fire Type while burning.
      • cannot_apply_to_entity_types: An entity type ID, a list of entity type IDs, or an Entity Type Tag defining which entity types cannot use this Fire Type.
    • textures:
      • texture_0: The first texture to use for this Fire Type.
      • texture_1: The second texture to use for this Fire Type, also used for the first-person burning overlay.
    • particle_settings:
      • smoke_particle: The ParticleOptions to use for this Fire Type's smoke.
      • large_smoke_particle: The ParticleOptions to use for this Fire Type's large smoke.
      • smoke_config_predicate: A ConfigPredicate, optionally used to dictate whether smoke_particle and large_smoke_particle can be used.
      • campfire_cosy_smoke_particle: The ParticleOptions to use for this Fire Type's campfire cosy smoke.
      • campfire_signal_smoke_particle: The ParticleOptions to use for this Fire Type's campfire signal smoke.
      • campfire_smoke_config_predicate: A ConfigPredicate, optionally used to dictate whether campfire_cosy_smoke_particle and campfire_signal_smoke_particle can be used.
      • lava_particle: The ParticleOptions to use for this Fire Type's lava particle (Used for campfires.)
      • lava_config_predicate: A ConfigPredicate, optionally used to dictate whether lava_config_predicate can be used.
    • config_predicate: A ConfigPredicate, optionally used to dictate whether this Fire Type can be used.
  • Removed the built-in frozenlib:soul_fire FireType.
  • Added a builder for Fire Types to make their creation much simpler.
  • Added the FireEvents class, containing the following Events:
    • SELECT_FIRE_TYPE
    • Is triggered when an Entity is catching on fire and the FireType is being selected.
    • Is used to modify the FireType to be set.
    • AFTER_FIRE_TYPE_SET
      • Is triggered after the FireType is set on an Entity.
    • ON_ENTITY_BURN_TICK
      • Is triggered each time an Entity is burnt from a fire lingering on them.
    • SELECT_FIRE_BLOCK_STATE
      • Is triggered when a Fire block is selecting which BlockState to place as.
      • Is used to modify the BlockState to be set.
  • Added ClipGroups.
    • Clip Groups define a list of blocks that crosshair clipping can pass through, while inside one of their blocks.
      • For example, while inside Wilder Wild's Mesoglea, Mesoglea blocks are no longer selected and you can attack entities and place/break blocks as normal.
    • Added the frozenlib:clip_group dynamic registry.
      • Each Clip Group simply contains a block's ID, a list of block IDs, or a Block Tag.
  • Added the WaterLikeBlock interface.
    • Is used to create blocks that have water-like properties, such as Wilder Wild's Mesoglea.
    • Can optionally support Bubble Columns.
    • Provides different particles and a fog color to use in place of Water's.
    • Added the frozenlib:water_like_type dynamic registry.
      • Provides a block's ID, a list of block IDs, or a Block Tag that list the blocks within a specific Water-Like Type.
      • Provies swimming, splashing, enter, exit, and ambient loop sounds to use for the Water-Like Type.
  • Added ConfigPredicates!
    • Provides a way to utilize config from a data-driven context.
    • These are modeled after Mojang's BlockPredicates, aiming to be easy to utilize in Data Packs.
    • Multiple predicate types are available, including:
      • any_of: Returns true if any of the contained ConfigPredicates returned true.
      • all_of: Returns true if all the contained ConfigPredicates returned true.
      • all_match: Returns true if all the contained ConfigPredicates returned the same value.
      • not: Returns true if the contained ConfigPredicate returns false.
      • exists: Returns true if the a ConfigEntry with the provided ID exists.
      • true: Always returns true.
      • The primary five predicate types are as follows:
        • equal_to: Returns true if the ConfigEntry's value matches the target value.
        • greater_than: Returns true if the ConfigEntry's value is greater than the target value.
        • greater_than_or_equal_to: Returns true if the ConfigEntry's value is greater than or equal to the target value.
        • less_than: Returns true if the ConfigEntry's value is less than the target value.
        • less_than_or_equal_to: Returns true if the ConfigEntry's value is less than or equal to the target value.
        • These all share the same two fields:
          • entry: The target ConfigEntry's ID.
          • target: The value the target ConfigEntry's value is being compared with.
    • Can be used as a BlockPredicate via the asBlockPredicate method.
    • Can be used as a PlacementFilter via the asPlacementFilter method.
    • Can be used as a LootItemCondition via the asLootCondition method.
    • Can be used as a ConditionSource via the asConditionSource method.
  • Added the ConfigSelector Configured Feature, configured with ConfigSelectorFeatureConfiguration:
    • config_predicate: The ConfigPredicate to use.
    • feature_if_true: The PlacedFeature to be placed if config_predicate returns true.
    • feature_if_false: The PlacedFeature to be placed if config_predicate returns false.
  • Refactored and renamed many worldgen-related classes to be more consistent with Vanilla.
  • ColumnWithDiskFeatureConfiguration now uses two BlockStateProviders instead of a BlockState and Block Tag.
  • Renamed the block_state_provider field to block_state and the stop_when_encountering_unreplaceable_block field to stop_at_unreplaceable_block in ColumnFeatureConfiguration.
  • Removed FrozenLibGrassColorModifiers, as this functionality is redundant thanks to Enum Extensions in Fabric Loader 0.19+.
  • Block Sound Type Overwrites have been removed, and replaced with a newer version that utilizes Dynamic Registries.
    • We understand this may upset some players, but the Resource Pack functionality would cause sound type desyncs between the server and client.
    • The new system will allow players to accomplish the same results, but via Data Pack!
  • Added the SoundTypeOverride, containing the following fields:
    • blocks: A block's ID, a list of block IDs, or a Block Tag that the sound_type applies to.
    • sound_type: The SoundType to be used.
      • volume: The volume to use.
      • pitch: The pitch to use.
      • break_sound: The break sound to use.
      • step_sound: The step sound to use.
      • place_sound: The place sound to use.
      • hit_sound: The hit sound to use.
      • fall_sound: The fall sound to use. Notice a pattern?
    • config_predicate: An optional field, supplying a ConfigPredicate that determines whether the override can be used.
  • Added the frozenlib_sound_type_override Dynamic Registry.
  • The frozenlib_config reload Command now provides completion suggestions and requires Game Master permissions to use.
  • Added the frozenlib_config_client Command, allowing clients to use config commands locally without affecting the server.
  • Renamed FrozenClothConfig to FrozenLibClothConfigGuiHelper.
  • Added multiple new helper methods to FrozenLibClothConfigGuiHelper.
  • Renamed PlayerStructureStatus to StructureStatus.
  • Revamped the way StructureStatuses are handled and sent to the client.
    • These now rely on Fabric's Attachment system, ultimately leading to the removal of custom networking & mixins related to syncing them.
    • Added a debug text entry option to display current statuses.
  • Revamped Structure-based Music.
    • StructureMusic is now serializable and its contents have changed, containing the following fields:
      • structures: A structure's ID or a list of structure IDs that music will play within.
      • background_music: The BackgroundMusic to play.
      • must_be_inside_piece: Whether the Player must be located inside a StructurePiece for music to play.
      • config_predicate: An optional field, supplying a ConfigPredicate that determines whether the music can be played.
    • Added the frozenlib:structure_music Dynamic Registry.
  • Added the frozenlib:controlled_note Particle Type, which takes an Integer as a parameter to use for the particle's color.
  • Added colored variants of Smoke and Campfire Smoke Particles, using ColoredSmokeParticleOptions.
    • These particles will start off with a tint, and fade back into their Vanilla coloration.
  • Removed the frozenlib:biome_tag_condition_source and frozenlib:optimized_biome_tag_condition_source Surface Rule ConditionSources, as they are redundant.
  • Added SulfurCubeUtilAndEvents, containing the following events:
    • ON_INTERACT
    • ON_ARCHETYPE_DATA_REMOVE
    • ON_ARCHETYPE_APPLY
    • ON_POWER_CHANGED
    • ON_PUSH_SOUND_PLAYED
    • ON_PUSH
    • ON_HIT
    • ON_SQUISH
  • Added the AbstractBlockLikeMob, used to create Mobs that render like Blocks and rotate as they move.
    • Based upon 26w14a's implementation.
    • Renders using the model of the provided BlockState it is given.
  • Added the NoOpModel, in cases a LivingEntityRenderer is required but no Model is wanted.
  • Revamped Spotting Icons.
    • Refactored all classes into the entity package.
    • Spotting Icons now render as part of the game's HUD.
    • Removed the frozenlib:spotting_icon_predicate Registry.
    • Removed SpottingIconPredicates.
    • Spotting Icons now use Fabric's Data Attachment system, using the SpottingIcons class.
      • This class contains methods to add, remove, and check a predicate against its Spotting Icons.
    • An Entity can now have multiple Spotting Icons at once.
    • Spotting Icons a much more flexible fading system.
      • A custom start and end value can now be defined.
      • Fades can be used for both the Icon's scale and transparency.
  • Migrated server texture packets to use Fabric's packet splitter.
  • Revamped FrozenLib Cape implementation.
    • Migrated to Fabric's Data Attachment system and Render State Data Keys.
    • Fixed a bug that caused a Player's FrozenLib Cape to not sync to clients when joining a server.
  • Revamped Screen Shake implementation.
    • Migrated to Fabric's Data Attachment system and Fabric's Level Tick Event instead of using separate mixins.
    • Screen Shakes can now have a "minimum distance", which will override the calculated distance to the Screen Shake if it is lower than this.
    • Added a Builder for Screen Shakes.
    • Screen Shakes no longer have separate implementation for Levels and Entities, now being universal and easy to use for both.
    • Updated the frozenlib screenshake command and its feedback.
  • Revamped Wind implementation.
    • Migrated to Fabric's Data Attachment system.
    • ClientWindManager has been removed and WindManager is now used on both the server and client.
    • Removed the ability and config option to use Wind on the client without a server that has Wind.
    • WindManagerExtensions now use a registry instead of a list.
    • WindDisturbances have been completely revamped, using Fabric's Data Attachment system and allowing for the creation of custom WindDisturbanceTypes for more dynamic usage.
  • Revamped Moving Sound Manager implementation.
    • Migrated to Fabric's Data Attachment system.
    • MovingSoundTypes can now be registered to FrozenLib's new frozenlib:moving_sound_type Registry.
    • Each MovingSoundType handles the ticking (and optionally removal) of each sound per-entity, similar to the original sound managers.
    • Thanks to these changes, multiple mixins and duplicate implementations have been removed.
  • Added the frozenlib:moving_sound_manager Dynamic Registry.
  • Removed the Warden Spawn Tracker config option, as the command can now be enabled in Vanilla via launch arguments.
  • Refactored the loot package into the item package.
  • Refactored the recipe package into the item package.

Files

FrozenLib-2.5-mc26.2.jar(1.77 MiB) Primary Download

External resources


Project members

FrozenBlock

FrozenBlock

Organization


Technical information

License
GPL-3.0-only
Client side
required
Server side
required
Project ID