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
- Join a Paper 26.1.2 server with Geyser. (I do not think Velocity has anything to do with this error.)
- 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"]}}
- Observe the dialog on Bedrock — button renders completely blank (no text, no icon)
- 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
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.
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
/dialog show @s {type:"minecraft:notice",title:{text:"Testing"},action:{label:[{type:"object",object:"atlas",atlas:"minecraft:items",sprite:"item/barrier"}," Hello world"]}}
Expected behaviour
Button renders as “Hello world” with or without the barrier icon (graceful fallback to text at minimum)
Screenshots / Videos
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.