Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Loading blueprints from newer vanilla version should be impossible/have warning mechanism #621

Open
3 tasks done
Nightenom opened this issue Oct 22, 2023 · 7 comments
Open
3 tasks done

Comments

@Nightenom
Copy link
Member

Nightenom commented Oct 22, 2023

Is there an existing issue for this?

  • I have searched the existing issues.

Are you using the latest Structurize Version?

  • I am running the latest alpha version of Structurize for my Minecraft version.
    I am also running the latest versions of other mods that are part of my problem.

Did you check on the Wiki? or ask on Discord?

  • I checked the MineColonies/Structurize Wiki or I asked on discord.

Minecraft Version

1.19

Structurize Version

dev

MineColonies Version (if related bug)

unrelated

Related Mods and their Versions

No response

Current Behavior

When trying to load blueprint that has newer mcversion than current running SharedConstants.getCurrentVersion().getDataVersion().getVersion() then the either show unloadable warning or don't show the blueprint at all. However the blueprint must be never deserialized

Expected Behavior

No errors :D

Reproduction Steps

Try to load 1.20 scan in 1.19

Logs

logs getting spammed with vanilla deserialization errors

Anything else?

No response

Footer


Viewers

  • Add a thumbs-up to the bug report if you are also affected. This helps the bug report become more visible to the team and doesn't clutter the comments.
  • Add a comment if you have any insights or background information that isn't already part of the conversation.
@Raycoms
Copy link
Contributor

Raycoms commented Oct 22, 2023

Why?

@Nightenom
Copy link
Member Author

Warning tooltip/red text/sth similar is also fine, plus dont read blockstates/entities/BEs in ui

@Thodor12
Copy link
Contributor

This would make it a little bit difficult for cases where you have your schematic server on 1.20, but want to provide your schematic for 1.19.2 too.

That would essentially force you having to have multiple schematic servers per MC version

@Nightenom
Copy link
Member Author

Nightenom commented Oct 22, 2023

Well have server in 1.19 then :D since you want version compat you can't use any 1.20 content -> u don't need 1.20 server?
Like loading content from newer versions will never be stable and is pure luck in means of content equality
(note: data upgrading is fully supported, so 1.19 schematic will load just the same in 1.20 - as long as mojang did not screw up in dfu)

@Thodor12
Copy link
Contributor

By the same logic I've seen schematics break as soon as they use blocks that only exist in newer Domum versions, those are also being loaded in just fine.

@Nightenom Nightenom changed the title Loading blueprints from newer vanilla version should be impossible Loading blueprints from newer vanilla version should be impossible/have warning mechanism Oct 22, 2023
@thepriz
Copy link

thepriz commented Nov 20, 2023

I wouldn't block it completely. A warning would be good, not sure if it is necessary. I just recently did some scans in 1.20.1 only using vanilla blocks (not including newly released blocks) but decided to port them back to my main schematic server in 1.19.2. I moved the scans over to the 1.19.2 server and was able to add them to my main schematic server in 1.19.2. This would be impossible if it was just rejected outright.

@MotionlessTrain
Copy link
Contributor

I wouldn't block it completely. A warning would be good, not sure if it is necessary. I just recently did some scans in 1.20.1 only using vanilla blocks (not including newly released blocks) but decided to port them back to my main schematic server in 1.19.2. I moved the scans over to the 1.19.2 server and was able to add them to my main schematic server in 1.19.2. This would be impossible if it was just rejected outright.

Even just using vanilla blocks won't guarantee blueprints will work correctly in earlier minecraft versions. E.g. the way how text on signs is stored has been changed in 1.20, and minecraft converts those when you port a world to 1.20 (or when 1.19.2 blueprints are opened in 1.20, for that matter) There is no conversion back, though, so a 1.20 world or blueprint won't have signs with text in 1.19.2 (which in case of minecolonies' mineshafts can be problematic)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants