Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-36093

Signs and hanging signs destroyed within spawn protection don't retain their contents for the client

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • Minecraft 1.5.2, Minecraft 1.6.2, Minecraft 1.6.4, Minecraft 13w39b, Minecraft 13w41a, Minecraft 13w41b, Minecraft 13w42a, Minecraft 13w42b, Minecraft 13w43a, Minecraft 1.7.1, Minecraft 1.7.2, Minecraft 13w47e, Minecraft 13w48a, Minecraft 13w48b, Minecraft 1.7.4, Minecraft 14w02a, Minecraft 14w02b, Minecraft 14w02c, Minecraft 14w03a, Minecraft 14w03b, Minecraft 14w08a, Minecraft 1.7.5, Minecraft 14w10b, Minecraft 14w10c, Minecraft 1.7.9, Minecraft 14w17a, Minecraft 14w18b, Minecraft 1.7.10, Minecraft 14w30b, Minecraft 14w30c, Minecraft 14w32a, Minecraft 14w32b, Minecraft 14w32c, Minecraft 14w32d, Minecraft 1.8, Minecraft 1.8.1, Minecraft 1.9.4, Minecraft 16w20a, Minecraft 1.10 Pre-Release 2, Minecraft 1.10.2, Minecraft 1.11 Pre-Release 1, Minecraft 1.11, Minecraft 1.12, Minecraft 1.12.1 Pre-Release 1, Minecraft 1.12.2, Minecraft 18w19b, Minecraft 1.13.2, Minecraft 18w47a, Minecraft 18w47b, Minecraft 18w48a, Minecraft 18w48b, Minecraft 18w49a, Minecraft 18w50a, Minecraft 19w12b, Minecraft 19w13b, Minecraft 19w14a, Minecraft 19w14b, 1.15.2, 1.16.2, 20w51a, 21w14a, 21w18a, 1.18.1, 1.18.2, 1.19, 1.19.2, 1.19.3, 1.19.4, 1.20.1, 1.20.4, 1.20.5 Pre-Release 2, 1.20.6, 1.21 Pre-Release 2, 1.21
    • Confirmed
    • Block states, Networking

      The Bug:

      Signs and hanging signs destroyed within spawn protection don't retain their contents for the client.

      Steps to Reproduce:

      1. Start a server, join it, give operator permissions to yourself, and switch into creative mode.
      2. Set the world spawn to your current location by using the command provided below.
        /setworldspawn ~ ~ ~
      3. Obtain a sign, place it down, and write some text on it.
      4. Remove your operator permissions, and grant anyone else with them in order to activate spawn protection.
      5. Break the sign that you just previously placed and observe its contents.
      6. Take note as to whether or not signs and hanging signs destroyed within spawn protection retain their contents for the client.

      Observed Behavior:

      Signs and hanging signs appear empty for the client.

      Expected Behavior:

      Signs and hanging signs would retain their contents for the client.

      Code Analysis:

      Code analysis by Marcono1234 can be found below.

      The following is based on a decompiled version of Minecraft 1.11 using MCP 9.35 rc1.

      The method net.minecraft.network.NetHandlerPlayServer.processPlayerDigging(CPacketPlayerDigging) sends a SPacketBlockChange when the player starts, aborts, or finishes breaking a block which they cannot destroy, but it doesn't send a tile entity packet if a tile entity is at that position, resulting in this problem occurring.

        1. MC-36093.mp4
          4.24 MB
        2. MC-36093.png
          MC-36093.png
          634 kB
        3. MC-36093-1.png
          MC-36093-1.png
          622 kB

            Unassigned Unassigned
            Avoma [Mod] Avoma
            Votes:
            16 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              CHK: