Uploaded image for project: 'Spigot'
  1. Spigot
  2. SPIGOT-5633

Setting a large amount of block's type to certain materials crashes any player who loads them

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Invalid
    • Icon: Minor Minor
    • None
    • None
    • Windows 10

      Jdk 1.8.0_41

      Spigot API 1.15.2-R0.1

    • CraftBukkit version git-Spigot-6de3d4b-a6f8093 (MC: 1.15.2) (Implementing API version 1.15.2-R0.1-SNAPSHOT)
    • Yes

      When using Block.setType(MATERIAL) on a large amount of blocks, players who render them get disconnected with the error "Internal Exception: io.netty.handler.codec.DecoderException: Badly compressed packet - size of (number) is larger than protocol maximum of (number)"

      Materials that I have tested this with are furnaces, player heads, and banners. But I think there are probably more that cause this.

      If you fill, for instance an entire chunk by hand, this will not happen.

      If you load an effected world in vanilla Minecraft this does not happen.

      I have attached a simple plugin, the main function of this plugin runs:

      Chunk chunk = player.getLocation().getChunk();
      for(int x=0;x<16;x++) {
          for(int y=0;y<255;y++) {
              for(int z=0;z<16;z++) {
                  chunk.getBlock(x,y,z).setType(Material.FURNACE);
              }
          }
      }
      

      To use this plugin, join a server running it and type /bug.

            Unassigned Unassigned
            marandadavis121 Maranda Davis
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: