Delta2Force / MCVmComputers

Order computer parts from a satellite orbiting around your minecraft world and build actual working computers with them!
Other
501 stars 58 forks source link

update to 1.19.2? #265

Open DmanMC opened 1 year ago

DmanMC commented 1 year ago

would be nice, unless this mod is dead

mmmmmmmmmmmmmmmmaly commented 1 year ago

it is

y2k04 commented 1 year ago

Rewrite in progress for 1.19.2 :) image

DmanMC commented 1 year ago

pog

y2k04 commented 1 year ago

So many methods and classes didn't exist anymore lmaoooo

Delta2Force commented 1 year ago

Rewrite in progress for 1.19.2 :)

oh neat! have you already checked for any issues with the vbox .jar and the newer java versions? when i was porting the mod to 1.17 and was almost done i checked the mod once by dropping the jar into a release build of fabric in the launcher and it didn't work anymore, because the vbox .jar used some libraries that no longer are included in the java version that minecraft is shipped with. if it doesn't work we could come together to work on a QEMU solution, i think it wouldn't take too long

y2k04 commented 1 year ago

Rewrite in progress for 1.19.2 :)

oh neat! have you already checked for any issues with the vbox .jar and the newer java versions? when i was porting the mod to 1.17 and was almost done i checked the mod once by dropping the jar into a release build of fabric in the launcher and it didn't work anymore, because the vbox .jar used some libraries that no longer are included in the java version that minecraft is shipped with. if it doesn't work we could come together to work on a QEMU solution, i think it wouldn't take too long

The vboxjws that is on Gradle is severely out of date, that's why I did some digging and found out that it was several major versions out of date. I ended up looking through the SDK and found the updated jar. To make my life easier (and others), I made it easier to update the library by making this Gradle function in build.gradle.

The config for setting the version and revision number is in gradle.properties

And to loop back to your question: yes I checked and there were no issues at all! It imported without any problems. In terms of the code, the only thing I needed to change so far was the namespace.

y2k04 commented 1 year ago

In terms of VMware support, I did some extensive reading and couldn't find any Java libraries, nor any type of libraries that would work with VMware Workstation / Player. Couldn't even find any documentation around the DLLs.

y2k04 commented 1 year ago

The only thing that I found that was useful in my searches for VMware was this Python wrapper for the VMware VIX API: naim94a/vix

ByteStream? image

y2k04 commented 1 year ago

Found the VirtualBox SDK reference PDF for version 7.0.4 https://download.virtualbox.org/virtualbox/SDKRef.pdf

y2k04 commented 1 year ago

pog

Almost done. 1 file left to fix and then we can test it

kristibektashi commented 1 year ago

pog

Almost done. 1 file left to fix and then we can test it

Is it ready?

y2k04 commented 1 year ago

pog

Almost done. 1 file left to fix and then we can test it

Is it ready?

Okay so small update: Minecraft boots, but it crashes as soon as you try rendering the computer screen. So so so many functions were deleted since 1.16.5 and it's difficult to find any alternatives to custom rendering. I'm sure there is, but I am unable to find anything that helps. I have been talking to @Delta2Force privately and we have been in talks about the mod and the future of it. In the long term, it would be great to make it easier to port to higher versions of Minecraft, but also use different Virtual Machine platforms like QEMU. But that is the long term goal. For now, we are just trying to make the mod actually playable and render the computer. If anyone has any information about rendering stream textures from 1.16.5 onwards, please let us know.

y2k04 commented 1 year ago

One approach I have not tried yet is updating the mod incrementally (i.e. 1.16.5 to 1.17, 1.17 to 1.18, etc.)

That might make it easier to fix up, but I do not know yet. There was very little information about the functions and classes that were obsoleted and removed from Minecraft. I had to go deep into snapshot territory to figure out what the hell happened to some of the functions and how to migrate to the new alternatives, but even then it was a pain.

y2k04 commented 1 year ago

Related to #143