lawremi / CustomOreGen

Custom Ore Generation mod for Minecraft, originally by JRoush
Artistic License 2.0
41 stars 25 forks source link

1.14 updates #240

Closed Draco18s closed 4 years ago

Draco18s commented 4 years ago

I'm 99% sure that the changes I've made are correct and accurate. This gets the mod to a point where it can compile, although it is still missing commands (I don't even want to touch that just yet, commands have changed so drastically that I'd need to read up on how they even work now).

However, one major issue remains: The game does not generate any valid distributions yet does not throw any errors. I do not know why this is and have spent the better part of twelve hours trying to step through the code comparing 1.12 to 1.14 to see where they diverge, however the code is such a rats nest of recursion (not COG's fault, just XML parsing in general) that I've only managed to narrow the problem down to happening somewhere between a ValidatorDistribution being created (this happens on both versions) and a MapGenOreDistribution having validate() called (this only happens for non-preset distributions on 1.12).

lawremi commented 4 years ago

Thanks a lot for this contribution. I admire your optimism. My skepticism is based on the fact that nothing has been shown to work yet. I'll have a look at this over the next few days.

Draco18s commented 4 years ago

I'm at the point where I need additional eyes to help identify what's going on with the parser. 😕 I can't tell if its a problem of the data (e.g. we have "minecraft:stone:1" in the xml and that no longer makes sense, and so we get a weight of 0, disabling the distribution, but no error (???)) or a problem of the code (e.g. a bug was introduced).

lawremi commented 4 years ago

I'll go ahead and merge this to work on it. Thanks a lot for the push.

Draco18s commented 4 years ago

I'll keep working on my end too, when I have time. Most of this was done in bursts over a couple of weekends and did everything about three times. The first was very hack and slash, the second was a couple weeks later and I wanted to review all the changes I'd made and re-evaluate all of them, looking for things that were blatant "figure it out later" and other cruft left over from trying various things. The third pass was similar to the second, but I was happier with more of it.