Sponge and structure blocks are not the same file
A .schem, a .litematic and a Bedrock .mcstructure look interchangeable until you convert one and every chest, entity and block state is gone.
A .schem and a .litematic both hold a build, and converting between them is where most players discover the two formats never agreed on what a build is. One stores a single region of blocks. The other can hold several named regions, each with its own palette. Move a town between them and the houses survive while the contents do not.
What each format actually carries
| Format | Where it runs | Block states | Block entities | Entities |
|---|---|---|---|---|
.schem | Java, WorldEdit/Sponge | yes | yes | yes |
.litematic | Java, Litematica | yes | yes | yes |
.nbt structure | Java, structure blocks | yes | yes | yes |
.mcstructure | Bedrock | yes | yes | yes |
The columns look identical, which is the trap. The difference is palette handling and coordinate space, not the feature list.
The palette is the fragile part
Every one of these formats stores blocks as an index into a palette — a list of unique block types the file uses, with each position holding a number pointing into that list. A build using a few hundred distinct block types carries a palette of that size, and the positions are just integers.
That means the file is only readable if the reader can resolve every palette entry. A block added in a newer Java release has no Bedrock equivalent at all, so a Java-to-Bedrock conversion has to substitute or drop it. Air is the usual substitute, and a wall with mysteriously missing blocks is almost always this, not corruption.
Java and Bedrock name the same block differently
This is where Java and Bedrock genuinely diverge. Bedrock writes block states as block_type plus a set of key-value states; Java writes a namespaced ID plus a state map. The same physical block can be minecraft:oak_stairs[facing=east,half=bottom] on one side and weirdo_direction plus upside_down_bit on the other — different state names and values, not the same ones reordered.
Stairs, slabs, fences, walls, doors and redstone components are the ones that flip. A staircase that renders upside down after conversion is a state-mapping mistake, not a bad file.
Structure blocks do not store what you think
A structure block saving to .nbt writes a bounding box, and that box is capped at 48 blocks per axis. The game does not split a larger build — anything outside the box is simply not in the file. If a converted build is missing its far end, check the original box before suspecting the converter.
Entities are stored separately from blocks in every one of these formats. Item frames, armour stands, paintings and mobs are not blocks, and a converter that only walks the block palette will silently drop them.
Preview before you trust it
The material list is the fastest sanity check: if the converted file's block counts do not match the original's, something was substituted. The layer preview shows that immediately, one horizontal slice at a time, without loading the build into a world.
Convert between .litematic, .schem, Java structure .nbt and Bedrock .mcstructure, with a layer preview and material list, in the Schematic Converter.