Skip to content
TheDeathlyCow edited this page Apr 26, 2024 · 40 revisions

Frostiful is highly configurable. However, not all of the values in the config are properly bounded and so adjusting them to weird values may result in undocumented behaviour. Adjust the config at your own risk!

Thermoo Integration 🌡️

Frostiful depends on Thermoo for its temperature system. Many of the parts of Frostiful's datapack integration are documented there.

Thermoo wiki: https://github.com/TheDeathlyCow/thermoo/wiki/

Datapack Integration

Some things in this mod can be configured through datapacks.

Tags

Entity Types

  • The Entity Type tag frostiful:benefits_from_cold indicates which mobs benefit from freezing, like the Frostologer. You can find it here
  • The Entity Type tag frostiful:heavy_entity_types indicates which mobs can pack snow when walking on it. You can find it here
  • The Entity Type tag frostiful:root_immune indicates which mobs are immune to the root effect of the Frost Wand. You can find it here

Items

  • Items that are considered 'fur tufts' for the purposes of crafting fur padding armour is determined by the item tag frostiful:fur_tufts. The default tag is available here
  • When equipped in the feet slot of entities, items with the tag frostiful:powder_snow_walkable can be used to not sink in Powder Snow. The default tag includes leather and fur-type boots, and is available here
  • Items that are considered icicles for the purpose of crafting are defined as having the tag #c:icicles.
  • ⭐ Food and drink items that provide warmth have the tag frostiful:warm_foods.
  • ⭐ Armors that provide a small amount of Frost Resistance (like Netherite Armor), can be given the tag #frostiful:warm_armor.
  • ⭐ Armors that provide a large amount of Frost Resistance (like Fur Armor), can be given the tag #frostiful:very_warm_armor.

Blocks

  • The blocks that icicles cannot fall when attached to are defined as blocks with the tag #frostiful:icicle_growable.
  • Torches are hard-coded to be blown out by Freezing Wind, but other blocks (such as candles or campfires) can be configured with the block tags #frostiful:is_open_flame and #frostiful:has_open_flame. The difference between the two tags is subtle, but important. Blocks with the tag #frostiful:is_open_flame are always an open flame, and includes only #minecraft:fire by default. That means that blocks with this tag will be replaced by air when struck by Freezing Wind. Blocks with the tag #frostiful:has_open_flame are only sometimes an open flame, such as Campfires, Candles, and Candle Cakes. In order for blocks in this tag to be blown out properly, they must have the lit block state boolean property.
  • #frsotiful:frostologer_cannot_freeze includes light sources that can never be frozen by the Frostologer, such as the Beacon and portals.
  • #frostiful:hot_floor controls which blocks provide heat when stepped on, such as magma blocks.

Biomes

  • The biomes in which Sun Lichen covered rocks generate are #frostiful:has_feature/sun_lichen_covered_rock.
  • The biomes in which the Frostologer's Castle generate are #frostiful:has_structure/frostologer_castle.
  • The biomes that freezing wind will spawn in all the time are controlled by the biome tag #frostiful:freezing_wind_always_spawns.
  • The biomes that freezing wind will spawn in during storms are controlled by the biome tag #frostiful:freezing_wind_spawns_in_storms.
  • For tags relating to biome temperatures, see Passive Freezing

Enchantments

  • #frostiful:frost_wand/enchanting_table - what enchantments the Frost Wand may receive randomly from the Enchanting Table
  • #frostiful:frost_wand/anvil - what enchantments can be applied to the Frost Wand with an anvil.

Temperature Effects

Temperature effects are data-driven as of 0.2.2. You can find information about their pack format on the Temperature Effects page

Item Attribute modifiers [Deprecated]

Datapacks can specify the base attribute modifiers for any item. This might be useful for adding Frost Resistance to armours from other mods. You can find information about them on the Item Attribute Modifiers page.

Note: This feature is considered deprecated and no longer supported. Prefer to use the item tags #frostiful:warm_armor and #frostiful:very_warm_armor instead. This functionality will be added to Thermoo in the future.

