Skip to content

Item NBT Specifications

LocusAzzurro edited this page Jul 28, 2022 · 8 revisions

All color values are stored as packed RGB integer.

Firework Orb

  • TAG_String Shape (shape of the explosion, can be sphere, ring, burst, 2d or 3d)
  • TAG_Compound ShapeData
    • (Specific tags depending on the shape)
  • TAG_Float Force
  • TAG_Int Sparks (number of sparks, unused for shape type 2d or 3d)
  • TAG_Double Damage (amount of damage dealt when this orb is exploded)
  • TAG_Boolean Trail (optional, adds vanilla-like trail effect)
  • TAG_Boolean Sparkle (optional, adds vanilla-like sparkle effect)
  • TAG_List Colors
    • (list of colors expressed as TAG_Int)
  • TAG_List FadeColors (optional)
    • (list of colors expressed as TAG_Int)
  • TAG_Int DisplayColor (the color of the orb item texture, when omitted defaults to the first color value in Colors)

ShapeData Tags

  • TAG_Float Jitter (used by sphere, ring and burst, adds randomness to the force applied to the sparks)
  • TAG_Float RotationJitter (used by ring, burst and 2d, adds randomness to the overral rotation, in radians)
  • TAG_Boolean Uniform (used by sphere and ring, dictates if the points on the sphere/ring are distributed uniformally)
  • TAG_Boolean AbsoluteRotation (used by ring, burst and 2d, dictates if the rotations below refer to an absolute starting angle or is dependent to the motion vector angle)
  • TAG_List Rotations (used by ring, burst and 3d, 3d uses 3 values, the other ones use 2)
    • (list of rotations in radians expressed as TAG_Float, excess values are discarded, missing values filled with 0)
  • TAG_Float Rotation (used by 2d, sets the Y-rotation in radians of the explosion)
  • TAG_List Coordinates (used by 2d and 3d, 2d uses 2 values per set, 3d uses 3)
    • (list of nested TAG_List's, every nested list contains a set of 2 or 3 coordinates expressed as TAG_Float, values will be clamped from -1 to 1)

Explosion Pattern

  • TAG_List Coordinates (used by 2D and 3D pattern items, refer to the above ShapeData tag)
    • (same format as Coordinates in ShapeData)
  • TAG_Int Cost (Indicates how many items of Firework Mixture is needed to craft a Firework Orb using this pattern. Recommended values are 1 for every 16 spark points in 2D Pattern, and 1 for every 32 spark points in 3D Pattern.)

Firework Missile

  • TAG_Double Speed (flying speed)
  • TAG_Int FlightTime (flight time in ticks)
  • TAG_Boolean Homing (is homing mechanic enabled on this missile)
  • TAG_Int FuseDelay (delay in ticks between explosions when the firework explodes)
  • TAG_Int BaseColor (the base color of the missile body)
  • TAG_Int PatternColor (the color of the "stripes" of the missile)
  • TAG_Int SparkColor (the color of the trailing sparks)
  • TAG_List PayloadList (the list of explosions of this firework missile)
    • (every explosion is stored as a TAG_Compound, detailed below)

Explosion Format

The Firework Missile supports both Firework Orbs and vanilla Firework Stars, which are stored differently.

For a vanilla Firework Star:

  • TAG_Compound (this is the enclosing tag object)
    • TAG_Boolean IsCustom (this value is set to false)
    • TAG_Compound Payload (this compound is the same format as a Explosion compound tag found on a Firework Star)

For a Firework Orb:

  • TAG_Compound (this is the enclosing tag object)
    • TAG_Boolean IsCustom (this value is set to true)
    • TAG_Compound Payload (this compound is the same format as the root compound tag found on a Firework Orb)

Firework Fuse

  • TAG_Int FuseDelay (the FuseDelay attributed to the Firework Missile when this fuse is used in crafting)

Flicker Stick

  • TAG_Int SparkColor (the color of sparks emitted when ignited)

Homing Array / Homing Array Script

  • TAG_Byte CurrentOption (only used by Script, sets the property changed with the use action)

  • TAG_Byte TargetType (entity types eligible for target candidate)

    public static final String CURRENT_OPTION = "CurrentOption"; public static final String TARGET_TYPE = "TargetType"; public static final String MODE = "Mode"; public static final String RANGE = "Range"; public static final String APERTURE = "Aperture"; Target: NONE(0) / HOSTILE(1) / PLAYERS(2) / ALL (BOTH)(3) Mode: RANGE(0) / LINE(1) Range: SMALL / NORMAL / LARGE RANGE: 5 / 10 / 20 / 40 Blocks LINE: 10 / 20 / 40 / 80 Blocks Wide: 1 / 3 / 7 / 15 Blocks (applies to LINE only)

Clone this wiki locally