Skip to content

Custom Loot Conditions

TheDeathlyCow edited this page Apr 13, 2024 · 2 revisions

Thermoo defines some custom types of loot conditions. There is one for temperature, and one for soaking.

Temperature loot condition

Requires a 'this' entity loot context variable.

Schema:

{
    "condition": "thermoo:temperature",
    "value": IntRange, // Checks the actual temperature value. Optional, accepts any if unspecified.
    "scale": DoubleRange // Checks the temperature scale. Optional, accepts any if unspecified.
}

If the 'this' entity is not temperature aware, returns false.

Both scale and value must pass to return true.

Soaked loot condition

Requires a 'this' entity loot context variable.

Schema:

{
    "condition": "thermoo:soaked",
    "value": IntRange, // Checks the actual soaking value. Optional, accepts any if unspecified.
    "scale": DoubleRange // Checks the soaking scale. Optional, accepts any if unspecified.
}

If the 'this' entity is not soakable, returns false.

Both scale and value must pass to return true.

Examples

Is cold predicate:

{
    "condition": "thermoo:temperature",
    "value": {
        "max": 0
    }
}

Is warm predicate:

{
    "condition": "thermoo:temperature",
    "value": {
        "min": 0
    }
}

Is max temperature predicate:

{
    "condition": "thermoo:temperature",
    "scale": 1.0
}

➡️ Next: Temperature Effects