DragonStage - DragonSurvivalTeam/DragonSurvival GitHub Wiki

Description

A dragon stage represents a range of sizes in a dragon's growth progression. Each stage has its own growth rate, items that increase growth, as well as modifiers.

Location

Dragon stages are part of the data pack directory structure, highlighted below:

 datapack name.zip
├──  pack.mcmeta
├──  data
    ├──  namespace
       ├──  dragonsurvival
          ├──  dragon_stages
              ├──  <name>.json
  

Parents

This object is used by the following objects:

  1. DragonSpecies

Dependencies

The object references the following objects:

  1. Modifier
  2. EntityPredicate (see "entity_properties" section)

Bounds

Bounds are just a min/max range.

Schema

{
    "min": [number]     // [Mandatory] || The minimum number in the range.
    "max": [number]     // [Mandatory] || The maximum number in the range.
}

Growth Item

A growth item represents an item tied to a growth in ticks for using the item.

Schema

{
    "items": [Item]                // [Mandatory] || The items that can be used.
    "growth_in_ticks": [number]    // [Mandatory] || The number of ticks growth is increased by.
}

Destruction Data

This is data used for the large dragon destruction features (crushing entities, destroying blocks).

Schema

{
   "crushing_size": [number]               // [Mandatory] || The size at which entities get crushed.
   "block_destruction_size": [number]      // [Mandatory] || The size at which blocks get destroyed.
   "crushing_damage_scalar": [number]      // [Mandatory] || The amount of damage per size that crushing does.
}

Schema

{
    "is_default": [bool]                                // [Optional]  || Whether this stage is default or not. If it is default, all dragon species with no stages specified will attempt to use it.
    "size_range": [Bounds]                              // [Mandatory] || The size range that this stage covers.
    "ticks_until_grown": [number]                       // [Mandatory] || The amount of ticks it takes to fully grow.
    "modifiers": [Modifier]                             // [Optional]  || The modifiers that the growth stage applies. The modifiers scale with size.
    "growth_items": [GrowthItem]                        // [Optional]  || The items that cause this stage to grow.
    "is_natural_growth_stopped": [EntityPredicate]      // [Optional]  || The conditions that stop natural growth.
    "grow_into_requirements": [EntityPredicate]         // [Optional]  || The conditions to grow into this stage.
    "destruction_data": [DestructionData]               // [Optional]  || The data for dragon destruction logic.
}
⚠️ **GitHub.com Fallback** ⚠️