From b1fb53087b7d43d3cd4adad8a9dd562e7c221485 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Wed, 20 Dec 2023 16:05:03 -0500 Subject: [PATCH] Retrieve TEXTURE_MAX_VALUE from compact chunk vertex --- .../terrain_xhfp/XHFPModelVertexType.java | 3 ++- .../vertex_format/CompactChunkVertexAccessor.java | 13 +++++++++++++ .../resources/mixins.oculus.compat.sodium.json | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/sodiumCompatibility/java/net/coderbot/iris/compat/sodium/mixin/vertex_format/CompactChunkVertexAccessor.java diff --git a/src/sodiumCompatibility/java/net/coderbot/iris/compat/sodium/impl/vertex_format/terrain_xhfp/XHFPModelVertexType.java b/src/sodiumCompatibility/java/net/coderbot/iris/compat/sodium/impl/vertex_format/terrain_xhfp/XHFPModelVertexType.java index 827aab09fa..aa0cd7e1d4 100644 --- a/src/sodiumCompatibility/java/net/coderbot/iris/compat/sodium/impl/vertex_format/terrain_xhfp/XHFPModelVertexType.java +++ b/src/sodiumCompatibility/java/net/coderbot/iris/compat/sodium/impl/vertex_format/terrain_xhfp/XHFPModelVertexType.java @@ -7,6 +7,7 @@ import me.jellysquid.mods.sodium.client.render.chunk.vertex.format.ChunkVertexType; import net.coderbot.iris.compat.sodium.impl.vertex_format.IrisChunkMeshAttributes; import net.coderbot.iris.compat.sodium.impl.vertex_format.IrisGlVertexAttributeFormat; +import net.coderbot.iris.compat.sodium.mixin.vertex_format.CompactChunkVertexAccessor; /** * Like HFPModelVertexType, but extended to support Iris. The extensions aren't particularly efficient right now. @@ -27,7 +28,7 @@ public class XHFPModelVertexType implements ChunkVertexType { .build(); private static final int POSITION_MAX_VALUE = 65536; - private static final int TEXTURE_MAX_VALUE = 65536; + private static final int TEXTURE_MAX_VALUE = CompactChunkVertexAccessor.getTEXTURE_MAX_VALUE(); private static final float MODEL_ORIGIN = 8.0f; private static final float MODEL_RANGE = 32.0f; diff --git a/src/sodiumCompatibility/java/net/coderbot/iris/compat/sodium/mixin/vertex_format/CompactChunkVertexAccessor.java b/src/sodiumCompatibility/java/net/coderbot/iris/compat/sodium/mixin/vertex_format/CompactChunkVertexAccessor.java new file mode 100644 index 0000000000..1dfe3acce3 --- /dev/null +++ b/src/sodiumCompatibility/java/net/coderbot/iris/compat/sodium/mixin/vertex_format/CompactChunkVertexAccessor.java @@ -0,0 +1,13 @@ +package net.coderbot.iris.compat.sodium.mixin.vertex_format; + +import me.jellysquid.mods.sodium.client.render.chunk.vertex.format.impl.CompactChunkVertex; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +@Mixin(CompactChunkVertex.class) +public interface CompactChunkVertexAccessor { + @Accessor + static int getTEXTURE_MAX_VALUE() { + throw new AssertionError(); + } +} diff --git a/src/sodiumCompatibility/resources/mixins.oculus.compat.sodium.json b/src/sodiumCompatibility/resources/mixins.oculus.compat.sodium.json index 204b542155..fe3c52e506 100644 --- a/src/sodiumCompatibility/resources/mixins.oculus.compat.sodium.json +++ b/src/sodiumCompatibility/resources/mixins.oculus.compat.sodium.json @@ -46,6 +46,7 @@ "sky.MixinLevelRenderer", "vertex_format.entity.MixinEntityRenderDispatcher", "vertex_format.entity.MixinModelVertex", + "vertex_format.CompactChunkVertexAccessor", "vertex_format.ChunkMeshAttributeAccessor", "vertex_format.GlVertexAttributeFormatAccessor", "vertex_format.MixinChunkMeshAttribute",