# Dynamic Texture Variables

## Overview

### Palladium

- Ability Float-Property
- Ability Id
- Ability Integer-Property
- Ability Ticks
- Accessory
- Animation Timer Ability
- Cape
- Condition
- Crouching
- Energy Bar
- Entity Health
- Entity Ticks
- Float Property
- Integer Property
- Moon Phase
- Objective Score
- Openable Equipment Timer
- Small Arms
- String Property

## Ability Float-Property

Returns the value of a float property of an ability (e.g. the 'value' of an animation timer). The math operations can be arranged in any order and are fully optional!

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
power | ResourceLocation | ID of the power the ability is in. | true | /
ability | String | Key of the ability that is being looked for. | true | /
property | String | Name of the property you want the value from. It's 'value' for animation timer ablities. | true | /
add | Float | This value will be added on top of the returned value. | false | /
subtract | Float | This value will be subtracted from the returned value. | false | /
multiply | Float | This value will be subtracted with the returned value. | false | /
divide | Float | This value will be divided to the returned value. | false | /
min | Float | Using this value will set a minimum limit for the returned value. | false | /
max | Float | Using this value will set a maximum limit for the returned value. | false | /
modulo | Float | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:ability_float_property","power":"example:power_id","ability":"ability_key","property":"value","add":5.2,"subtract":3.1,"multiply":2.5,"divide":7.5,"min":5.5,"max":123.4,"modulo":5.0}

## Ability Id

When used in an ability-context (e.g. ability icons, render layers, gui overlay, skin change), this can return the ID of the ability (not the type!)

### Example:

    {"type":"palladium:ability_id"}

## Ability Integer-Property

Returns the value of an integer property of an ability (e.g. the 'value' of an animation timer). The math operations can be arranged in any order and are fully optional!

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
power | ResourceLocation | ID of the power the ability is in. | true | /
ability | String | Key of the ability that is being looked for. | true | /
property | String | Name of the property you want the value from. It's 'value' for animation timer ablities. | true | /
add | Integer | This value will be added on top of the returned value. | false | /
subtract | Integer | This value will be subtracted from the returned value. | false | /
multiply | Integer | This value will be subtracted with the returned value. | false | /
divide | Integer | This value will be divided to the returned value. | false | /
min | Integer | Using this value will set a minimum limit for the returned value. | false | /
max | Integer | Using this value will set a maximum limit for the returned value. | false | /
modulo | Integer | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:ability_integer_property","power":"example:power_id","ability":"ability_key","property":"value","add":5,"subtract":3,"multiply":10,"divide":10,"min":1,"max":100,"modulo":5}

## Ability Ticks

Returns the tick count of an ability being enabled. The math operations can be arranged in any order and are fully optional!

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
power | ResourceLocation | ID of the power the ability is in. | true | /
ability | String | Key of the ability that is being looked for. | true | /
add | Integer | This value will be added on top of the returned value. | false | /
subtract | Integer | This value will be subtracted from the returned value. | false | /
multiply | Integer | This value will be subtracted with the returned value. | false | /
divide | Integer | This value will be divided to the returned value. | false | /
min | Integer | Using this value will set a minimum limit for the returned value. | false | /
max | Integer | Using this value will set a maximum limit for the returned value. | false | /
modulo | Integer | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:ability_ticks","power":"example:power_id","ability":"ability_key","add":5,"subtract":3,"multiply":10,"divide":10,"min":1,"max":100,"modulo":5}

## Accessory

Returns the ID of the selected accessory in the specified slot.

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
accessory_slot | String | The ID of the accessory slot to read from | true | /
fallback_value | String | If an accessory isn't chosen for the specified accessory slot, this value will be returned instead | false |
split_value | String | If multiple accessories are selected, they'll be returned in a list in alphabetical order separated by this string | false | _
use_path | Boolean | Determines if the namespace or the path will be returned from the accessory ID. Example: the accessory ID is 'test:stone_hat'. If 'use_path' is set to true, you'll get 'stone_hat'. If it's set to false, you'll get 'test'. | false | true

### Example:

    {"type":"palladium:accessory","accessory_slot":"palladium:head","fallback_value":"_not_set","split_value":"_","use_path":true}

## Animation Timer Ability

Returns the timer of an animation timer ability. The math operations can be arranged in any order and are fully optional!

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
power | ResourceLocation | ID of the power the ability is in. | true | /
ability | String | Key of the ability that is being looked for. | true | /
add | Integer | This value will be added on top of the returned value. | false | /
subtract | Integer | This value will be subtracted from the returned value. | false | /
multiply | Integer | This value will be subtracted with the returned value. | false | /
divide | Integer | This value will be divided to the returned value. | false | /
min | Integer | Using this value will set a minimum limit for the returned value. | false | /
max | Integer | Using this value will set a maximum limit for the returned value. | false | /
modulo | Integer | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:animation_timer_ability","power":"example:power_id","ability":"ability_key","add":5,"subtract":3,"multiply":10,"divide":10,"min":1,"max":100,"modulo":5}

## Cape

Returns the tilt of the player's cape.

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
bobbing | Boolean | Determines of bobbing should be taken into account when doing the calculation | false | true
add | Float | This value will be added on top of the returned value. | false | /
subtract | Float | This value will be subtracted from the returned value. | false | /
multiply | Float | This value will be subtracted with the returned value. | false | /
divide | Float | This value will be divided to the returned value. | false | /
min | Float | Using this value will set a minimum limit for the returned value. | false | /
max | Float | Using this value will set a maximum limit for the returned value. | false | /
modulo | Float | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:cape","bobbing":true,"add":5.2,"subtract":3.1,"multiply":2.5,"divide":7.5,"min":5.5,"max":123.4,"modulo":5.0}

## Condition

Checks a list of conditions (or a single one) and returns a true/false value appropriately.

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
conditions | Condition[] | Array of conditions that will be checked | true | /
true_value | Boolean | If the variable turns out to be true, this value will be inserted into the texture path | false | true
false_value | Boolean | If the variable turns out to be false, this value will be inserted into the texture path | false | false

### Example:

    {"type":"palladium:condition","conditions":[{"type":"palladium:crouching"}],"true_value":"true","false_value":"false"}

## Crouching

Returns a true/false value depending on whether the player is crouching.

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
true_value | Boolean | If the variable turns out to be true, this value will be inserted into the texture path | false | true
false_value | Boolean | If the variable turns out to be false, this value will be inserted into the texture path | false | false

### Example:

    {"type":"palladium:crouching","true_value":"true","false_value":"false"}

## Energy Bar

Returns the value of an energy bar. The math operations can be arranged in any order and are fully optional!

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
power | ResourceLocation | ID of the power the energy bar is in. | true | /
energy_bar | String | Name of the energy bar that is being looked for. | true | /
add | Integer | This value will be added on top of the returned value. | false | /
subtract | Integer | This value will be subtracted from the returned value. | false | /
multiply | Integer | This value will be subtracted with the returned value. | false | /
divide | Integer | This value will be divided to the returned value. | false | /
min | Integer | Using this value will set a minimum limit for the returned value. | false | /
max | Integer | Using this value will set a maximum limit for the returned value. | false | /
modulo | Integer | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:energy_bar","power":"example:power_id","energy_bar":"energy_bar_name","add":5,"subtract":3,"multiply":10,"divide":10,"min":1,"max":100,"modulo":5}

## Entity Health

Returns the health of the entity. The math operations can be arranged in any order and are fully optional!

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
add | Float | This value will be added on top of the returned value. | false | /
subtract | Float | This value will be subtracted from the returned value. | false | /
multiply | Float | This value will be subtracted with the returned value. | false | /
divide | Float | This value will be divided to the returned value. | false | /
min | Float | Using this value will set a minimum limit for the returned value. | false | /
max | Float | Using this value will set a maximum limit for the returned value. | false | /
modulo | Float | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:entity_health","add":5.2,"subtract":3.1,"multiply":2.5,"divide":7.5,"min":5.5,"max":123.4,"modulo":5.0}

## Entity Ticks

Returns the tick count of the entity. The math operations can be arranged in any order and are fully optional!

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
add | Integer | This value will be added on top of the returned value. | false | /
subtract | Integer | This value will be subtracted from the returned value. | false | /
multiply | Integer | This value will be subtracted with the returned value. | false | /
divide | Integer | This value will be divided to the returned value. | false | /
min | Integer | Using this value will set a minimum limit for the returned value. | false | /
max | Integer | Using this value will set a maximum limit for the returned value. | false | /
modulo | Integer | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:entity_ticks","add":5,"subtract":3,"multiply":10,"divide":10,"min":1,"max":100,"modulo":5}

## Float Property

Returns the value of a float property within the player. The math operations can be arranged in any order and are fully optional!

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
property | String | Name of the property you want the value from. | true | /
add | Float | This value will be added on top of the returned value. | false | /
subtract | Float | This value will be subtracted from the returned value. | false | /
multiply | Float | This value will be subtracted with the returned value. | false | /
divide | Float | This value will be divided to the returned value. | false | /
min | Float | Using this value will set a minimum limit for the returned value. | false | /
max | Float | Using this value will set a maximum limit for the returned value. | false | /
modulo | Float | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:float_property","property":"example_property","add":5.2,"subtract":3.1,"multiply":2.5,"divide":7.5,"min":5.5,"max":123.4,"modulo":5.0}

## Integer Property

Returns the value of an integer property within the player. The math operations can be arranged in any order and are fully optional!

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
property | String | Name of the property you want the value from. | true | /
add | Integer | This value will be added on top of the returned value. | false | /
subtract | Integer | This value will be subtracted from the returned value. | false | /
multiply | Integer | This value will be subtracted with the returned value. | false | /
divide | Integer | This value will be divided to the returned value. | false | /
min | Integer | Using this value will set a minimum limit for the returned value. | false | /
max | Integer | Using this value will set a maximum limit for the returned value. | false | /
modulo | Integer | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:integer_property","property":"example_property","add":5,"subtract":3,"multiply":10,"divide":10,"min":1,"max":100,"modulo":5}

## Moon Phase

Returns the current moon phase, an integer from 0 to 7. The math operations can be arranged in any order and are fully optional!

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
add | Integer | This value will be added on top of the returned value. | false | /
subtract | Integer | This value will be subtracted from the returned value. | false | /
multiply | Integer | This value will be subtracted with the returned value. | false | /
divide | Integer | This value will be divided to the returned value. | false | /
min | Integer | Using this value will set a minimum limit for the returned value. | false | /
max | Integer | Using this value will set a maximum limit for the returned value. | false | /
modulo | Integer | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:moon_phase","add":5,"subtract":3,"multiply":10,"divide":10,"min":1,"max":100,"modulo":5}

## Objective Score

Returns the value of a score of an entity in the scoreboard for the given objective. IF YOU USE THIS, MAKE A 'tracked_score.json' AND PUT THE OBJECTIVE NAME IN IT, MORE ON THE WIKI!

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
objective | String | Name of the objective. | true | /
add | Integer | This value will be added on top of the returned value. | false | /
subtract | Integer | This value will be subtracted from the returned value. | false | /
multiply | Integer | This value will be subtracted with the returned value. | false | /
divide | Integer | This value will be divided to the returned value. | false | /
min | Integer | Using this value will set a minimum limit for the returned value. | false | /
max | Integer | Using this value will set a maximum limit for the returned value. | false | /
modulo | Integer | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:objective_score","objective":"objective_name","add":5,"subtract":3,"multiply":10,"divide":10,"min":1,"max":100,"modulo":5}

## Openable Equipment Timer

When used in an item-context where the item can be opened, this returns the current progress/timer of the opening process.

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
add | Integer | This value will be added on top of the returned value. | false | /
subtract | Integer | This value will be subtracted from the returned value. | false | /
multiply | Integer | This value will be subtracted with the returned value. | false | /
divide | Integer | This value will be divided to the returned value. | false | /
min | Integer | Using this value will set a minimum limit for the returned value. | false | /
max | Integer | Using this value will set a maximum limit for the returned value. | false | /
modulo | Integer | Using this value will apply a modulo operation to the returned value. | false | /

### Example:

    {"type":"palladium:openable_equipment_progress","add":5,"subtract":3,"multiply":10,"divide":10,"min":1,"max":100,"modulo":5}

## Small Arms

Returns a true/false value depending on whether the player has small arms.

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
true_value | Boolean | If the variable turns out to be true, this value will be inserted into the texture path | false | true
false_value | Boolean | If the variable turns out to be false, this value will be inserted into the texture path | false | false

### Example:

    {"type":"palladium:small_arms","true_value":"true","false_value":"false"}

## String Property

Returns the value of a String property within the player.

### Settings:

Setting | Type | Description | Required | Fallback Value
--- | --- | --- | --- | ---
property | String | Name of the property you want the value from. | true | /

### Example:

    {"type":"palladium:string_property","property":"example_property"}