This page is about the fluid effect format from 1.16-1.18.2. For the format since 1.19, see Fluid Effects.

Spilling effects are a system used to define the behavior of fluids when used in fluid effect modifiers such as spilling, spitting, and wetting.

Effect Lists

Spilling effects JSON are defined under data/<domain>/tinkering/spilling/<name>.json, though the location <domain>:<name> has no impact on behavior apart from data pack overrides. Spilling effect JSON has the following format:

  • (Object): The spilling effect list object.
    • condition (Condition): Condition that must pass for this spilling effect list to be loaded. If unset, the effect list is always loaded.
    • fluid (Fluid Ingredient): Fluid ingredient determining fluids receiving these effects. Ingredient amount determines the amount of fluid required to apply the effects, with the effects scaling if too little fluid.
    • effects (Array): List of effects to apply when this fluid is applied to an entity.

Fluid effects have a level, which is typically determined by the modifier level. This level acts as a multiplier on the amount of fluid consumed, as defined by fluid. If too little fluid exists in the tool, the effect will be scaled down, though not every effect supports scaling.

Entity Effects

Entity effects are applied when a fluid hits an entity. The follow sections describe specific entity fluid effects.

Conditional Effect

The conditional entity effect applies an entity effect conditioned on the fluid hitting an entity matching the entity predicate. It has the following format:

  • (Object): Entity effect object.
    • type (Resource Location): Always tconstruct:conditional.
    • entity (Entity Predicate): Entity predicate determining when to apply the effect. Uses the legacy Tinkers’ Construct entity predicates.
    • effect (Entity Effect): Effect to apply if the condition matches.

Extinguish

The extinguish entity effect removes fire from the target if they are on fire. It has the following format:

  • (Object): Entity effect object.

Teleport

The teleport entity effect randomly teleports the target. It has the following format:

  • (Object): Entity effect object.

Cure Effects

The cure effects entity effect cures mob effects on the target using the given curative item. A typical curative item is milk, though mods may define other useful curative items. It has the following format:

Remove Effect

The remove effect entity effect removes a mob effect from the target. It has the following format:

Mob Effect

The mob effect entity effect applies a mob effect to the target. The duration of the effect is scaled based on the fluid amount. It has the following format:

  • (Object): Entity effect object.
    • type (Resource Location): Always tconstruct:effect.
    • name (Mob Effect ID): Mob effect to apply.
    • time (Integer): Duration of the effect in seconds.
    • level (Integer): Level of the effect to apply. If unset, defaults to 1.

Potion

The potion entity effect applies effects to the target effects based on the fluid’s NBT. This effect will only produce useful effects if the fluid’s NBT format matches the NBT format of the potion item. This effect scales the effect duration based on the level, consuming fluid based on the added duration. It has the following format:

  • (Object): Entity effect object.
    • type (Resource Location): Always tconstruct:potion_fluid.
    • scale (Number): Scaling factor to apply to the effect. 1.0 represents the same strength as drinking a potion.
    • predicate (Object): Expected NBT for the fluid, represented as a JSON object. If unset, no additional conditions are placed on the fluid NBT.
    • predicate (String): Expected NBT for the fluid, represented as a string. If unset, no additional conditions are placed on the fluid NBT.

Damage

The damage entity effect damages the target, either with projectile damage if used in a projectile context or direct damage otherwise. It has the following format:

  • (Object): Entity effect object.
    • type (Resource Location): Always tconstruct:damage.
    • damage_amount (Number): Damage to deal.
    • damage_type (String): Type of damage to apply. The following options are available by default:
      • normal: Applies damage with no special modifiers.
      • fire: Makes the damage count as fire damage.
      • explosion: Makes the damage count as explosion damage.
      • magic: Makes the damage count as magic damage.
      • piercing: Makes the damage bypass armor values.

Restore Hunger

The restore hunger entity effect gives the target hunger and saturation. It has the following format:

  • (Object): Entity effect object.
    • type (Resource Location): Always tconstruct:restore_hunger.
    • hunger (Integer): Amount of hunger to restore.
    • saturation (Number): Amount of saturation to restore.
    • represenative_item (Item Output): Food item equivalent to drinking this fluid. Used for compatibility with the diet mod so the proper types of nutrition are restored. If unset, skips the compatibility call.

Fire

The fire entity effect lights the target on fire. It has the following format:

  • (Object): Entity effect object.
    • type (Resource Location): Always tconstruct:set_fire.
    • time (Integer): Duration of the effect in seconds.

Freeze

The freeze entity effect makes the target freeze, applying similar behavior to standing in powdered snow. It has the following format:

  • (Object): Entity effect object.
    • type (Resource Location): Always tconstruct:set_freeze.
    • time (Integer): Duration of the effect in ticks. Will be added to the larger of the minimum ticks required to freeze and the current freeze time.

Add Insomnia

The add insomnia entity effect increases or decreases the amount of insomnia on the player. It has the following format:

  • (Object): Entity effect object.
    • type (Resource Location): Always tconstruct:add_insomnia.
    • amount (Integer): Insomnia amount to add. May be negative.

Add Breath

The add breath entity effect increases or decreases the target’s air supply. It has the following format:

  • (Object): Entity effect object.
    • type (Resource Location): Always tconstruct:add_breath.
    • amount (Integer): Breath to add to the target, will be scaled by the fluid level. May be negative.

Calcified

The calcified fluid effect implements behavior for several modifiers that apply boosts when drinking milk. Notably, it applies resistance if the entity is wearing a helmet with the strong bones modifier. In addition, it applies the calcified effect if the entity is wearing any equipment that uses that effect. The duration of the effect is scaled based on the fluid amount. It has the following format:

  • (Object): Entity effect object.