# Attributes

Cold Sweat adds several [attributes](https://minecraft.wiki/w/Attribute), which can be manipulated via commands and datapacks to modify many aspects of an entity's temperature.

These attributes map directly to the entity's [temperature traits](https://mikul.gitbook.io/cold-sweat#traits), modifying or overriding their values.

## List of Attributes

#### <mark style="color:blue;">`world_temperature`</mark>

Controls the entity's world temperature.&#x20;

This attribute defaults to `NaN`.&#x20;

Setting the attribute's base value to anything else will lock the entity's world temperature to a static value.

Attribute modifiers can modify the entity's corresponding <mark style="color:orange;">`WORLD`</mark> trait, even if the attribute base value is unset.<br>

#### <mark style="color:blue;">`base_temperature`</mark>

Controls the entity's base body temperature, (AKA an offset to the entity's body temperature).&#x20;

This attribute defaults to `NaN`.&#x20;

Setting the attribute's base value to anything else will apply a static offset to the entity's body temperature, overriding any applied TempModifiers.&#x20;

Attribute modifiers can modify the entity's corresponding <mark style="color:orange;">`BASE`</mark> trait, even if the attribute base value is unset.<br>

#### <mark style="color:blue;">`burning_point`</mark>

Controls the temperature at which the entity begins to overheat, in MC units.

This attribute defaults to `NaN`.

Setting the attribute value to anything else will set the entity's maximum habitable temperature to a static value, overriding any applied TempModifiers.&#x20;

Attribute modifiers can modify the entity's corresponding <mark style="color:orange;">`BURNING_POINT`</mark> trait, even if the attribute base value is unset.<br>

#### <mark style="color:blue;">`freezing_point`</mark>

Controls the temperature at which the entity begins to freeze, in MC units.

This attribute defaults to `NaN`.

Setting the attribute value to anything else will set the entity's minimum habitable temperature to a static value, overriding any applied TempModifiers.&#x20;

Attribute modifiers can modify the entity's corresponding <mark style="color:orange;">`FREEZING_POINT`</mark> trait, even if the attribute base value is unset.<br>

#### <mark style="color:blue;">`heat_resistance`</mark>

Controls the entity's resistance to incoming overheating damage. Represents the percent of incoming damage to be blocked.

This attribute defaults to `NaN`, and ranges between 0 and 1.

Setting the attribute value to anything else will set the entity's resistance to overheating damage to a static value, overriding any applied TempModifiers.&#x20;

Attribute modifiers can modify the entity's corresponding <mark style="color:orange;">`HEAT_RESISTANCE`</mark> trait, even if the attribute base value is unset.<br>

#### <mark style="color:blue;">`cold_resistance`</mark>

Controls the entity's resistance to incoming freezing damage, including that from non-temperature-related sources like powder snow. Represents the percent of incoming damage to be blocked.

This attribute defaults to `NaN`, and ranges between 0 and 1.

Setting the attribute value to anything else will set the entity's resistance to freezing damage to a static value, overriding any applied TempModifiers.&#x20;

Attribute modifiers can modify the entity's corresponding <mark style="color:orange;">`COLD_RESISTANCE`</mark> trait, even if the attribute base value is unset.<br>

#### <mark style="color:blue;">`heat_dampening`</mark>

Controls the entity's rate of overheating. Higher values decrease overheating speed, and negative values increase the speed.

This attribute defaults to `NaN`, and caps out at a value of 1, but can be infinitely negative. A value of 1 prevents the player's temperature from increasing above 0.

Setting the attribute value to anything else will set the entity's overheating rate to a static value, overriding any applied TempModifiers.&#x20;

Attribute modifiers can modify the entity's corresponding <mark style="color:orange;">`HEAT_DAMPENING`</mark> trait, even if the attribute base value is unset.<br>

#### <mark style="color:blue;">`cold_dampening`</mark>

Controls the entity's rate of freezing. Higher values decrease freezing speed, and negative values increase the speed.

This attribute defaults to `NaN`, and caps out at a value of 1, but can be infinitely negative. A value of 1 prevents the player's temperature from decreasing below 0.

Setting the attribute value to anything else will set the entity's freezing rate to a static value, overriding any applied TempModifiers.&#x20;

Attribute modifiers can modify the entity's corresponding <mark style="color:orange;">`COLD_DAMPENING`</mark> trait, even if the attribute base value is unset.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mikul.gitbook.io/cold-sweat/attributes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
