← Packet index

Packet 328

PrimitiveShapesPacket

Send primitive drawing shape info (from scripting) to the client for rendering

Packet datagramWire order
HeaderID 328varuint
0Array of primitive shapes (can be a mix of new, updated or removed)array<PrimitiveShapeDataPayload> · variable

Serialized fields

1 top-level fields
  1. 0Array of primitive shapes (can be a mix of new, updated or removed)Semantic version stringPrimitiveShapeDataPayloadas array<PrimitiveShapeDataPayload>
    1. 0NetworkIduint64 network id used to identify the matching shape on the client as the serverCompressionvaruint64
    2. 1Shape TypeoptionalByte representing the type of debug shape (Line, Box, Sphere, Circle, Text).Enum-as-ValueScriptModuleMinecraft::ScriptPrimitiveShapeTypeas uint8
      1. 0Line
      2. 1Box
      3. 2Sphere
      4. 3Circle
      5. 4Text
      6. 5Arrow
      7. 6Cylinder
      8. 7Pyramid
      9. 8Ellipsoid
      10. 9Cone
    3. 2LocationoptionalVec3 location of the debug shape in the world.Vec3
    4. 3ScaleoptionalFloat scale of the debug shape in the world.float
    5. 4RotationoptionalVec3 (Euler angles in radians, PYR) rotation of the debug shape in the world.Vec3
    6. 5Total Time LeftoptionalThe total time left in seconds until this debug shape will be removed (0 meaning never).float
    7. 6Maximum Render DistanceoptionalThe maximum distacne away that this shape will render for each client.float
    8. 7ColoroptionalColor (ARGB Hex string) of the debug shape.Color
      1. 0Colorint32
    9. 8Dimension IDoptionalCurrently supported: (0 -> Overworld, 1 -> Nether, 2 -> The End, 3 -> Undefined)DimensionType
      1. 0valueCompressionvarint32
    10. 9Attached To Entity IDoptionalRuntime ID of the entity this shape is attached to.ActorUniqueID
      1. 0Actor Unique IDCompressionvarint64
    11. 10Extra Shape DataExtra payload (variant) holding data specific to the type of shape (such as text string for the text shape).oneOf<null, ArrowDataPayload, TextDataPayload, BoxDataPayload, LineDataPayload, SphereDataPayload, CylinderDataPayload, PyramidDataPayload, EllipsoidDataPayload, ConeDataPayload>
      0Variant 0null
      1ArrowDataPayloadArrowDataPayload
      1. 0Arrow End LocationoptionalVec3 end location of the debug arrow.Vec3
      2. 1Arrow Head LengthoptionalLength of the head of the debug arrow.float
      3. 2Arrow Head RadiusoptionalRadius of the head of the debug arrow.float
      4. 3Num SegmentsoptionalInteger number of segments used for the debug arrow's head.uint8
      2TextDataPayloadTextDataPayload
      1. 0TextText (string) of the debug text shape.string
      2. 1UseRotationWhether to use specified rotation, otherwise faces camera.boolean
      3. 2BackgroundColoroptionalColor to draw background.Color
        1. 0Colorint32
      4. 3LineGapHeightLine gap height for multiline text rendering.float
      5. 4DepthTestWhether other objects block seeing the text (false=like nametags,true=like signs).boolean
      6. 5ShowBackfaceWhether the backface of the background should be rendered.boolean
      7. 6ShowTextBackfaceWhether the backface of the text should be rendered.boolean
      3BoxDataPayloadBoxDataPayload
      1. 0Box BoundVec3 bound of the debug box shape.Vec3
      4LineDataPayloadLineDataPayload
      1. 0Line End LocationVec3 end location of the debug line.Vec3
      5SphereDataPayloadSphereDataPayload
      1. 0Num SegmentsNumber of segments used for the debug circle or sphere.uint8
      6CylinderDataPayloadCylinderDataPayload
      1. 0Radius XRadius along the X axis of the debug cylinder.Vec2
      2. 1Radius ZRadius along the Z axis of the debug cylinder.Vec2
      3. 2HeightHeight of the debug cylinder.float
      4. 3Num SegmentsNumber of segments used for the debug cylinder.uint8
      7PyramidDataPayloadPyramidDataPayload
      1. 0WidthWidth along the X axis of the debug pyramid base.float
      2. 1DepthoptionalDepth along the Z axis (defaults to width if unset).float
      3. 2HeightHeight of the debug pyramid.float
      8EllipsoidDataPayloadEllipsoidDataPayload
      1. 0RadiiRadii (X, Y, Z) of the debug ellipsoid.Vec3
      2. 1Segments Per AxisNumber of segments per axis used for the debug ellipsoid.uint8
      9ConeDataPayloadConeDataPayload
      1. 0RadiiRadii along the X/Z axis of the debug cone base.Vec2
      2. 1HeightHeight of the debug cone.float
      3. 2Num SegmentsNumber of segments used for the debug cone.uint8

Changelog

Stable releases

Changes between stable protocol releases.

Released
Protocol
2193

Packet

1 entry

Changed 1

PrimitiveShapesPacket4 changes · ID 328
  • Changed supporting type TextDataPayload: Added field LineGapHeight (type float).
  • Changed supporting type TextDataPayload: Moved DepthTest from field 3 to 4.
  • Changed supporting type TextDataPayload: Moved ShowBackface from field 4 to 5.
  • Changed supporting type TextDataPayload: Moved ShowTextBackface from field 5 to 6.