Jump to content

Work with schematics and changing block ID's


blooditor

Recommended Posts

Hey guys,

 

I'm working with schematics and went into the lovely block id conflict problem that block ID's can be different on another installation. I could find out that world edit uses some kind of mapping of the block ID's but in contrast to what I read somewhere there is no NBT tag for this in my (worldedit) schematic files.

So how exactly can you solve this problem?

 

Thanks a lot for your reply

blooditor

Link to comment
Share on other sites

The fundamental flaw of schematic files is they hardcode IDs outside of the file itself so it relies on things simply being the same between setups.

I advise moving to Mojang's official format here: http://minecraft.gamepedia.com/Structure_block_file_format

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Well but how does worldedit solve that then? I was able to copy a structure from one server to another with worldedit and one schematic file. Then I tried to load that schematic file with my mod and the IDs got mixed up. So there must be a way to solve that.

The NBT file of the worldedit schematic looks like the file attached.

Obviously nothing that looks like some kind of mapping.

Unbenannt.PNG

Link to comment
Share on other sites

If the two worlds have the same mapping, which the vanilla objects should all be the same no matter of the server. Then a scematic file without a mapping will work fine.

As it sits tho, unless the file has a mappings table then you're gunna have issues if things change.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

I finally found the problem. ID's above 127 become negative when converting from the byte array (I guess because byte goes from -128 to 127). Somehow the bytes are stored correctly in the .schematic file so the problem occurs on conversion from byte to int.

Well I solved that now just by calculating 256-id if the ID is negative but it's still strange.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.