Skip to content

Dialog buttons with object atlas sprite labels should map to FormImage.Type.PATH on Bedrock, but currently error with Expected tag to be a literal string... and render blank. #6499

Description

@retracdev

Describe the bug

I am a server admin who codes and creates plugins for our server. Because ChestGUIs are hard for touchscreen Bedrock players to use, I have been using the Minecraft dialogs with PaperMC’s /dialog command. When adding icons to the buttons, they render fine on Java Edition, but show blank on Bedrock edition. I am running this server on a Velocity proxy, with Geyser and Floodgate at the proxy level, although I’ve tried replicating this on a test server not linked to Velocity, and it yielded the same result.

To Reproduce

  1. Join a Paper 26.1.2 server with Geyser. (I do not think Velocity has anything to do with this error.)
  2. Run this command as an operator or with correct permissions:
    /dialog show @s {type:"minecraft:notice",title:{text:"Testing"},action:{label:[{type:"object",object:"atlas",atlas:"minecraft:items",sprite:"item/barrier"}," Hello world"]}}
  3. Observe the dialog on Bedrock — button renders completely blank (no text, no icon)
  4. Check server logs to see an error.

Expected behaviour

Button renders as “Hello world” with or without the barrier icon (graceful fallback to text at minimum)

Screenshots / Videos

Image

Server Version and Plugins

Geyser Velocity
Paper 26.1.2

Geyser Dump

https://dump.geysermc.org/ow1v9wCGn6EcYtRa8BNMADoM1wKa3PeJ

Geyser Version

Geyser version 2.10.1-b1177 (git-master-232f873) (Java: 26.1 - 26.1.2, Bedrock: 26.0 - 26.32)

Minecraft: Bedrock Edition Device/Version

26.32 on an iPad Pro (M5 model)

Additional Context

Server log error when the command is run with a Bedrock player connected:

[ERROR] [geyser]: Expected tag to be a literal string, a list of components,
or a component object with a text/translate key: {
"atlas": "minecraft:items",
"extra": [
" Hello world"
],
"sprite": "minecraft:item/barrier"
}

Also worth noting: Bedrock SimpleForm buttons already support images via FormImage.Type.PATH,
so the ideal fix would be mapping the atlas+sprite to the corresponding Bedrock texture path
(e.g. textures/items/barrier) rather than erroring out.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions