2.5-mc26.2
Curse Maven Snippet
What's new
- Removed the `permanent` field from `FireData`.
- Revamped `FireType`s 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 `ClipGroup`s.
- 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 `ConfigPredicate`s!
- Provides a way to utilize config from a data-driven context.
- These are modeled after Mojang's `BlockPredicate`s, 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 `BlockStateProvider`s 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 `StructureStatus`es 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 `ConditionSource`s, 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 `SpottingIconPredicate`s.
- 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.
- `WindManagerExtension`s now use a registry instead of a list.
- `WindDisturbance`s 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.
- `MovingSoundType`s 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.
This mod has no additional files

