diff --git a/src/main/java/com/jozufozu/flywheel/fabric/helper/BufferBuilderHelper.java b/src/main/java/com/jozufozu/flywheel/fabric/helper/BufferBuilderHelper.java index 5aa5ab715..b8c750295 100644 --- a/src/main/java/com/jozufozu/flywheel/fabric/helper/BufferBuilderHelper.java +++ b/src/main/java/com/jozufozu/flywheel/fabric/helper/BufferBuilderHelper.java @@ -1,10 +1,16 @@ package com.jozufozu.flywheel.fabric.helper; -import com.jozufozu.flywheel.mixin.fabric.BufferBuilderAccessor; +import java.nio.ByteBuffer; + +import com.jozufozu.flywheel.fabric.mixin.BufferBuilderAccessor; import com.mojang.blaze3d.vertex.BufferBuilder; import com.mojang.blaze3d.vertex.VertexFormat; public final class BufferBuilderHelper { + public static void fixByteOrder(BufferBuilder self, ByteBuffer buffer) { + buffer.order(((BufferBuilderAccessor) self).getBuffer().order()); + } + public static VertexFormat getVertexFormat(BufferBuilder self) { return ((BufferBuilderAccessor) self).getFormat(); } diff --git a/src/main/java/com/jozufozu/flywheel/fabric/helper/VertexFormatHelper.java b/src/main/java/com/jozufozu/flywheel/fabric/helper/VertexFormatHelper.java index 4241e6a3d..afe236008 100644 --- a/src/main/java/com/jozufozu/flywheel/fabric/helper/VertexFormatHelper.java +++ b/src/main/java/com/jozufozu/flywheel/fabric/helper/VertexFormatHelper.java @@ -1,6 +1,6 @@ package com.jozufozu.flywheel.fabric.helper; -import com.jozufozu.flywheel.mixin.fabric.VertexFormatAccessor; +import com.jozufozu.flywheel.fabric.mixin.VertexFormatAccessor; import com.mojang.blaze3d.vertex.VertexFormat; public final class VertexFormatHelper { diff --git a/src/main/java/com/jozufozu/flywheel/mixin/fabric/BufferBuilderAccessor.java b/src/main/java/com/jozufozu/flywheel/fabric/mixin/BufferBuilderAccessor.java similarity index 71% rename from src/main/java/com/jozufozu/flywheel/mixin/fabric/BufferBuilderAccessor.java rename to src/main/java/com/jozufozu/flywheel/fabric/mixin/BufferBuilderAccessor.java index 93cf42804..db1b4ab64 100644 --- a/src/main/java/com/jozufozu/flywheel/mixin/fabric/BufferBuilderAccessor.java +++ b/src/main/java/com/jozufozu/flywheel/fabric/mixin/BufferBuilderAccessor.java @@ -1,4 +1,6 @@ -package com.jozufozu.flywheel.mixin.fabric; +package com.jozufozu.flywheel.fabric.mixin; + +import java.nio.ByteBuffer; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; @@ -8,6 +10,9 @@ import com.mojang.blaze3d.vertex.VertexFormat; @Mixin(BufferBuilder.class) public interface BufferBuilderAccessor { + @Accessor("buffer") + ByteBuffer getBuffer(); + @Accessor("format") VertexFormat getFormat(); } diff --git a/src/main/java/com/jozufozu/flywheel/mixin/fabric/DebugScreenOverlayMixin.java b/src/main/java/com/jozufozu/flywheel/fabric/mixin/DebugScreenOverlayMixin.java similarity index 94% rename from src/main/java/com/jozufozu/flywheel/mixin/fabric/DebugScreenOverlayMixin.java rename to src/main/java/com/jozufozu/flywheel/fabric/mixin/DebugScreenOverlayMixin.java index 4ff7fe2b1..ae932936a 100644 --- a/src/main/java/com/jozufozu/flywheel/mixin/fabric/DebugScreenOverlayMixin.java +++ b/src/main/java/com/jozufozu/flywheel/fabric/mixin/DebugScreenOverlayMixin.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.mixin.fabric; +package com.jozufozu.flywheel.fabric.mixin; import java.util.List; diff --git a/src/main/java/com/jozufozu/flywheel/mixin/fabric/Matrix4fMixin.java b/src/main/java/com/jozufozu/flywheel/fabric/mixin/Matrix4fMixin.java similarity index 93% rename from src/main/java/com/jozufozu/flywheel/mixin/fabric/Matrix4fMixin.java rename to src/main/java/com/jozufozu/flywheel/fabric/mixin/Matrix4fMixin.java index 1439f6739..bfa7533f6 100644 --- a/src/main/java/com/jozufozu/flywheel/mixin/fabric/Matrix4fMixin.java +++ b/src/main/java/com/jozufozu/flywheel/fabric/mixin/Matrix4fMixin.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.mixin.fabric; +package com.jozufozu.flywheel.fabric.mixin; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; diff --git a/src/main/java/com/jozufozu/flywheel/mixin/fabric/MinecraftMixin.java b/src/main/java/com/jozufozu/flywheel/fabric/mixin/MinecraftMixin.java similarity index 95% rename from src/main/java/com/jozufozu/flywheel/mixin/fabric/MinecraftMixin.java rename to src/main/java/com/jozufozu/flywheel/fabric/mixin/MinecraftMixin.java index bc9db2136..5f645743d 100644 --- a/src/main/java/com/jozufozu/flywheel/mixin/fabric/MinecraftMixin.java +++ b/src/main/java/com/jozufozu/flywheel/fabric/mixin/MinecraftMixin.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.mixin.fabric; +package com.jozufozu.flywheel.fabric.mixin; import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/com/jozufozu/flywheel/mixin/fabric/TextureAtlasMixin.java b/src/main/java/com/jozufozu/flywheel/fabric/mixin/TextureAtlasMixin.java similarity index 94% rename from src/main/java/com/jozufozu/flywheel/mixin/fabric/TextureAtlasMixin.java rename to src/main/java/com/jozufozu/flywheel/fabric/mixin/TextureAtlasMixin.java index ad11b74ea..34b3ee74b 100644 --- a/src/main/java/com/jozufozu/flywheel/mixin/fabric/TextureAtlasMixin.java +++ b/src/main/java/com/jozufozu/flywheel/fabric/mixin/TextureAtlasMixin.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.mixin.fabric; +package com.jozufozu.flywheel.fabric.mixin; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; diff --git a/src/main/java/com/jozufozu/flywheel/mixin/fabric/VertexFormatAccessor.java b/src/main/java/com/jozufozu/flywheel/fabric/mixin/VertexFormatAccessor.java similarity index 87% rename from src/main/java/com/jozufozu/flywheel/mixin/fabric/VertexFormatAccessor.java rename to src/main/java/com/jozufozu/flywheel/fabric/mixin/VertexFormatAccessor.java index 2e533b059..231c4ad3d 100644 --- a/src/main/java/com/jozufozu/flywheel/mixin/fabric/VertexFormatAccessor.java +++ b/src/main/java/com/jozufozu/flywheel/fabric/mixin/VertexFormatAccessor.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.mixin.fabric; +package com.jozufozu.flywheel.fabric.mixin; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; diff --git a/src/main/java/com/jozufozu/flywheel/util/BufferBuilderReader.java b/src/main/java/com/jozufozu/flywheel/util/BufferBuilderReader.java index bd19f615a..07b3d252e 100644 --- a/src/main/java/com/jozufozu/flywheel/util/BufferBuilderReader.java +++ b/src/main/java/com/jozufozu/flywheel/util/BufferBuilderReader.java @@ -18,6 +18,7 @@ public class BufferBuilderReader { VertexFormat vertexFormat = BufferBuilderHelper.getVertexFormat(builder); Pair data = builder.popNextBuffer(); buffer = data.getSecond(); + BufferBuilderHelper.fixByteOrder(builder, buffer); formatSize = vertexFormat.getVertexSize(); diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index ab7cb4a3f..50bba9c41 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -25,7 +25,8 @@ ] }, "mixins": [ - "flywheel.mixins.json" + "flywheel.mixins.json", + "flywheel.fabric.mixins.json" ], "depends": { diff --git a/src/main/resources/flywheel.fabric.mixins.json b/src/main/resources/flywheel.fabric.mixins.json new file mode 100644 index 000000000..2d165e3e8 --- /dev/null +++ b/src/main/resources/flywheel.fabric.mixins.json @@ -0,0 +1,17 @@ +{ + "required": true, + "minVersion": "0.8", + "package": "com.jozufozu.flywheel.fabric.mixin", + "compatibilityLevel": "JAVA_17", + "client": [ + "BufferBuilderAccessor", + "DebugScreenOverlayMixin", + "Matrix4fMixin", + "MinecraftMixin", + "TextureAtlasMixin", + "VertexFormatAccessor" + ], + "injectors": { + "defaultRequire": 1 + } +} diff --git a/src/main/resources/flywheel.mixins.json b/src/main/resources/flywheel.mixins.json index 1b63bdd6b..5e5f07141 100644 --- a/src/main/resources/flywheel.mixins.json +++ b/src/main/resources/flywheel.mixins.json @@ -21,13 +21,6 @@ "matrix.Matrix3fMixin", "matrix.Matrix4fMixin", "matrix.PoseStackMixin" - , - "fabric.BufferBuilderAccessor", - "fabric.DebugScreenOverlayMixin", - "fabric.Matrix4fMixin", - "fabric.MinecraftMixin", - "fabric.TextureAtlasMixin", - "fabric.VertexFormatAccessor" ], "injectors": { "defaultRequire": 1