Storytime ships with three built-in ability types. Set the type field in a race's ability block to one of these resource locations.


storytime:transform

Transforms the player into another entity type. The player's model changes to the target entity, and their stats temporarily reflect that entity's natural attributes.

Parameters

Name Type Required Default Description
entity string yes Entity type resource location, e.g. "minecraft:wolf"
duration integer no 0 Duration in ticks. 0 means toggle mode
scale number no not set Overrides the entity's natural scale

Behaviour

When duration is 0, the transformation is a toggle. The player presses R to transform and again to revert. There is no automatic expiry.

When duration is greater than 0, the transformation ends automatically after that many ticks. The cooldown starts when the transformation ends, not when it begins.

Example

"ability": {
  "type": "storytime:transform",
  "parameters": {
    "entity": "minecraft:wolf",
    "duration": 600
  },
  "cooldown": 3600,
  "display_name": "Wolf Form",
  "description": "Become a wolf for 30 seconds."
}

storytime:last_stand

A two-phase defensive ability. Phase 1 applies strong buffs. Phase 2 applies debuffs after Phase 1 ends, preventing spam.

Parameters

Name Type Required Default Description
hp_threshold number no 7.0 Health (half-hearts) below which the ability can activate
phase1_duration integer no 200 Phase 1 duration in ticks
phase1_effects array no Effects applied in Phase 1
phase2_duration integer no 300 Phase 2 duration in ticks
phase2_effects array no Effects applied in Phase 2
auto_cast boolean no false If true, triggers automatically when health drops below hp_threshold

Effect objects

Each entry in phase1_effects and phase2_effects is an object with:

Field Type Required Description
effect string yes Potion effect resource location
amplifier integer yes Effect amplifier (0 = level I)
duration integer no Duration in ticks; defaults to the phase duration

Behaviour

When auto_cast is false, the player must press R while their health is at or below hp_threshold. When auto_cast is true, the ability triggers on its own the moment health drops to the threshold — the player does not need to press anything.

After Phase 1 ends, Phase 2 begins immediately regardless of what the player does.

Example

"ability": {
  "type": "storytime:last_stand",
  "parameters": {
    "hp_threshold": "6.0",
    "phase1_duration": "400",
    "phase1_effects": [
      { "effect": "minecraft:strength", "amplifier": 1 },
      { "effect": "minecraft:resistance", "amplifier": 1 },
      { "effect": "minecraft:regeneration", "amplifier": 0 }
    ],
    "phase2_duration": "200",
    "phase2_effects": [
      { "effect": "minecraft:slowness", "amplifier": 2 },
      { "effect": "minecraft:nausea", "amplifier": 0 }
    ],
    "auto_cast": "false"
  },
  "cooldown": 24000,
  "display_name": "Survival Instinct",
  "description": "When near death, fight back."
}

storytime:spell_cast

Casts a spell in one of four modes.

Parameters

Name Type Required Description
spell_mode string yes One of projectile, self, aoe, beam
effects array no Potion effects to apply (used by self, aoe, beam)
projectile_type string no Entity type to fire (used by projectile)
projectile_speed number no Projectile speed (used by projectile)
projectile_damage number no Projectile damage (used by projectile)
cast_sound string no Sound event to play on cast
cast_message string no Chat message sent to the casting player on cast

Spell modes

projectile — Fires an entity in the direction the player is looking.

"parameters": {
  "spell_mode": "projectile",
  "projectile_type": "minecraft:fireball",
  "projectile_speed": 1.5,
  "projectile_damage": 8.0
}

self — Applies effects to the casting player.

"parameters": {
  "spell_mode": "self",
  "effects": [
    { "effect": "minecraft:haste", "amplifier": 1, "duration": 600 }
  ],
  "cast_message": "Haste activated."
}

aoe — Applies effects to all entities within a radius around the player. Radius is currently determined by the ability implementation.

"parameters": {
  "spell_mode": "aoe",
  "effects": [
    { "effect": "minecraft:poison", "amplifier": 0, "duration": 100 }
  ]
}

beam — Applies effects to the first entity directly in the player's line of sight.

"parameters": {
  "spell_mode": "beam",
  "effects": [
    { "effect": "minecraft:weakness", "amplifier": 1, "duration": 200 }
  ]
}

Effect objects

The same format as Last Stand effects:

Field Type Required Description
effect string yes Potion effect resource location
amplifier integer yes Effect amplifier (0 = level I)
duration integer yes Duration in ticks

See also