Skip to content

Conceptual overview of chat components #663

Description

@kezz

It seems like there is a big gap in understanding with a lot of users new to adventure, who have trouble with the concepts of chat components, having only been familiar with the legacy section-symbol system. It would be helpful to explain what components are and some of their key characteristics, ideally with some graphics. Here's a rough outline of what I'm imagining:

  1. What is a component?
    1. structured representation: the text form represents the data structure, rather than being marked-up text
    2. different types of content
    3. tree structure: see style
    4. appending: children in the tree (visual here?)
  2. Where did components come from?/Why do we want to use components?
    1. history: 1.7.2 introduction, 1.13 most of the server converted to use them, 1.16 client text renderer converted
    2. originally: a way to be more explicit about links and other rich styling
    3. references:
    4. examples of quirks/limitations of legacy text, and how chat components resolve those issues
  3. Style in components
    1. tree style
    • [visual] show a component tree with styles, show how they're inherited, and piecewise overridden
    1. attributes can exist together, no 'magical' reseting like legacy strings had
    2. more attributes can be added -- see font or RGB colour
  4. Examples
    1. Some side-by-side tables of json, adventure representation, and in-game visuals?
  5. History of components (can it be merged with 2?)
    1. version-by-version breakdown of what has been added/changed

Migrated from KyoriPowered/adventure-docs#49

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    dev guideThis issue or PR aims to introduce developer API documentationmeta guideThis issue or PR aims to introduce in-depth ways to work with codeproject: Adventure

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions