static <T extends BinaryTag> @NotNull BinaryTagType<T> register(final Class<T> type, final byte id, final Reader<T> reader, final @Nullable Writer<T> writer) {
    return register(new Impl<>(type, id, reader, writer));
  }
Writes a tag.

@param tag the tag
@param output the output
@throws IOException if an exception was encountered while writing
@since 4.0.0
nbt/src/main/java/net/kyori/adventure/nbt/BinaryTagType.java