Class VersionedComponentSerializer

  • All Implemented Interfaces:
    com.google.gson.JsonDeserializer<BaseComponent>

    @Experimental
    public class VersionedComponentSerializer
    extends Object
    implements com.google.gson.JsonDeserializer<BaseComponent>
    • Constructor Detail

      • VersionedComponentSerializer

        public VersionedComponentSerializer​(ChatVersion version)
    • Method Detail

      • parse

        public BaseComponent[] parse​(String json)
        Parse a JSON-compliant String as an array of base components. The input can be one of either an array of components, or a single component object. If the input is an array, each component will be parsed individually and returned in the order that they were parsed. If the input is a single component object, a single-valued array with the component will be returned.

        NOTE: deserialize(String) is preferred as it will parse only one component as opposed to an array of components which is non- standard behavior. This method is still appropriate for parsing multiple components at once, although such use case is rarely (if at all) exhibited in vanilla Minecraft.

        Parameters:
        json - the component json to parse
        Returns:
        an array of all parsed components
      • deserialize

        public BaseComponent deserialize​(String json)
        Deserialize a JSON-compliant String as a single component.
        Parameters:
        json - the component json to parse
        Returns:
        the deserialized component
        Throws:
        IllegalArgumentException - if anything other than a valid JSON component string is passed as input
      • deserialize

        public BaseComponent deserialize​(com.google.gson.JsonElement jsonElement)
        Deserialize a JSON element as a single component.
        Parameters:
        jsonElement - the component json to parse
        Returns:
        the deserialized component
        Throws:
        IllegalArgumentException - if anything other than a valid JSON component is passed as input
      • deserializeStyle

        public ComponentStyle deserializeStyle​(String json)
        Deserialize a JSON-compliant String as a component style.
        Parameters:
        json - the component style json to parse
        Returns:
        the deserialized component style
        Throws:
        IllegalArgumentException - if anything other than a valid JSON component style string is passed as input
      • deserializeStyle

        public ComponentStyle deserializeStyle​(com.google.gson.JsonElement jsonElement)
        Deserialize a JSON element as a component style.
        Parameters:
        jsonElement - the component style json to parse
        Returns:
        the deserialized component style
        Throws:
        IllegalArgumentException - if anything other than a valid JSON component style is passed as input
      • toJson

        public com.google.gson.JsonElement toJson​(BaseComponent component)
      • toJson

        public com.google.gson.JsonElement toJson​(ComponentStyle style)
      • toString

        @Deprecated
        public String toString​(Object object)
        Deprecated.
        Error-prone, be careful which object you input here
        Parameters:
        object - the object to serialize
        Returns:
        the JSON string representation of the object
      • toString

        @Deprecated
        public String toString​(Content content)
        Deprecated.
        for legacy internal use only
        Parameters:
        content - the content to serialize
        Returns:
        the JSON string representation of the object
      • deserialize

        public BaseComponent deserialize​(com.google.gson.JsonElement json,
                                         Type typeOfT,
                                         com.google.gson.JsonDeserializationContext context)
                                  throws com.google.gson.JsonParseException
        Specified by:
        deserialize in interface com.google.gson.JsonDeserializer<BaseComponent>
        Throws:
        com.google.gson.JsonParseException
      • getGson

        public com.google.gson.Gson getGson()