Skip to content

dialog action commands longer than the chat limit disconnects the player #14212

Description

@superstorm192

Expected behavior

You run the command and it sets the player head texture to the texture you want

Observed/Actual behavior

You are kicked from the server with error:

lost connection: Internal Exception: io.netty.handler.codec.DecoderException: Failed to decode packet 'serverbound/minecraft:chat_command'

Steps/models to reproduce

dialog show @p {"type":"minecraft:multi_action","title":
        {"text":"Set Texture"},"inputs":[
            {"type":"minecraft:text","key":"value","max_length":200,"label":{"text":"Text"}}
        ],"actions":[
          {"label":{"text":"Apply Texture"},"action":{"type":"minecraft:dynamic/run_command",
            "template":"item modify entity @s weapon.mainhand {function:\"minecraft:set_components\",components:{\"minecraft:profile\":{properties:[{\"name\":\"textures\",\"value\":\"$(value)\"}]}}}"
          }}
        ],"exit_action":{"label":{"text":"Cancel"}}}
  1. copy the code above into a command block
  2. put a blank player head in your main hand
  3. trigger the command block
  4. enter this in the box: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzIyODYzMjRiNmIwNmMyZDRjMWQ4ZjgzYTliMTQwZDdjYWJkODI4MWRiOTcyYjI0M2QyZTYyZDFhMjNkMDA1NCJ9fX0=
  5. press the Apply Texture button
  6. observe that you are kicked from the server.

Next thing to try:

  • try steps 1-5 on a vanilla minecraft server with no paper installed
  • observe that it works and sets your player head with no error

Plugin and Datapack List

None

Paper version

paper-26.2-117

Other

The following code can be ran to show that below the limit, the dialogs do indeed run correctly in Paper normally.

dialog show @p {"type":"minecraft:multi_action","title":
        {"text":"Set Custom Name"},"inputs":[
            {"type":"minecraft:text","key":"value","max_length":500,"label":{"text":"Text"}}
        ],"actions":[
          {"label":{"text":"Apply Name"},"action":{"type":"minecraft:dynamic/run_command",
            "template":"item modify entity @s weapon.mainhand {function:\"minecraft:set_components\",components:{\"minecraft:custom_name\":{\"text\":\"$(value)\"}}}"
          }}
        ],"exit_action":{"label":{"text":"Cancel"}}}

I suspect that the dialog may be sending packets that are counted as invalid when they are valid on a vanilla minecraft server.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions