PaperMC / Paper

The most widely used, high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies
https://papermc.io/
Other
10.04k stars 2.34k forks source link

Server links with translatable components are not rendered #11194

Open metabrixkt opened 3 months ago

metabrixkt commented 3 months ago

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

lynxplay commented 3 months ago

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