Jump to content

[1.18] Blocks disappearing from worlds during update from 1.12.2


Rai-The-Jultak

Recommended Posts

Hello! I’m in the long awaited process of updating my mod from 1.12 to 1.18.

I made a test world with an array of the original blocks in 1.12 and dropped it into my dev environment and upon loading the world, the blocks were not loaded.

Is there a way to ensure they get copied over properly? I have all the names (registration and resource locations) spelled the same way, along with the same directories across both versions of the mod. 

Update: I have yet to make a language file too, but I assumed that wouldn’t make a difference.

unknown.png

unknown.png

Edited by Rai-The-Jultak
update for context
Link to comment
Share on other sites

You are going to find this very difficult. The issue is this: https://minecraft.fandom.com/wiki/Java_Edition_1.13/Flattening

You can see how vanilla deals with it in for example BlockStateFlatteningFix/BlockStateFlattening

but there are may other similar fixes for items, entities, block/tile entities, falling blocks, etc.

See net.minecraft.datafixer.Schemas.build() where the flattening is around schema version 1451

 

You are going to have a number of issues (this is not a complete list):

* The only real way for you to plugin into Mojang's mechanism AFAIK is to use byte code weaving

* The numeric ids you have aren't guaranteed to be those used in real worlds. In 1.12 mods could conflict in their requested ids and so forge had to choose one of them to be a different number and remember the change in the world save folder

* Mods would often accidently have "id shifts" where the numeric id changed across releases and so different worlds could have different ids depending which mod version they used.

* A lot of 1.12 worlds (big mod packs) had issues with the 65535 numeric limit and so used mods like this to workaround it: https://www.curseforge.com/minecraft/mc-mods/jeid. While this used a format similar to 1.13 it isn't really the 1.13 format

* Depending upon what your mod does, the task may be "impossible" for other reasons, e.g. there are known problems for updating modded worlds even in recent versions because of the way Mojang keeps changing the worldgen, structures being a notable problem.

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Link to comment
Share on other sites

3 hours ago, warjort said:

You are going to find this very difficult. The issue is this: https://minecraft.fandom.com/wiki/Java_Edition_1.13/Flattening

You can see how vanilla deals with it in for example BlockStateFlatteningFix/BlockStateFlattening

but there are may other similar fixes for items, entities, block/tile entities, falling blocks, etc.

See net.minecraft.datafixer.Schemas.build() where the flattening is around schema version 1451

 

You are going to have a number of issues (this is not a complete list):

* The only real way for you to plugin into Mojang's mechanism AFAIK is to use byte code weaving

* The numeric ids you have aren't guaranteed to be those used in real worlds. In 1.12 mods could conflict in their requested ids and so forge had to choose one of them to be a different number and remember the change in the world save folder

* Mods would often accidently have "id shifts" where the numeric id changed across releases and so different worlds could have different ids depending which mod version they used.

* A lot of 1.12 worlds (big mod packs) had issues with the 65535 numeric limit and so used mods like this to workaround it: https://www.curseforge.com/minecraft/mc-mods/jeid. While this used a format similar to 1.13 it isn't really the 1.13 format

* Depending upon what your mod does, the task may be "impossible" for other reasons, e.g. there are known problems for updating modded worlds even in recent versions because of the way Mojang keeps changing the worldgen, structures being a notable problem.

Ah I see, that does seem like a lot, especially as this is for *a modpack. with a world. and a server.* and not all the mods are going to have this in mind. 

I’ll take a look out of curiosity but I’m likely just going to do a workaround where I just strategically convert all these blocks into stained clay or something and then replace them back using an editor following the world conversion. 

Edited by Rai-The-Jultak
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.



×
×
  • Create New...

Important Information

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