maruohon / litematica

A modern client-side schematic mod for Minecraft
GNU Lesser General Public License v3.0
686 stars 190 forks source link

Some litematic properties seem to be ignored #818

Closed elegos closed 4 months ago

elegos commented 4 months ago

I'm developing a grabcraft 2 litematic converter (mostly for fun), and I found out that either I messed up something, or the .litematic files have BlockStates with some properties that are being ignored by Litematica (or so it seems).

In particular, I tried to set the doors' hinge ('left' or 'right') and the bed's part ('head' or 'foot'), but they will default in-game (hinge left, part foot).

I wish I found a tool to read the block states of the created litematic, but I found none (maybe I could write one...). For now I attach the generated .litematic file (it's a small house, doors are on ground and first floor, beds on first floor).

Thank you for the support, either being mine or your bug :D

--> the schematic (zipped due to github restrictions) Fantasy Town Small House 2.zip <--

maruohon commented 4 months ago

In this particular case, if you have the blocks in the correct place but not in the correct state, then you are mostly interested in what you have in the palette. And thus simply using NBTExplorer to look at the schematic's NBT data is quite sufficient: https://github.com/jaquadro/NBTExplorer/releases

You seem to be missing most of the properties of at least some of the blocks.

For example the doors should normally have all these properties: image

image

But in the schematic data, there are only 1 or 2 properties per block state for the doors: GH818_block_states_1 GH818_block_states_2

elegos commented 4 months ago

According to https://minecraft.fandom.com/wiki/Block_states the missing props should default to the various values. In the screenshots though I see the doors without the hinge prop, for instance. I'll investigate it. Thanks for the tool :)

elegos commented 4 months ago

Ok, definitively was an issue with my tool not reporting the property.

Knowledge sharing: properties have all defaults, so if they're not all there, they're not invalid.