jrbudda / Vivecraft_112

VR mod for Minecraft. For Minecraft version 1.12.2
http://www.vivecraft.org/
Other
125 stars 31 forks source link

Vivecraft for Minecraft 1.12

This readme is intended for developers. For downloads and gameplay instructions please see the official website

Using this Repository

Vivecraft uses patches to avoid distributing Minecraft code. The build scripts are in Python 2.X.

The install process (install.py) does a number of things:

If you use Eclipse you can open the workspace found in \mcp9xx\eclipse. You will have to correct the library path for the vanilla jar and realms jar, and also add libraries for JRift, json, asm, and launchwrapper, all of these can be found in the root /lib folder. To run the game from eclipse you also have to attach natives to the lwjgl jar (from lib/natives).

Make all changes to the game in the \mcp9xx\src\minecraft directory.

To update code to Github:

To build an installer:

To update changes from github

Caveats - Maintaining Forge Compatibility

When Vivecraft is run with Forge, any public method can be called by any mod, and any vanilla class is up for grabs for ASM modification. To this end, please follow these guidelines in writing Vivecraft code:

Additionally, vivecraft does not use bytecode manipulation at runtime to modify the vanilla classes (mostly), it replaces them wholesale in much the same way as optifine. It only replaces files that have been modified by the user, and it replaces them after Forge and Optifine have made their modifications to them. This means that any vanilla class you modify will NOT have any of Forge's code changes made to it at runtime. To fix this, the class must have all Forge's method calls added via reflection in Vivecraft. Optifine uses this method extensively and Vivecraft expands it.

Before making ANY changes to a vanilla class file you should check to see: