Interface GsonComponentSerializer

All Superinterfaces:
Buildable<GsonComponentSerializer,GsonComponentSerializer.Builder>, ComponentDecoder<String,Component>, ComponentEncoder<Component,String>, ComponentSerializer<Component,Component,String>, JSONComponentSerializer

A gson component serializer.

This is a specific implementation of JSONComponentSerializer for the Gson library. Libraries that want to remain unopinionated should work with that interface instead.

Use GsonComponentSerializer.Builder.downsampleColors() to support platforms that do not understand hex colors that were introduced in Minecraft 1.16.

Since:
4.0.0
  • Method Details

    • gson

      @NotNull static @NotNull GsonComponentSerializer gson()
      Gets a component serializer for gson serialization and deserialization.
      Returns:
      a gson component serializer
      Since:
      4.0.0
    • colorDownsamplingGson

      @NotNull static @NotNull GsonComponentSerializer colorDownsamplingGson()
      Gets a component serializer for gson serialization and deserialization.

      Hex colors are coerced to the nearest named color, and legacy hover events are emitted for action HoverEvent.Action.SHOW_TEXT.

      Returns:
      a gson component serializer
      Since:
      4.0.0
    • builder

      Returns:
      a builder
      Since:
      4.0.0
    • serializer

      @NotNull @NotNull com.google.gson.Gson serializer()
      Gets the underlying gson serializer.
      Returns:
      a gson serializer
      Since:
      4.0.0
    • populator

      @NotNull @NotNull UnaryOperator<com.google.gson.GsonBuilder> populator()
      Gets the underlying gson populator.
      Returns:
      a gson populator
      Since:
      4.0.0
    • deserializeFromTree

      @NotNull @NotNull Component deserializeFromTree(@NotNull @NotNull com.google.gson.JsonElement input)
      Deserialize a component from input of type JsonElement.
      Parameters:
      input - the input
      Returns:
      the component
      Since:
      4.7.0
    • serializeToTree

      @NotNull @NotNull com.google.gson.JsonElement serializeToTree(@NotNull @NotNull Component component)
      Deserialize a component to output of type JsonElement.
      Parameters:
      component - the component
      Returns:
      the json element
      Since:
      4.7.0