Greetings and salutations, Minecraft VR fans the world over! Today is the day. A momentous day. 2/22. The day we release Vivecraft 1.13.2 into the wild to take those first, hesitant steps towards being replaced shortly by 1.14.
This post will be a little technical as I go over the gory details of what has changed, so if you just want to play, hit up the downloads page and be off with you.
What the heck took so long?
1.13 was released in July 2018, and followed by 2 revisions, culminating in 1.13.2 in October. What have we been doing for 7 months? Sleeping? Playing other video games? How dare we?
1.13 is a a big update for Mojang and therefore a big update for everyone. Vivecraft is built on top of several other components, namely MCP and Optifine. MCP is a modding package that Mojang is supposed to release, and historically is what Optifine, Forge, and Vivecraft use for development. To date, Mojang still has not released the update for it, so we’ve been left to our own devices.
The Forge team decided to take this opportunity for a near total re-write, including development of their own modding tools which removes the need for MCP.
Optifine went and made their own update for MCP, and Optifine for 1.13 was released in October. I got a copy of the update and was able to start working on Vivecraft sometime in December. So a big thanks to sp614x for making this update even possible.
Porting the codebase to 1.13 took about 2 weeks, with another week actually getting it to compile. We then had 2 weeks of alpha testing and a week of beta testing. And here we are. Big shout out to everyone on Discord who helped with the testing!
A lot, as Minecraft goes. Mostly under-the-hood.
The biggest change is the jump from LWJGL 2 to 3. LWJGL, which I pronounce ‘ligwuhjul’ and should likely not be pronounced at all, is the ‘lightweight java gaming library’ and is the third-party tool that Minecraft uses to talk to the operating system of the PC.
Access to to the Display, Mouse, and Keyboard are all done thru it, so it’s a pretty fundamental aspect of the code, everywhere. LWJGL changed significantly in the jump from 2 to 3, totally replacing the older Display, Mouse and Keyboard libraries with another third party tool, GLFW (Graphics Library FrameWork). This library is now responsible for handling all access to the GPU and input layer to and from Minecraft, as well as providing additional acronyms in case there’s ever a shortage.
The GLFW change is actually wonderful for Vivecraft. Mojang had to sit down and re-write how Minecraft interacts with the Mouse and Keyboard, and they did it properly this time with an abstraction layer. We, Vivecraft, can now just hook right into that abstraction layer and mimic any kind of keyboard or mouse event without the 6 layers of hackery we used in previous versions. We no longer need window focus, or to emulate keypresses or any of that nonsense. 2 years of tedious workarounds went right in the bin and it felt great.
What’s even better, it is now impossible for other mod authors to write code that bypasses input from Vivecraft, meaning we no longer have to bend over backwards to support misbehaving Forge mods. At least that’s the theory, there’s no Forge support yet.
Wait, where’s Forge?
Forge for 1.13, as I mentioned, is undergoing a massive re-do. Beta versions of it are out there, and a couple mods, but frankly we had more than enough to do getting stock Vivecraft updated to worry about it.
We will add Forge back in a future update for 1.13, if at all possible.
What’s changed in Vivecraft?
For us this was mostly a technical update and not a lot of new features were added. Beyond the input stuff above, I had to re-write all of our settings GUI’s from scratch, which is a lot of work and results in zero noticeable change for players.
Techjar had to re-write large parts of the Main Menu renderer, which draws those cool pre-fab worlds around the main menu. We also had to make all-new worlds for 1.13 and some are really pretty. Thanks to NPC-8606 for finding cool places on the test server to export.
Techjar made a nice pass on the in-game GUI blending, transparency, and lighting code and that all looks great now. Also re-worked the ‘wrist’ HUD option to be more watch-like, requested by many.
One really cool new feature, also courtesy of Techjar, is a ‘physical’ keyboard.
The previous, pointer-based keyboard is still in there as an option.
I was told there would be fish
The aquatic updates for Minecraft are all integrated into Vivecraft for 1.13. The swimming mechanics have been updated, the Trident has some fun VR first person animations, and everything about works as you’d expect, thanks to our thorough testers.
You can pet the fish. You can put the fish in buckets. I really don’t want to know what else you’d like to do with the fish.
Full change notes are on the Github releases page.
We’re going to start investigating how to get Forge support working for 1.13. It’s a high priority for us, we know people play Java Minecraft for the mods, after all.
I will likely push out an update to 1.12 with some minor stuff we found while doing the update. 1.12 has received numerous small updates over the past months, I just haven’t done any major features or blog posts. I expect 1.12 to stick around for a long time, having Forge available for 1.13 doesn’t mean popular mods will update, so we’ll keep 1.12 polished for now.
You’ve probably not forgotten about the physical inventory system we teased oh so long ago. We haven’t either, although the guy who was doing it has been busy and unavailable to continue. Forge compatibility was a big obstacle to getting that all working, so along with our evaluation of Forge 1.13 we will look into finishing that system and getting it in there without having to worry about compatibility.
I’ve had some other features on the TODO list for awhile now, like roomscale fishing, buttons and levers. Those are still planned will be continued as I have time.
Around the Community
For those of you who found us from SwaggerSouls recent video, welcome. Also congratulations on finding us since he gave us no attribution at all (:/) Video’s pretty funny tho.
Here’s the start of a let’s play from frequent Discord user Insanegrox (using the 1.13 beta, no less)
And another long play from very helpful Discorders Princess Fuzzy and VRAdditct
Report the bugs.
Report the bugs. There will be bugs. The 113 github repo has a fresh clean, empty issue tracker waiting for you.
Instructions for installation can be found on the Downloads Page.