VR mod for Minecraft. For Version 1.17.X

Overview

Vivecraft for Minecraft 1.17

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

Localization

Vivecraft supports localization of its plethora of options and other strings. If you are multilingual and would like to help the project out, you can translate Vivecraft into your language of choice over on Transifex. If your target language is not on the list, you can put in a request for it to be added. Note that we can only support languages that Minecraft itself supports, which you can find a list of on the Minecraft wiki.

When translating tooltips (these are indicated by having .tooltip at the end of the translation key) bear in mind that the tooltip box in-game has a fixed size and a limit of 8 lines, so if you write too much text it may be truncated. It can be difficult to judge where the limit is though since it depends on character width, so just guess and don't worry about it too much. There's a lot of extra space in most tooltips so it will likely be fine. Also, for tooltips that have a listing of what the option values do, the values on the left side of the colon should match what will appear on the button.

Some option names may appear to be vague and missing context. This is because context is provided by the category they are in. The names of these categories are found under the vivecraft.options.screen keys.

If you see a § in the text, that and the character immediately after it make a format code. Minecraft uses these to color or stylize text, you can read about them on the Minecraft wiki to understand the intent. Feel free to insert format codes to stylize text as you see fit.

If you're not sure about a particular translation, feel free to join our Discord server and ask about it.

Using this Repository (Note this is a little outdated for 1.17, some directory names have changed, will be updated soon)

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

  • Fork, checkout or download the repo using your Git method of choice.
  • Install Java JDK 16. The Java JRE will NOT work.
  • Set the JAVA_HOME environment variable to the JDK directory
  • Add %JAVA_HOME%\bin to your PATH environment variable
  • Install Python 2.7.x (NOT 3.x). Be sure to tick the 'add python to your PATH' option during install. Download from python.org
  • Open a command prompt and navigate to the repo directory
  • Run install.bat

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

  • It downloads MCP (Minecraft coder's pack) and extracts it to the \mcp9xx\ directory.
  • It downloads a ton of dependencies.
  • It merges Optifine into vanilla minecraft jar.
  • It decompiles and deobfuscates the combined minecraft/optifine into \mcp9xx\src.minecraft_orig_nofix\
  • It applies any patches found in \mcppatches\ and copies the result to\mcp9xx\src.minecraft_orig\
  • It applies all the patches found in \patches\ and copies the result to \mcp9xx\src\minecraft.
  • It copies all code files found in \src\ to \mcp9xx\src\minecraft.
  • It copies all files found in \assets\ to \mcp9xx\src\assets. This directory is now the full 'Vivecraft' codebase.

If you use Eclipse you can open the workspace found in \mcp9xx\eclipse. You will have to correct the libraries (except jsr305) and JRE verssion, 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:

  • run getchanges.bat. This compares mcp9xx\src\minecraft to mcp9xx\src\minecraft_orig. patches are generated for modified files and copied to \patches. Whole new files are copied to \src.
  • Push to Github.

To build an installer:

  • run build.bat. This runs getchanges, build, and then create_install. Basically it takes the new files and patches and creates a jar. And then it uses the code and jsons found in \installer\ to make an installer.exe.

To update changes from github

  • After pulling changes from github run applychanges.bat. This backs up mcp9xx\src\minecraft to mcp9xx\src\minecraft_bak, and starts over by applying all patches in \patches\ to mcp9xx\src\minecraft_orig, and copies the result o mcp9xx\src\minecraft
Comments
  • Movement is disabled when hands are in a block/flowing water

    Movement is disabled when hands are in a block/flowing water

    Vivecraft 1.17.1 Beta - When player hand is in a block, the movement/turning controls stop working. Like when Left hand is sunk into a block - cant move, when right - cannot turn. Have to pull hands back to enable controls. Also happens when being submerged or moved by flowing water. Very gamebreaking. The problem with solid blocks and right hand happen not all the time(or not with any settings - as i tried to change settings and it disappeared for now). But having right hand in flowing water completely disables all right controller except for its position tracking, untill the hand is out of water. Left hand is working without issues in flowing water. Using : Play Mode - Standing, Free-Move Type:Controller, Weapon Collisions:Auto, Roomscale Jumping and Climbing :ON.

    opened by DimkaAkuma 11
  • Opting to make a separate, more advanced version of Vivecraft that doesn't include Forge or Optifine.

    Opting to make a separate, more advanced version of Vivecraft that doesn't include Forge or Optifine.

    Now, I know, this sounds a bit bizarre, and I don't know a lot about how Vivecraft is structured, but would it be possible to create something like that? The standard versions would still follow, and this is really only something personal that I would need for the 1.17 version specifically, so you can play around with it a bit. Again, I don't exactly know how dependent Vivecraft is on Forge and the likes, but a version like described could be used for clever testing.

    opened by tort-oise 8
  • [FR] option to disable

    [FR] option to disable "eat me"-pie ect.

    I'd like to disable the spawning of the "eat me"-pie, "drink me"-water and other similar Items (if any) in my inventory. I was unable to find such an option.

    opened by Korbinbrandon 3
  • Crashing after only a few seconds

    Crashing after only a few seconds

    Vivecraft 1.16.5 works great, but 1.17.1 only shows the title screen for a few seconds, then it crashes with this crash report:

    A fatal error has been detected by the Java Runtime Environment:

    EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff9e0175b00, pid=23976, tid=30788

    JRE version: OpenJDK Runtime Environment Microsoft-22300 (16.0.1+9) (build 16.0.1+9) Java VM: OpenJDK 64-Bit Server VM Microsoft-22300 (16.0.1+9, mixed mode, tiered, compressed oops, compressed class ptrs, parallel gc, windows-amd64) Problematic frame: C [nvoglv64.dll+0xea5b00]

    No core dump will be written. Minidumps are not enabled by default on client versions of Windows

    I'm using a 10900k, a gtx 1080, and for my headset, a Quest 2. I'm on Windows 11, if that matters. I made sure to update my Game Ready Drivers, and the problem still persists.

    opened by Steven121314 3
  • Installer doesn't work with Launcher from Xbox Game Pass

    Installer doesn't work with Launcher from Xbox Game Pass

    I launched Vivecraft for the first time with the Launcher from Xbox Game Pass app on Windows 10. The installer runs, but the profiles never appear in the launcher.

    I poked around a bit and after trying to install 1.16 with "Forge" i realized that the launcher profile file being written to by Vivecraft installers is not the one being used by the launcher from Xbox app. The installer targets:

    launcher_profiles.json

    the launcher targets: launcher_profiles_microsoft_store.json

    I was able to get the integration working by [killing the launcher] and copying launcher_profiles_microsoft_store.json to launcher_profiles.json, running the installer, then copying launcher_profiles.json back to launcher_profiles_microsoft_store.json

    opened by epheph 2
  • lag ;(

    lag ;(

    I'm unsure if this is an issue with my pc, me using oculus quest 2 or Mojang. whenever I try to load it up I experience a great amount of lag and my screen will try to catch up, in the process shaking a lot. I am quite unsure if they is anything I can do, am I able to wait it out, or should I for now try an older version?

    opened by Microwaveg 2
  • Installer not downloading as a program

    Installer not downloading as a program

    When i download the file it downloads not as a program but as something you can open with winrar or whatever it means i cant actually launch the program. I tried to change it to anything i could for it to open but it simply doesnt work how do i fix this issue?

    opened by Zumoshika 2
  • Minecraft crashed: exit code 0

    Minecraft crashed: exit code 0

    • Version for 1.16 works flawlessly
    • Oculus Quest 2
    • Windows 10 x64
    • java Runtime 1.8.0_251 When trying to start 1.17.1 Vivecraft, minecraft crashes with error code 0 (which is pretty weird, because 0 is code for proper exit) No crash logs (empty)
    opened by apepenkov 2
  • VR Issue

    VR Issue

    When I Launch Vivecraft It Lags Out My PC Like HELL. Also When Vivecaft Actually Loads Im Stuck In The Dirt Cube And Cannot Move My VR Hands. JrJubudda Could You Fix This Please?

    opened by Lmorthian 2
  • Broken Contextual Interact, Right Click Delay Broken & Not Present

    Broken Contextual Interact, Right Click Delay Broken & Not Present

    Blocks that normally support contextual interact no longer seem to. Now it's only entities like item frames & animals.

    Also, the option for right click delay is no longer present in controller options, and editing it through the files doesn't seem to work. This sucks because I constantly find myself placing blocks or casting a fishing rod twice on one input.

    opened by SCAbruh 1
  • Cannot install on Mac with MultiMC

    Cannot install on Mac with MultiMC

    It is impossible to select the MultiMC "directory" within the installer. On a Mac, MultiMC (and all it's subfolders, instances, etc) are located in the MultiMC.app file. The contents can be viewed via terminal, however navigating within the installer to the directory where the MultiMC.app file is located shows nothing.

    Symlinks also do not seem to fix the issue.

    opened by raulium 1
  • "Reverse Hands" option needs work

    This is a follow on to an issue in one of the older vivecraft repos https://github.com/jrbudda/Vivecraft_110/issues/105

    Expected Behavior:

    1. The "main hand" tool appears on the same side in both VR and non-VR play
    2. A third-person observer sees the same main-hand side and orientation as the VR player does.
    3. There should be just one setting for the "main hand" leftiness.

    Actual Behavior:

    1. In some cases, the "main hand" tool appears on different sides of the body in VR vs. non-VR play. The two play modes should be consistent.
    2. In some cases, the "main hand" tool or pose appearance differs between first-person and third-person views. The hands should appear consistently when viewed by one's self, and by other players.
    3. There are two Options: Skin Customization->Main Hand: [Right, Left] and VR Settings->Controller Settings->Reverse Hands: [OFF, ON]. The main tool hand should be set in just one place.

    Test Conditions:

    • Minecraft Java edition 1.18.2
    • Minecraft paper 1.18.2 server using Vivecraft_Spigot_Extension.jar posted on on Vivecraft discord 16 March 2022
    • Clients are using vivecraft-1.18.2-jrbudda-[VR,NONVR]-2-a3-installer.jar posted 27 March 2022
    • First-person player is using original HTC Vive headset and wand controllers
    • Third-person observer is using non-VR vivecraft-1.18.2-jrbudda-NONVR-2-a3-installer.jar client, while the first-person player is in VR.
    • First-person player is using either the VR or non-VR client (see below)

    Test Results:

    | Skin Customization | VR Settings | 1st person VR | 1st person non-VR | 3rd person | | ------------------- | ------------ | -------------- | ------------------- | ----------- | | Main Hand: Right | Reverse Hands: OFF | vr_first_right :heavy_check_mark: | nonvr_first_right :heavy_check_mark: | third_right_off :heavy_check_mark: | | Main Hand: Right | Reverse Hands: ON | vr_first_right_on :x: | nonvr_first_right :heavy_check_mark: | third_right_on | | Main Hand: Left | Reverse Hands: OFF | vr_first_left :x: | nonvr_first_left :heavy_check_mark: | third_left_off | | Main Hand: Left | Reverse Hands: ON | vr_first_left_on :x: | nonvr_first_left :heavy_check_mark: | third_left_on :x: |

    What is working correctly:

    • The hotbar is oriented correctly on the side of the off-hand arm in VR (at least after menus have been visited at least once)

    What is not working correctly:

    • When Reverse Hands is ON, the off-hand held shield is located between my arm and my body. This is wrong. So the held-item pose is not correct in this case. This problem is apparent in both the first-person and third-person views.
    • When Skin Customization->Main Hand:LEFT is selected, the First and Third person views disagree about which item is held in which hand.
    • Vivecraft should respect the main tool hand specified in the Skin Customization options.

    There are interesting changes in the arm textures in the various cases, but I have not yet studied carefully enough to decide if any are incorrect.

    opened by cmbruns 3
  • On linux, doesn't work

    On linux, doesn't work

    First it couldn't download OptiFine or almost anything else from running the installer. Then, when I ran the profile created in Java edition it took a while before saying to check and make sure that my drivers were up to date. I'm on Linux. Help!

    opened by qwertious 0
  • Oculus Quest 2 controllers not working

    Oculus Quest 2 controllers not working

    Hi!

    Today the Quest 2 controllers got an software update and when trying playing vivecraft eveything works fine as before except that the controllers don't show up in the game. Can't start and play the game.

    Is this due to the OQ2 controller update? Anyone experiencing similar issue?

    It worked just fine this other day. Running 1.17.x with virtual desktop on OQ2 and Windows with SteamVR.

    Thanks for a nice piece of software anyhow.

    opened by rozahp 0
  • Vivecraft 1.17.1 v2 (VR) Crashed on Startup

    Vivecraft 1.17.1 v2 (VR) Crashed on Startup

    I downloaded and installed Vivecraft 1.17.1 v2 (VR) on a plain Minecraft 1.17.1. After several seconds the game crashed. The window didn't show up. I'm using JDK 17.0.1, Windows 10, and a Oculus Quest 2. Vivecraft 1.12.2 run perfectly under the same condition. I haven't tried 1.16.X.

    Here is the full crash report.

    ---- Minecraft Crash Report ---- // My bad.

    Time: 2021/12/30 下午3:35 Description: Initializing game

    java.lang.NoSuchFieldError: ForgeHooksClient_invalidateLog4jThreadCache at dvp.(Minecraft.java:520) at net.minecraft.client.main.Main.main(Main.java:194) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at net.minecraft.launchwrapper.Launch.launch(Launch.java:159) at net.minecraft.launchwrapper.Launch.main(Launch.java:30)

    A detailed walkthrough of the error, its code path and all known details is as follows:

    -- Head -- Thread: Render thread Stacktrace: at dvp.(Minecraft.java:520)

    -- Initialization -- Details: Stacktrace: at net.minecraft.client.main.Main.main(Main.java:194) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at net.minecraft.launchwrapper.Launch.launch(Launch.java:159) at net.minecraft.launchwrapper.Launch.main(Launch.java:30)

    -- System Details -- Details: Minecraft Version: 1.17.1 Minecraft Version ID: 1.17.1 Operating System: Windows 10 (amd64) version 10.0 Java Version: 17.0.1, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation Memory: 3628303960 bytes (3460 MiB) / 3858759680 bytes (3680 MiB) up to 4160749568 bytes (3968 MiB) CPUs: 16 Processor Vendor: AuthenticAMD Processor Name: AMD Ryzen 7 4800H with Radeon Graphics
    Identifier: AuthenticAMD Family 23 Model 96 Stepping 1 Microarchitecture: unknown Frequency (GHz): 2.89 Number of physical packages: 1 Number of physical CPUs: 8 Number of logical CPUs: 16 Graphics card #0 name: NVIDIA GeForce GTX 1650 Ti Graphics card #0 vendor: NVIDIA (0x10de) Graphics card #0 VRAM (MB): 4095.00 Graphics card #0 deviceId: 0x1f95 Graphics card #0 versionInfo: DriverVersion=27.21.14.5749 Memory slot #0 capacity (MB): 8192.00 Memory slot #0 clockSpeed (GHz): 3.20 Memory slot #0 type: DDR4 Memory slot #1 capacity (MB): 8192.00 Memory slot #1 clockSpeed (GHz): 3.20 Memory slot #1 type: DDR4 Virtual memory max (MB): 29064.60 Virtual memory used (MB): 25333.57 Swap memory total (MB): 13323.29 Swap memory used (MB): 380.16 JVM Flags: 11 total; -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=16M -XX:-UseAdaptiveSizePolicy -XX:-OmitStackTraceInFastThrow -Xmn128m -Xmx3968m -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump Launched Version: HMCL 3.3.188 Backend library: LWJGL version 3.2.2 build 10 Backend API: NO CONTEXT Window size: GL Caps: Using framebuffer using OpenGL 3.2 GL debug messages: Using VBOs: Yes Is Modded: Definitely; Client brand changed to 'vivecraft' Type: Client (map_client.txt) CPU: OptiFine Version: OptiFine_1.17.1_HD_U_H2_pre1 OptiFine Build: 20211104-233441 Shaders: null OpenGlVersion: null OpenGlRenderer: null OpenGlVendor: null CpuCount: 0

    I viewed the code and found the exception is probably caused here:

    Vivecraft_117/patches/VR/net/minecraft/client/Minecraft.java.patch

    •    Reflector.call(Reflector.ForgeHooksClient_invalidateLog4jThreadCache);
      

    I wonder if I've done something wrong or there is a bug.

    opened by zer0M1nd 0
Releases(1.17.1v2)
Owner
I write software for a living. Also as a hobby. If you don't mind your money going towards hookers and blow you can paypal me at [email protected].
null
Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cross-chatting between Minecraft and Discord.

DiscordSync Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cros

AeonLucid 4 Dec 20, 2022
bedroom is a latest version fabric base for minecraft clients.

bedroom is a latest version fabric base for minecraft clients. this was made to serve as the base for beach house, i'm just making it public so others

beach house development 27 Dec 15, 2022
Exeter client. A client created by Friendly, for Minecraft version 1.8

Exeter client. A client created by Friendly, for Minecraft version 1.8. It has been released or leaked on that version.

null 25 Dec 31, 2022
Minecraft minigame (on working, not a final nor alpha version) HUGE UPDATE COMING SOON

This project is a little minecraft minigame where the goal is either to capture all the ennemies flags or killing all the ennemies, the core gameplay

Laforge 4 Oct 6, 2022
An elegant Minecraft mod template for the Fabric mod loader

Fabric Example Mod Lorem ipsum dolor sit amet Example is a Minecraft mod that lorem ipsum dolor sit amet. Ut mi lectus, egestas a justo nec, hendrerit

Axieum 24 Dec 25, 2022
Addon to the Minecraft Forge/Fabric mod InvMove that adds mod compatibilities

Addon to the Minecraft Forge/Fabric mod InvMove that adds mod compatibilities

David M. 3 Oct 21, 2022
Minecraft Utility Mod for the latest release of Minecraft developed by Cypphi.

Minecraft Utility Mod for the latest release of Minecraft developed by Cypphi.

Haze 18 Jan 1, 2023
A version of xray that makes blocks partially transparent for mc 1.12.2

seethrough-xray a version of xray that makes blocks partially transparent feel free to skid this into ur client if you want to. if not then ok it does

Gavin 5 Dec 2, 2022
A version of the Arkanoid game, as part of the OOP course

Arkanoid! About Dependencies Installation instructions About I implemented a version of the Arkanoid game, as part of the OOP course i took during my

Osher Elhadad 4 Nov 8, 2022
Version specific implementations of the HeadlessMc runtime.

Version specific implementations of the HeadlessMc runtime. Just place the jar for your version in your mods folder. Then you need to find a way to send commands to your running Minecraft game. The easiest way is probably to just launch it with HeadlessMc.

null 6 Aug 8, 2022
eWordle: an extended version of Wordle with full-featured helper.

eWordle An extended version of Wordle (Mini Project of EBU4201) with full-featured helper. How to Play Guess the Wordle word in tries just one more th

Mingchun 6 Jun 11, 2022
Nuclear-Mines-Mod - A mod adding radiation-related items to Mindustry (radioactive materials, new guns, etc.)

Nuclear Mines (VERY EARLY BUILD) A Mindustry mod adding more radiation-based items to the game. THIS IS A VERY EARLY VERSION. NOT EVERYTHING IS FINISH

null 6 Sep 3, 2022
The Minecraft Mod API

Bukkit A Minecraft Server API. Website: http://bukkit.org Bugs/Suggestions: http://leaky.bukkit.org Contributing Guidelines: CONTRIBUTING.md Compilati

The Bukkit Project 2.2k Dec 31, 2022
🗺️ Minecraft map editor and mod

A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting! Use it in creative, survival in sing

EngineHub 2.7k Jan 1, 2023
Essentials - Minecraft server command mod - Adds over 100 commands for use in-game to help manage a server

Essentials Development Readme The official repository is at: https://github.com/essentials/Essentials We use NetBeans 7.3 for development. Recommended

Essentials 811 Jan 7, 2023
A minecraft mod that allows additional windows to be opened alongside the game

Breakout API BreakoutAPI is a Minecraft mod which allows developers to create new windows that run alongside Minecraft. All the windows run on the sam

Raph Hennessy 11 Jan 3, 2023
A Minecraft Mod for Fabric which aims to make Block Entity rendering faster and more customizable with almost no compromises.

Enhanced Block Entities EBE is a 100% client side mod for Minecraft on the Fabric mod loader which aims to increase the performance of block entity re

null 151 Dec 30, 2022
A Fabric mod designed to improve the chunk performance of Minecraft.

C^2M-Engine A Fabric mod designed to improve the chunk performance of Minecraft. So what is C2ME? C^2M-Engine, or C2ME for short, is a Fabric mod desi

null 411 Jan 5, 2023
A minecraft utility mod for 1.12.2.

Teddyware Utility Mod Teddyware is a utility mod for minecraft anarchy servers for 1.12.2. It is like optifine, and should only be used on servers tha

null 24 Dec 2, 2022