mojira.dev
MC-141155

Structure block integrity solely dependent on structure location, integrity seed is ignored

The bug

On loading a structure with a structure block, the structural integrity is not dependent on the chosen seed, but only the location of where the structure is placed.

To reproduce

  1. Save some blocks in a structure using a structure block

  2. Go somewhere else and place a new structure block

  3. Put that structure block in Load mode

  4. Set the integrity to some number between 0.0 and 1.0

  5. Set the integrity seed to some number (for example 1234)

  6. Load the previously saved structure

  7. The structure will be loaded, with some blocks missing. Remember or take a screenshot of how the structure looks.

  8. Clear the area where the structure was loaded using a /fill command

  9. Change the integrity seed in the loading structure block to another number (for example 5678)

  10. Load the structure again

  11. ❌ It will look exactly the same

  12. Repeat as often as you want.

Video

[media]

Previous description

Simple Replication:

Save a region in a structure block, load it, and set the integrity to a number. Place another one down somewhere else, and place down an identical one. That should load a different arrangement of blocks, despite the seed being set.

Replication:

Save a 4x1x4 area of grass_block in a file named grass_4x4 (or minecraft:grass_4x4). Load the structure block twice in an open (vertical) space, both with an integrity of 0.2 and a seed of 0, and leave the rest default. Place three more structure blocks identical to the previous ones directly above the previous two, only changing the seed to 1234. Load all five. Then, the fifth structure block's relative y-position should be set to 2, and loaded again. Place a structure block two blocks above the fifth, identical to the previous three, only changing the relative y-position to -2. Load that, then set that value to -1.

Results:

The first two structure blocks should be random, but it remains upon replacement. The next four do not share the same arrangement. The fifth and sixth blocks have different locations, but the randomness appears to be from the origin of the structure, as both of them generate both layers identical.

Expected:

The first two should generate a seed when the integrity is first set to below 1, and remain that way until broken or replaced. The remaining blocks should have the same arrangement because their seed is identical.

Linked issues

Attachments

Comments 6

Confirmed for all versions from 18w47b to the latest snapshot.

 

Didn't get a chance to test before 18w47b.

Confirmed in 19w06a, a structure block with an integrity < 1.0 and seed set to 0 will always generate the exact same outcome every time at a given location.

I don't think this is working as intended. This would practically render the "integrity seed" functionality of the structure block useless.

I would advise against using the seed 0 to test anything, as that is a special value and functions differently from other seeds (see for example MC-1820).

@unknown, I have reworded and edited this ticket to provide easier reproduction steps, I hope you're fine with that. If I have changed the meaning of the report in any way, please tell!

Seed '0' is special, but there is actual issue for non-zero ones.

@@unknown Thanks! I didn't realize 0 is intended, so I just made up a plausible expected result.

SWinxy

boq

Confirmed

structure, structure_block

Minecraft 18w50a, Minecraft 19w04b, Minecraft 19w06a, Minecraft 19w09a, Minecraft 19w11b

Minecraft 19w12b

Retrieved