Paper icon indicating copy to clipboard operation
Paper copied to clipboard

Server links with translatable components are not rendered

Open metabrixkt opened this issue 1 year ago • 1 comments

Expected behavior

When a plugin adds a server link with a TranslatableComponent as its display name, the component is rendered using GlobalTranslator, just like any other component serialized to the network

Observed/Actual behavior

When a plugin adds a server link with a TranslatableComponent as its display name, the component is not rendered using GlobalTranslator, unlike any other component serialized to the network

Steps/models to reproduce

  1. Follow Paper's i18n guide: load translations for the custom server link, e.g. example-plugin.server-links.bug-report
  2. Add a link: Bukkit.getServerLinks().addLink(Component.translatable("example-plugin.server-links.bug-report"), URI.create("https://github.com/PaperMC/Paper/issues"))
  3. Build and upload the plugin to the server
  4. Join the server and open the server links menu on the client
  5. The link's display name is not rendered and appears as just the translation key

Plugin and Datapack List

None, only the test plugin from "Steps/models to reproduce"

Paper version

> version
[22:16:06 INFO]: Checking version, please wait...
[22:16:06 INFO]: This server is running Paper version 1.21-119-master@100d75a (2024-07-29T16:00:13Z) (Implementing API version 1.21-R0.1-SNAPSHOT)
You are running the latest version

Other

No response

metabrixkt avatar Jul 29 '24 17:07 metabrixkt

Replicable, we need to create a new codec for components that runs them through localized codecs without access to a RegistryFriendlyByteBuf.

lynxplay avatar Jul 31 '24 14:07 lynxplay