Base Config Files

This documents the various global config options found in [minecraft]/config/frostiful.json.

Config options that may be more relevant to mod pack authors have been marked with ⭐.

[IMPORTANT] Update Config

The update config controls the automatic updating of config values.

  • ⭐ Enable config auto updates [enableConfigUpdates]: Enables/disables automatic config updates. If you are tinkering with the config, this should probably be turned off.
  • currentConfigVersion: The current config version. Does not show in the GUI and should be left alone.

Client Config

These are a set of client-side settings that contain options for things like accessibility, rendering, and the HUD. Changing these on a dedicated server will do nothing.

  • Frost overlay start percent (0-1) [frostOverlayStart]: Double between 0 and 1 that determines at what freeze scale the snowy/frost overlay should start rendering at
  • Do cold heart overlay [doColdHeartOverlay]: Whether to render the cold heart overlay or not
  • Render water drip particles when wet [renderDripParticles]: Whether to render water dripping particles on wet players
  • Disable frost overlay when wearing Cloak of Frostology [disableFrostOverlayWhenWearingFrostologyCloak]: Whether to disable the frost overlay (powder snow border) from showing when wearing the Cloak of Frostology
  • Shake hand when shivering [shakeHandWhenShivering]: Whether or not to shake the player's hand in first person when shivering.
  • Hand shake intensity [handShakeIntensity]: How intense the hand shaking should be when shivering.

Combat config

This config contains anything related to combat.

  • ⭐ Do chillager patrols [doChillagerPatrols]: Whether or not Chillagers should replace Pillagers in patrols in snowy biomes
  • Strays carry frost arrows [straysCarryFrostArrows]: Whether or not Strays will carry Frost Tipped Arrows.
  • Heat drain per level of Enervation [heatDrainPerLevel]: How much frost should be drained from enemies per level of the Enervation Enchantment
  • Enervation heat drain efficiency [heatDrainEfficiency]: What percentage of the heat drained by the Enervation enchantment should be given to the attacker.
  • Ice Breaker damage per level [iceBreakerDamagePerLevel]: How much damage the Ice Breaker Enchantment should do per level when breaking rooted entities.
  • Ice Breaker base damage [iceBreakerBaseDamage]: The base damage the Ice Breaker should apply when breaking rooted entities.
  • Max frost spell distance [maxFrostSpellDistance]: The maximum distance the spell cast by the Frost Wand should be able to go before exploding.
  • Frost Wand cool down (ticks) [frostWandCooldown]: The cooldown time (in ticks) of the Frost Wand spell.
  • Frost Wand root time (ticks) [frostWandRootTime]: The time the Rooted effect of the Frost Wand should last.
  • Frostologer heat drain per tick [frostologerHeatDrainPerTick]: How much heat the Frostologer should drain per tick when using its freezing attack.
  • Packed snowball freeze amount [packedSnowballFreezeAmount]: The amount of Frost that the Packed Snowball should apply when thrown at an entity.
  • Packed snowball damage [packedSnowballDamage]: The amount of Damage that the Packed Snowball should apply when thrown at an entity.
  • Packed snowball vulnerable types damage [packedSnowballVulnerableTypesDamage]: The amount of Damage that the Packed Snowball should apply when thrown at an entity type that belongs to the tag #minecraft:freeze_hurts_entity_types.
  • Polar bear shearing damage [polarBearShearingDamage]: The amount of Damage that shearing Polar Bears does to them.
  • Frostologer passive freezing per tick [frostologerPassiveFreezingPerTick]: The amount of passive freezing that the Frostologer should have per tick.
  • Frostologer max passive freezing percent (0-1) [frostologerMaxPassiveFreezing]: The highest scale at which passive freezing should apply to the Frostologer.
  • Max Frost Bite Max Amplifier (inclusive) [biterFrostBiteMaxAmplifier]: The maximum level of Frost Bite to apply to players frozen by the Frost Wand when attacked by a Biter (inclusive)
  • Chillager fire damage multiplier [chillagerFireDamageMultiplier]: How much extra damage Chillagers take from fire
  • Fur upgrade generate chance [furUpgradeTemplateGenerateChance]: The chance of a fur upgrade template generating in an igloo chest. A percentage value from 0 to 1.
  • Ice Skate upgrade generate chance [skateUpgradeTemplateGenerateChance]: The chance of a fur upgrade template generating in a snowy village chest. A percentage value from 0 to 1.

