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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions