First of all I know this is a duplicate of #247 and #243 along with #252 this is just more of logging the issue, I took the liberty of looking over at their github repo and the issue popped up there but was closed and was explained that the issue is on vivecraft's side #198 with them linking the code here
|
public static void copyModelCuboidUV(ModelPart source, ModelPart dest, int sourcePoly, int destPoly) { |
|
if (!checkedForModelCuboid) { |
|
checkedForModelCuboid = true; |
|
try { |
|
Class.forName("me.jellysquid.mods.sodium.client.render.immediate.model.ModelCuboid"); |
|
sodium$cuboids = ModelPart.class.getDeclaredField("sodium$cuboids"); |
|
sodium$cuboids.setAccessible(true); |
|
hasModelCuboid = true; |
|
} catch (ClassNotFoundException ignored) { |
|
return; |
|
} catch (NoSuchFieldException e) { |
|
VRSettings.logger.error("sodium version has ModelCuboids, but field was not found. VR hands will probably look wrong"); |
|
return; |
|
} |
|
} |
|
if (hasModelCuboid) { |
|
try { |
|
ModelCuboid.Quad sourceQuad = ((ModelCuboid[]) sodium$cuboids.get(source))[0].quads[sourcePoly]; |
|
ModelCuboid.Quad destQuad = ((ModelCuboid[]) sodium$cuboids.get(dest))[0].quads[destPoly]; |
|
|
|
for (int i = 0; i < sourceQuad.textures.length; i++) { |
|
destQuad.textures[i].x = sourceQuad.textures[i].x; |
|
destQuad.textures[i].y = sourceQuad.textures[i].y; |
|
} |
|
} catch (IllegalAccessException | ClassCastException ignored) { |
|
VRSettings.logger.error("sodium version has ModelCuboids, but field has wrong type. VR hands will probably look wrong"); |
|
hasModelCuboid = false; |
|
} |
|
} |
|
} |
With the explanation being that
embeddedt commented 3 weeks ago
ViveCraft is accessing internal Sodium classes here; this needs to be fixed on their end.
https://mclo.gs/CubH2zi