Freezing Config

This config contains all of the values associated with freezing.

  • ⭐ Do passive freezing [doPassiveFreezing]: Global toggle on whether passive freezing should be enabled. Both this config option and the gamerule frostiful.doPassiveFreezing must be true for passive freezing to take effect!
  • ⭐ Do wind spawning [doWindSpawning]: Whether or not Freezing Wind should spawn
  • Do snow packing from heavy entities [doSnowPacking]: Whether or not heavy entities should turn snow layers they step on into packed snow.
  • ⭐ Passive freezing tick interval [passiveFreezingTickInterval]: How many ticks occur between applying passive freezing. This is intended to be used to allow configuring passive freezing to work slower than it does by default. Setting less then or equal to 1 makes passive freezing occur every tick.
  • ⭐ Wind spawn strategy [windSpawnStrategy]: The strategy to be used when spawning freezing wind. One of NONE, POINT, or ENTITY. Defaults to ENTITY. See the alternate strategies page on the Freezing Wind page for more information.
  • Do wind spawning in air [spawnWindInAir]: Whether or not Freezing Wind should spawn in the air
  • Wind spawn rarity [windSpawnRarity]: Controls the chance of wind spawning when snowing. Higher values mean less wind.
  • Wind spawn rarity [windSpawnRarityThunder]: Controls the chance of wind spawning in a thunder storm. Higher values mean less wind.
  • Wind spawn cap per second [windSpawnCapPerSecond]: The maximum number of Freezing Wind events allowed to spawn per second
  • ⭐ Wind destroys torches [windDestroysTorches]: Whether or not Freezing Wind can destroy open flames.
  • ⭐ Max passive freezing percent (0-1) [maxPassiveFreezingPercent]: The maximum freezing scale at which passive freezing should apply.
  • Passive freezing wetness scale multiplier [passiveFreezingWetnessScaleMultiplier]: The multiplier variable in the passive freezing calculation for wetness.
  • Soak percent from splash water bottle (0-1) [soakPercentFromWaterPotion]: A 0-1 percentage of how wet splash water bottles should make a player.
  • Conduit Power warmth per tick [conduitPowerWarmthPerTick]: The amount of warmth gained from having the Conduit Power status effect whilst submerged in water.
  • Sun Lichen heat per level [sunLichenHeatPerLevel]: The amount of frost that Sun Lichen removes from entities per level of warmth (The levels are cold=0, cool=1, warm=2, hot=3).
  • Sun Lichen burn time [sunLichenBurnTime]: How long Sun Lichen should set entities on fire when overheating, in ticks.
  • Campfire warmth search size [campfireWarmthSearchRadius]: The box side length that campfires search to look for entities to warm.
  • Campfire warmth time [campfireWarmthTime]: The amount of time in ticks that Warmth granted by campfires should last
  • Freezing wind frost (per 5 ticks) [freezingWindFrost]: The frost rate of Freezing Wind per 5 ticks
  • Heat from hot floor (magma block, campfire) [heatFromHotFloor]: How much heat to apply per tick to entites standing on hot floor blocks, such as magma blocks
  • Start shivering when below temp [shiverBelow]: The temperature scale below which to have entities start shivering. Scale from -1 to +1.
  • ⭐ Shivering warmth per tick [shiverWarmth]: How much warmth shivering should apply per tick.
  • Stop shivering warmth below food level [stopShiverWarmingBelowFoodLevel]: The food level below which shivering should not apply heat.
  • Warming food and drink Warmth duration (ticks) [warmFoodWarmthTime]: How many ticks Warmth should be applied for when consuming Warming foods. That is, food with the item tag frostiful:warm_foods. This tag is mainly used for integration with warming food and drinks from mods like Farmer's Delight.

Icicle Config

This config contains values associated with icicles.

  • ⭐ Icicles form in weather [iciclesFormInWeather]: Whether Icicles should form during weather events.
  • Become unstable chance [becomeUnstableChance]: The chance of an icicle block attempting to become unstable on random tick.
  • Grow chance [growChance]: The chance of an icicle block attempting to grow on random tick.
  • Grow chance during rain [growChanceDuringRain]: The chance of an icicle block attempting to grow on random tick when its raining.
  • Grow chance during thunder [growChanceDuringThunder]: The chance of an icicle block attempting to grow on random tick when its thundering.
  • Frost arrow freeze amount [frostArrowFreezeAmount]: The amount of frost applied to victims of a Frost Tipped Arrow.
  • Thrown icicle freeze amount [thrownIcicleFreezeAmount]: The amount of frost to apply to victims when they have an icicle thrown at them.
  • Icicle collision freeze amount [icicleCollisionFreezeAmount]: The amount of frost applied to entities that hurt themselves on an icicle.
  • Maximum light level to form (exclusive) [maxLightLevelToForm]: The maximum (block) light level that icicles can form at, exclusive upper bound.
  • Minimum sky light level to form (inclusive) [minSkylightLevelToForm]: The minimum amount of sky light that icicles require to form.
  • Thrown icicle damage [thrownIcicleDamage]: The amount of damage to apply to victims when they have an icicle thrown at them.
  • Thrown icicle hurts extra damage [thrownIcicleExtraDamage]: The amount of damage to apply to entities belonging to the tag #minecraft:freeze_hurts_extra_types. Note: this is not additive with thrownIcicleDamage!
  • Thrown icicle cooldown [thrownIcicleCooldown]: The cooldown in ticks between icicle throws.

Environment Config

This config contains all of the values associated with environmental temperature changes and effects.

  • ⭐ Do dry biome night freezing [doDryBiomeNightFreezing]: Whether or not dry biomes, like deserts, should be cold at night.
  • ⭐ Cold biome base temperature change [coldBiomeTemperatureChange]: The base ambient temperature change pert tick of snowy biomes that are not freezing.
  • ⭐ Freezing biome base temperature change [freezingBiomeTemperatureChange]: The base ambient temperature change pert tick of freezing biomes (belong to the biome tag #frostiful:freezing_biomes).
  • Night time temperature shift [nightTemperatureShift]: The ambient temperature shift of cold biomes at night.
  • Rain wetness increase per tick [rainWetnessIncrease]: How many points to increase wetness by each tick when in the rain.
  • Touching water wetness increase per tick [touchingWaterWetnessIncrease]: How many points to increase wetness by each tick when touching, but not submerged in, water.
  • Dry rate [dryRate]: How many points of wetness to remove each tick when not touching water in any way.
  • On fire dry rate [onFireDryDate]: How many points of wetness to remove each tick when on fire.
  • On fire warm rate [onFireWarmRate]: The amount of temperature per tick that should be added from entities that are on fire.
  • Powder snow freeze rate [powderSnowFreezeRate]: The per-tick temperature change of entities submerged in Powder Snow.
  • Warmth per light level [warmthPerLightLevel]: The warmth_per_light_level paramter in the block light warmth calculation
  • Minimum block light level for warmth [minLightForWarmth]: The min_light_level parameter during the day in the block light warmth calculation
  • Ultrawarm dimension warm rate [ultrawarmWarmRate]: The amount of warmth to apply in Ultrawarm dimensions like The Nether.
  • ❓ Winter temperature shift [winterTemperatureShift]: A shift applied to biome temperature changes during Winter when Fabric Seasons is enabled.
  • ❓ Is night cold in summer [isNightColdInSummer]: If true, nights will remain cold during Summer when Fabric Seasons is enabled.