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

Commands and structure blocks cannot properly create a moving piston block (no block entity created)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • Minecraft 14w21b, Minecraft 1.10.2, Minecraft 1.12.2, Minecraft 18w02a, Minecraft 18w16a, Minecraft 18w19b, Minecraft 1.13, Minecraft 18w30b, Minecraft 1.13.1-pre1, Minecraft 1.13.1, Minecraft 1.13.2, Minecraft 18w43a, Minecraft 18w45a, Minecraft 18w46a, Minecraft 18w47b, Minecraft 18w48a, Minecraft 18w48b, Minecraft 18w49a, Minecraft 19w04b, Minecraft 19w07a, Minecraft 19w12b, Minecraft 19w13b, Minecraft 19w14a, Minecraft 19w14b, Minecraft 1.14.3, 1.15.2, 20w12a, 1.16, 1.16.2, 21w05a, 21w13a, 21w20a, 1.17.1, 1.18.1, 1.18.2, 22w12a, 1.19.2, 1.19.3, 1.19.4 Pre-release 3, 1.19.4, 1.20.1, 1.20.2, 23w43b
    • None
    • Confirmed
    • Commands
    • Normal
    • Platform

      The bug

      As the title says, when attempting to create a moving_piston block, the block entity is not created.

      How to reproduce

      1. Type
        setblock ~ ~ ~ minecraft:moving_piston

        → Now the command can be run without NBT data
        → See it also suggests adding NBT data by suggesting the { character

      2. Finish the command:
        setblock ~ ~ ~ minecraft:moving_piston{blockState:{Name:"minecraft:piston_head",Properties:{facing:"south",short:"false",type:"normal"}},facing:3,progress:0.0f,source:1b,extending:1b}

        → It says the block has been placed, but there's nothing visible

      3. Type
        /data get block ~ ~ ~

        → It says the target block is not a block entity, and using the previous command in the same spot says it could not set the block. Note: using that same command on a moving block created by a piston does return the block entity

      Affected methods

      • setblock
      • fill
      • clone
      • structure loading

      Code analysis

      Using MCP 1.12 names:

      The tab-complete suggestion for NBT data occurs due to net.minecraft.block.Block.hasTileEntity() method returning true for the net.minecraft.block.BlockPistonMoving block. However, the block entity itself is not created because net.minecraft.block.BlockPistonMoving.createNewTileEntity() returns null.

            Unassigned Unassigned
            jirauser71590 user-f2760 (Inactive)
            Votes:
            12 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              CHK: