Created
June 13, 2022 21:29
-
-
Save magneticflux-/92928855a9a7e79f37389f93341f9ff2 to your computer and use it in GitHub Desktop.
Indium Sodium/next (b98aca11) patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Index: build.gradle | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/build.gradle b/build.gradle | |
--- a/build.gradle (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/build.gradle (date 1655155771689) | |
@@ -43,7 +43,7 @@ | |
// PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs. | |
// You may need to force-disable transitiveness on them. | |
- modImplementation "maven.modrinth:sodium:mc1.19-0.4.2" | |
+ modImplementation files("libs/sodium-fabric-0.5.0+mc1.19-unstable.jar") | |
// Transitive dependency of Sodium | |
implementation("org.joml:joml:1.10.2") | |
Index: src/main/java/link/infra/indium/renderer/render/VertexConsumerQuadBufferer.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/src/main/java/link/infra/indium/renderer/render/VertexConsumerQuadBufferer.java b/src/main/java/link/infra/indium/renderer/render/VertexConsumerQuadBufferer.java | |
--- a/src/main/java/link/infra/indium/renderer/render/VertexConsumerQuadBufferer.java (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/src/main/java/link/infra/indium/renderer/render/VertexConsumerQuadBufferer.java (date 1655081395526) | |
@@ -1,10 +1,8 @@ | |
package link.infra.indium.renderer.render; | |
-import java.util.function.Function; | |
- | |
import link.infra.indium.other.SpriteFinderCache; | |
import link.infra.indium.renderer.mesh.MutableQuadViewImpl; | |
-import me.jellysquid.mods.sodium.client.render.texture.SpriteUtil; | |
+import net.caffeinemc.sodium.render.texture.SpriteUtil; | |
import net.minecraft.client.render.RenderLayer; | |
import net.minecraft.client.render.VertexConsumer; | |
import net.minecraft.client.texture.Sprite; | |
@@ -12,6 +10,8 @@ | |
import net.minecraft.util.math.Matrix4f; | |
import net.minecraft.util.math.Vec3f; | |
+import java.util.function.Function; | |
+ | |
public abstract class VertexConsumerQuadBufferer implements BaseQuadRenderer.QuadBufferer { | |
protected final Function<RenderLayer, VertexConsumer> bufferFunc; | |
protected final Vec3f normalVec = new Vec3f(); | |
Index: src/main/java/link/infra/indium/renderer/render/ChunkQuadBufferer.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/src/main/java/link/infra/indium/renderer/render/ChunkQuadBufferer.java b/src/main/java/link/infra/indium/renderer/render/ChunkQuadBufferer.java | |
--- a/src/main/java/link/infra/indium/renderer/render/ChunkQuadBufferer.java (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/src/main/java/link/infra/indium/renderer/render/ChunkQuadBufferer.java (date 1655081300822) | |
@@ -1,29 +1,26 @@ | |
package link.infra.indium.renderer.render; | |
-import java.util.function.Function; | |
- | |
import link.infra.indium.other.SpriteFinderCache; | |
import link.infra.indium.renderer.mesh.MutableQuadViewImpl; | |
-import me.jellysquid.mods.sodium.client.model.IndexBufferBuilder; | |
-import me.jellysquid.mods.sodium.client.model.quad.properties.ModelQuadFacing; | |
-import me.jellysquid.mods.sodium.client.model.quad.properties.ModelQuadWinding; | |
-import me.jellysquid.mods.sodium.client.render.chunk.compile.buffers.ChunkModelBuilder; | |
-import me.jellysquid.mods.sodium.client.render.chunk.format.ModelVertexSink; | |
-import me.jellysquid.mods.sodium.client.util.color.ColorABGR; | |
+import net.caffeinemc.sodium.render.chunk.compile.buffers.ChunkMeshBuilder; | |
+import net.caffeinemc.sodium.render.terrain.format.TerrainVertexSink; | |
+import net.caffeinemc.sodium.render.terrain.quad.properties.ChunkMeshFace; | |
+import net.caffeinemc.sodium.util.packed.ColorABGR; | |
import net.minecraft.client.render.RenderLayer; | |
import net.minecraft.client.texture.Sprite; | |
-import net.minecraft.util.math.Direction; | |
import net.minecraft.util.math.Vec3d; | |
import net.minecraft.util.math.Vec3i; | |
+import java.util.function.Function; | |
+ | |
public abstract class ChunkQuadBufferer implements BaseQuadRenderer.QuadBufferer { | |
- protected final Function<RenderLayer, ChunkModelBuilder> builderFunc; | |
+ protected final Function<RenderLayer, ChunkMeshBuilder> builderFunc; | |
protected abstract Vec3i origin(); | |
protected abstract Vec3d blockOffset(); | |
- ChunkQuadBufferer(Function<RenderLayer, ChunkModelBuilder> builderFunc) { | |
+ ChunkQuadBufferer(Function<RenderLayer, ChunkMeshBuilder> builderFunc) { | |
this.builderFunc = builderFunc; | |
} | |
@@ -32,15 +29,10 @@ | |
bufferQuad(builderFunc.apply(renderLayer), quad, origin(), blockOffset()); | |
} | |
- public static void bufferQuad(ChunkModelBuilder builder, MutableQuadViewImpl quad, Vec3i origin, Vec3d blockOffset) { | |
- ModelVertexSink vertices = builder.getVertexSink(); | |
+ public static void bufferQuad(ChunkMeshBuilder builder, MutableQuadViewImpl quad, Vec3i origin, Vec3d blockOffset) { | |
+ TerrainVertexSink vertices = builder.getVertexSink(ChunkMeshFace.fromDirection(quad.nominalFace())); | |
vertices.ensureCapacity(4); | |
- Direction cullFace = quad.cullFace(); | |
- IndexBufferBuilder indices = builder.getIndexBufferBuilder(cullFace != null ? ModelQuadFacing.fromDirection(cullFace) : ModelQuadFacing.UNASSIGNED); | |
- | |
- int vertexStart = vertices.getVertexCount(); | |
- | |
for (int i = 0; i < 4; i++) { | |
float x = quad.x(i) + (float) blockOffset.getX(); | |
float y = quad.y(i) + (float) blockOffset.getY(); | |
@@ -54,10 +46,8 @@ | |
int lm = quad.lightmap(i); | |
- vertices.writeVertex(origin, x, y, z, color, u, v, lm, builder.getChunkId()); | |
+ vertices.writeVertex(origin, x, y, z, color, u, v, lm); | |
} | |
- | |
- indices.add(vertexStart, ModelQuadWinding.CLOCKWISE); | |
Sprite sprite = quad.cachedSprite(); | |
Index: src/main/java/link/infra/indium/mixin/sodium/MixinChunkRenderRebuildTask.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/src/main/java/link/infra/indium/mixin/sodium/MixinChunkRenderRebuildTask.java b/src/main/java/link/infra/indium/mixin/sodium/MixinChunkRenderRebuildTask.java | |
--- a/src/main/java/link/infra/indium/mixin/sodium/MixinChunkRenderRebuildTask.java (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/src/main/java/link/infra/indium/mixin/sodium/MixinChunkRenderRebuildTask.java (date 1655081300827) | |
@@ -1,43 +1,42 @@ | |
package link.infra.indium.mixin.sodium; | |
-import link.infra.indium.other.AccessBlockRenderer; | |
-import org.spongepowered.asm.mixin.Mixin; | |
-import org.spongepowered.asm.mixin.injection.At; | |
-import org.spongepowered.asm.mixin.injection.Inject; | |
-import org.spongepowered.asm.mixin.injection.Redirect; | |
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; | |
- | |
import link.infra.indium.Indium; | |
+import link.infra.indium.other.AccessBlockRenderer; | |
import link.infra.indium.other.AccessChunkRenderCacheLocal; | |
import link.infra.indium.renderer.render.TerrainRenderContext; | |
-import me.jellysquid.mods.sodium.client.gl.compile.ChunkBuildContext; | |
-import me.jellysquid.mods.sodium.client.render.chunk.compile.ChunkBuildResult; | |
-import me.jellysquid.mods.sodium.client.render.chunk.compile.buffers.ChunkModelBuilder; | |
-import me.jellysquid.mods.sodium.client.render.chunk.tasks.ChunkRenderBuildTask; | |
-import me.jellysquid.mods.sodium.client.render.chunk.tasks.ChunkRenderRebuildTask; | |
-import me.jellysquid.mods.sodium.client.render.pipeline.BlockRenderer; | |
-import me.jellysquid.mods.sodium.client.util.task.CancellationSource; | |
+import net.caffeinemc.sodium.render.chunk.compile.buffers.ChunkMeshBuilder; | |
+import net.caffeinemc.sodium.render.chunk.compile.tasks.AbstractBuilderTask; | |
+import net.caffeinemc.sodium.render.chunk.compile.tasks.TerrainBuildResult; | |
+import net.caffeinemc.sodium.render.chunk.compile.tasks.TerrainBuildTask; | |
+import net.caffeinemc.sodium.render.terrain.BlockRenderer; | |
+import net.caffeinemc.sodium.render.terrain.TerrainBuildContext; | |
+import net.caffeinemc.sodium.util.tasks.CancellationSource; | |
import net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel; | |
import net.minecraft.block.BlockState; | |
import net.minecraft.client.render.model.BakedModel; | |
import net.minecraft.util.math.BlockPos; | |
import net.minecraft.util.math.Vec3d; | |
import net.minecraft.world.BlockRenderView; | |
+import org.spongepowered.asm.mixin.Mixin; | |
+import org.spongepowered.asm.mixin.injection.At; | |
+import org.spongepowered.asm.mixin.injection.Inject; | |
+import org.spongepowered.asm.mixin.injection.Redirect; | |
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; | |
/** | |
* The main injection point into Sodium - here we stop Sodium from rendering FRAPI block models, and do it ourselves | |
*/ | |
-@Mixin(ChunkRenderRebuildTask.class) | |
-public abstract class MixinChunkRenderRebuildTask extends ChunkRenderBuildTask { | |
+@Mixin(TerrainBuildTask.class) | |
+public abstract class MixinChunkRenderRebuildTask extends AbstractBuilderTask { | |
@Inject(method = "performBuild", at = @At("HEAD"), remap = false) | |
- public void beforePerformBuild(ChunkBuildContext buildContext, CancellationSource cancellationSource, CallbackInfoReturnable<ChunkBuildResult> cir) { | |
+ public void beforePerformBuild(TerrainBuildContext buildContext, CancellationSource cancellationSource, CallbackInfoReturnable<TerrainBuildResult> cir) { | |
TerrainRenderContext context = ((AccessChunkRenderCacheLocal) buildContext.cache).indium$getTerrainRenderContext(); | |
// Set up our rendering context | |
context.prepare(buildContext.cache.getWorldSlice(), buildContext.buffers, ((AccessBlockRenderer) buildContext.cache.getBlockRenderer()).indium$getBlockOcclusionCache()); | |
} | |
@Inject(method = "performBuild", at = @At("RETURN"), remap = false) | |
- public void afterPerformBuild(ChunkBuildContext buildContext, CancellationSource cancellationSource, CallbackInfoReturnable<ChunkBuildResult> cir) { | |
+ public void afterPerformBuild(TerrainBuildContext buildContext, CancellationSource cancellationSource, CallbackInfoReturnable<TerrainBuildResult> cir) { | |
TerrainRenderContext context = ((AccessChunkRenderCacheLocal) buildContext.cache).indium$getTerrainRenderContext(); | |
// Tear down our rendering context | |
context.release(); | |
@@ -46,8 +45,8 @@ | |
// Can't specify the arguments here, as the arguments wouldn't get remapped | |
// and remap = true fails as it tries to find a mapping for renderBlock | |
// so I just let MinecraftDev yell at me here | |
- @Redirect(method = "performBuild", at = @At(value = "INVOKE", target = "Lme/jellysquid/mods/sodium/client/render/pipeline/BlockRenderer;renderModel"), remap = false) | |
- public boolean onRenderBlock(BlockRenderer blockRenderer, BlockRenderView world, BlockState state, BlockPos pos, BlockPos origin, BakedModel model, ChunkModelBuilder buffers, boolean cull, long seed, ChunkBuildContext buildContext, CancellationSource cancellationSource) { | |
+ @Redirect(method = "performBuild", at = @At(value = "INVOKE", target = "Lnet/caffeinemc/sodium/render/terrain/BlockRenderer;renderModel"), remap = false) | |
+ public boolean onRenderBlock(BlockRenderer blockRenderer, BlockRenderView world, BlockState state, BlockPos pos, BlockPos origin, BakedModel model, ChunkMeshBuilder buffers, boolean cull, long seed, TerrainBuildContext buildContext, CancellationSource cancellationSource) { | |
// We need to get the model with a bit more context than BlockRenderer has, so we do it here | |
if (!Indium.ALWAYS_TESSELLATE_INDIUM && ((FabricBakedModel) model).isVanillaAdapter()) { | |
Index: src/main/java/link/infra/indium/renderer/render/ChunkRenderInfo.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/src/main/java/link/infra/indium/renderer/render/ChunkRenderInfo.java b/src/main/java/link/infra/indium/renderer/render/ChunkRenderInfo.java | |
--- a/src/main/java/link/infra/indium/renderer/render/ChunkRenderInfo.java (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/src/main/java/link/infra/indium/renderer/render/ChunkRenderInfo.java (date 1655080264935) | |
@@ -19,8 +19,8 @@ | |
import it.unimi.dsi.fastutil.longs.Long2FloatOpenHashMap; | |
import it.unimi.dsi.fastutil.longs.Long2IntOpenHashMap; | |
import link.infra.indium.renderer.aocalc.AoLuminanceFix; | |
-import me.jellysquid.mods.sodium.client.render.chunk.compile.ChunkBuildBuffers; | |
-import me.jellysquid.mods.sodium.client.render.chunk.compile.buffers.ChunkModelBuilder; | |
+import net.caffeinemc.sodium.render.chunk.compile.buffers.ChunkMeshBuilder; | |
+import net.caffeinemc.sodium.render.chunk.compile.tasks.TerrainBuildBuffers; | |
import net.minecraft.block.BlockState; | |
import net.minecraft.client.render.RenderLayer; | |
import net.minecraft.client.render.WorldRenderer; | |
@@ -61,7 +61,7 @@ | |
private final Long2FloatOpenHashMap aoLevelCache; | |
BlockRenderView blockView; | |
- ChunkBuildBuffers buffers; | |
+ TerrainBuildBuffers buffers; | |
boolean didOutput = false; | |
ChunkRenderInfo() { | |
@@ -71,7 +71,7 @@ | |
aoLevelCache.defaultReturnValue(Float.MAX_VALUE); | |
} | |
- void prepare(BlockRenderView blockView, ChunkBuildBuffers buffers) { | |
+ void prepare(BlockRenderView blockView, TerrainBuildBuffers buffers) { | |
this.blockView = blockView; | |
this.buffers = buffers; | |
brightnessCache.clear(); | |
@@ -83,7 +83,7 @@ | |
buffers = null; | |
} | |
- public ChunkModelBuilder getChunkModelBuilder(RenderLayer renderLayer) { | |
+ public ChunkMeshBuilder getChunkModelBuilder(RenderLayer renderLayer) { | |
didOutput = true; | |
return buffers.get(renderLayer); | |
} | |
Index: src/main/resources/fabric.mod.json | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json | |
--- a/src/main/resources/fabric.mod.json (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/src/main/resources/fabric.mod.json (date 1655081440947) | |
@@ -29,7 +29,7 @@ | |
"depends": { | |
"fabricloader": ">=0.8.0", | |
"minecraft": "~1.19", | |
- "sodium": "0.4.2", | |
+ "sodium": "0.5.0", | |
"fabric-renderer-api-v1": ">=0.3.0", | |
"fabric-resource-loader-v0": ">=0.4.0" | |
} | |
Index: src/main/java/link/infra/indium/other/AccessBlockRenderer.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/src/main/java/link/infra/indium/other/AccessBlockRenderer.java b/src/main/java/link/infra/indium/other/AccessBlockRenderer.java | |
--- a/src/main/java/link/infra/indium/other/AccessBlockRenderer.java (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/src/main/java/link/infra/indium/other/AccessBlockRenderer.java (date 1655081300817) | |
@@ -1,6 +1,6 @@ | |
package link.infra.indium.other; | |
-import me.jellysquid.mods.sodium.client.render.occlusion.BlockOcclusionCache; | |
+import net.caffeinemc.sodium.render.terrain.BlockOcclusionCache; | |
public interface AccessBlockRenderer { | |
BlockOcclusionCache indium$getBlockOcclusionCache(); | |
Index: src/main/java/link/infra/indium/renderer/render/BlockRenderInfo.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/src/main/java/link/infra/indium/renderer/render/BlockRenderInfo.java b/src/main/java/link/infra/indium/renderer/render/BlockRenderInfo.java | |
--- a/src/main/java/link/infra/indium/renderer/render/BlockRenderInfo.java (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/src/main/java/link/infra/indium/renderer/render/BlockRenderInfo.java (date 1655079829104) | |
@@ -16,7 +16,7 @@ | |
package link.infra.indium.renderer.render; | |
-import me.jellysquid.mods.sodium.client.render.occlusion.BlockOcclusionCache; | |
+import net.caffeinemc.sodium.render.terrain.BlockOcclusionCache; | |
import net.fabricmc.fabric.api.renderer.v1.material.BlendMode; | |
import net.minecraft.block.BlockState; | |
import net.minecraft.client.MinecraftClient; | |
@@ -28,7 +28,6 @@ | |
import net.minecraft.util.math.random.Random; | |
import net.minecraft.world.BlockRenderView; | |
- | |
import java.util.function.Supplier; | |
/** | |
Index: src/main/java/link/infra/indium/renderer/aocalc/VanillaAoHelper.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/src/main/java/link/infra/indium/renderer/aocalc/VanillaAoHelper.java b/src/main/java/link/infra/indium/renderer/aocalc/VanillaAoHelper.java | |
--- a/src/main/java/link/infra/indium/renderer/aocalc/VanillaAoHelper.java (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/src/main/java/link/infra/indium/renderer/aocalc/VanillaAoHelper.java (date 1655152739564) | |
@@ -48,15 +48,12 @@ | |
Constructor<?> constructor = innerClass.getDeclaredConstructors()[0]; | |
constructor.setAccessible(true); | |
- factory = new Supplier<AccessAmbientOcclusionCalculator>() { | |
- @Override | |
- public AccessAmbientOcclusionCalculator get() { | |
- try { | |
- return (AccessAmbientOcclusionCalculator) constructor.newInstance(instance); | |
- } catch (Exception e) { | |
- Indium.LOGGER.warn("[Indium] Exception accessing vanilla smooth lighter", e); | |
- return null; | |
- } | |
+ factory = () -> { | |
+ try { | |
+ return (AccessAmbientOcclusionCalculator) constructor.newInstance(); | |
+ } catch (Exception e) { | |
+ Indium.LOGGER.warn("[Indium] Exception accessing vanilla smooth lighter", e); | |
+ return null; | |
} | |
}; | |
break; | |
Index: src/main/java/link/infra/indium/mixin/sodium/MixinBlockRenderer.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/src/main/java/link/infra/indium/mixin/sodium/MixinBlockRenderer.java b/src/main/java/link/infra/indium/mixin/sodium/MixinBlockRenderer.java | |
--- a/src/main/java/link/infra/indium/mixin/sodium/MixinBlockRenderer.java (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/src/main/java/link/infra/indium/mixin/sodium/MixinBlockRenderer.java (date 1655081416258) | |
@@ -1,20 +1,20 @@ | |
package link.infra.indium.mixin.sodium; | |
import link.infra.indium.other.AccessBlockRenderer; | |
-import me.jellysquid.mods.sodium.client.render.occlusion.BlockOcclusionCache; | |
-import me.jellysquid.mods.sodium.client.render.pipeline.BlockRenderer; | |
+import net.caffeinemc.sodium.render.terrain.BlockOcclusionCache; | |
+import net.caffeinemc.sodium.render.terrain.BlockRenderer; | |
import org.spongepowered.asm.mixin.Final; | |
import org.spongepowered.asm.mixin.Mixin; | |
import org.spongepowered.asm.mixin.Shadow; | |
@Mixin(BlockRenderer.class) | |
public class MixinBlockRenderer implements AccessBlockRenderer { | |
- @Shadow | |
- @Final | |
- private BlockOcclusionCache occlusionCache; | |
+ @Shadow(remap = false) | |
+ @Final | |
+ private BlockOcclusionCache occlusionCache; | |
- @Override | |
- public BlockOcclusionCache indium$getBlockOcclusionCache() { | |
- return this.occlusionCache; | |
- } | |
+ @Override | |
+ public BlockOcclusionCache indium$getBlockOcclusionCache() { | |
+ return this.occlusionCache; | |
+ } | |
} | |
Index: src/main/java/link/infra/indium/mixin/sodium/MixinChunkRenderCacheLocal.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/src/main/java/link/infra/indium/mixin/sodium/MixinChunkRenderCacheLocal.java b/src/main/java/link/infra/indium/mixin/sodium/MixinChunkRenderCacheLocal.java | |
--- a/src/main/java/link/infra/indium/mixin/sodium/MixinChunkRenderCacheLocal.java (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/src/main/java/link/infra/indium/mixin/sodium/MixinChunkRenderCacheLocal.java (date 1655082835254) | |
@@ -1,13 +1,14 @@ | |
package link.infra.indium.mixin.sodium; | |
-import org.spongepowered.asm.mixin.Mixin; | |
-import org.spongepowered.asm.mixin.Unique; | |
- | |
import link.infra.indium.other.AccessChunkRenderCacheLocal; | |
import link.infra.indium.renderer.render.TerrainRenderContext; | |
-import me.jellysquid.mods.sodium.client.render.pipeline.context.ChunkRenderCacheLocal; | |
+import net.caffeinemc.sodium.render.terrain.context.ImmediateTerrainRenderCache; | |
+import net.caffeinemc.sodium.render.terrain.context.PreparedTerrainRenderCache; | |
+import net.caffeinemc.sodium.render.terrain.context.TerrainRenderCache; | |
+import org.spongepowered.asm.mixin.Mixin; | |
+import org.spongepowered.asm.mixin.Unique; | |
-@Mixin(ChunkRenderCacheLocal.class) | |
+@Mixin({TerrainRenderCache.class, PreparedTerrainRenderCache.class, ImmediateTerrainRenderCache.class}) | |
public class MixinChunkRenderCacheLocal implements AccessChunkRenderCacheLocal { | |
@Unique | |
private final TerrainRenderContext terrainRenderContext = new TerrainRenderContext(); | |
Index: src/main/java/link/infra/indium/renderer/render/TerrainRenderContext.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
diff --git a/src/main/java/link/infra/indium/renderer/render/TerrainRenderContext.java b/src/main/java/link/infra/indium/renderer/render/TerrainRenderContext.java | |
--- a/src/main/java/link/infra/indium/renderer/render/TerrainRenderContext.java (revision 91eb1b178c25b43316e6738c3133f6fa3d78904f) | |
+++ b/src/main/java/link/infra/indium/renderer/render/TerrainRenderContext.java (date 1655080264930) | |
@@ -1,9 +1,9 @@ | |
package link.infra.indium.renderer.render; | |
import link.infra.indium.renderer.aocalc.AoCalculator; | |
-import me.jellysquid.mods.sodium.client.render.chunk.compile.ChunkBuildBuffers; | |
-import me.jellysquid.mods.sodium.client.render.chunk.compile.buffers.ChunkModelBuilder; | |
-import me.jellysquid.mods.sodium.client.render.occlusion.BlockOcclusionCache; | |
+import net.caffeinemc.sodium.render.chunk.compile.buffers.ChunkMeshBuilder; | |
+import net.caffeinemc.sodium.render.chunk.compile.tasks.TerrainBuildBuffers; | |
+import net.caffeinemc.sodium.render.terrain.BlockOcclusionCache; | |
import net.fabricmc.fabric.api.renderer.v1.mesh.Mesh; | |
import net.fabricmc.fabric.api.renderer.v1.mesh.QuadEmitter; | |
import net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel; | |
@@ -33,7 +33,7 @@ | |
private final BaseFallbackConsumer fallbackConsumer = new BaseFallbackConsumer(new QuadBufferer(chunkInfo::getChunkModelBuilder), blockInfo, aoCalc, this::transform); | |
- public void prepare(BlockRenderView blockView, ChunkBuildBuffers buffers, BlockOcclusionCache cache) { | |
+ public void prepare(BlockRenderView blockView, TerrainBuildBuffers buffers, BlockOcclusionCache cache) { | |
blockInfo.setBlockOcclusionCache(cache); | |
blockInfo.setBlockView(blockView); | |
chunkInfo.prepare(blockView, buffers); | |
@@ -65,7 +65,7 @@ | |
} | |
private class QuadBufferer extends ChunkQuadBufferer { | |
- QuadBufferer(Function<RenderLayer, ChunkModelBuilder> builderFunc) { | |
+ QuadBufferer(Function<RenderLayer, ChunkMeshBuilder> builderFunc) { | |
super(builderFunc); | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment