Skip to content

Commit a6fc271

Browse files
authored
Merge pull request #28 from tildejustin/mac/1.16.1
mac-1.16.1 - fix adjState crash, add renderLayer profiler entries, fix c counter, fix mc-4647
2 parents 5ae4076 + 37327d4 commit a6fc271

7 files changed

Lines changed: 54 additions & 3 deletions

File tree

build.gradle

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
plugins {
2-
id 'fabric-loom' version '1.5-SNAPSHOT'
2+
id "fabric-loom" version "1.5-SNAPSHOT"
3+
id "maven-publish"
34
}
45

56
archivesBaseName = project.mod_id
@@ -38,8 +39,16 @@ java {
3839
toolchain {
3940
languageVersion = JavaLanguageVersion.of(8)
4041
}
42+
withSourcesJar()
4143
}
4244

4345
jar {
4446
from "LICENSE.txt"
4547
}
48+
49+
publishing {
50+
publications.create("mavenJava", MavenPublication) {
51+
from components.java
52+
}
53+
repositories {}
54+
}

gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ yarn_mappings=1.16.1+build.21
99
loader_version=0.15.7
1010

1111
# Mod Properties
12-
mod_version=3.2.0
12+
mod_version=3.2.1
13+
1314
maven_group=me.jellysquid.mods
1415
archives_base_name=sodium-fabric

src/main/java/me/jellysquid/mods/sodium/client/render/SodiumWorldRenderer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,12 @@ public void updateChunks(Camera camera, Frustum frustum, boolean hasForcedFrustu
207207
public void drawChunkLayer(RenderLayer renderLayer, MatrixStack matrixStack, double x, double y, double z) {
208208
BlockRenderPass pass = this.renderPassManager.getRenderPassForLayer(renderLayer);
209209
pass.startDrawing();
210+
this.client.getProfiler().push("filterempty");
211+
this.client.getProfiler().swap(() -> "render_" + renderLayer);
210212

211213
this.chunkRenderManager.renderLayer(matrixStack, pass, x, y, z);
212214

215+
this.client.getProfiler().pop();
213216
pass.endDrawing();
214217

215218
RenderSystem.clearCurrentColor();

src/main/java/me/jellysquid/mods/sodium/client/render/chunk/ChunkRenderManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,8 @@ public void destroy() {
503503
}
504504

505505
public int getTotalSections() {
506-
return this.renders.size();
506+
int renderDistance = MinecraftClient.getInstance().options.viewDistance * 2 + 1;
507+
return renderDistance * 16 * renderDistance;
507508
}
508509

509510
public void scheduleRebuild(int x, int y, int z, boolean important) {

src/main/java/me/jellysquid/mods/sodium/client/render/occlusion/BlockOcclusionCache.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ public boolean shouldDrawSide(BlockState selfState, BlockView view, BlockPos pos
3333
adjPos.set(pos.getX() + facing.getOffsetX(), pos.getY() + facing.getOffsetY(), pos.getZ() + facing.getOffsetZ());
3434

3535
BlockState adjState = view.getBlockState(adjPos);
36+
if (adjState == null) {
37+
return false;
38+
}
3639

3740
if (selfState.isSideInvisible(adjState, facing)) {
3841
return false;
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package me.jellysquid.mods.sodium.mixin.features.chunk_rendering;
2+
3+
import net.minecraft.client.render.BackgroundRenderer;
4+
import org.spongepowered.asm.mixin.Mixin;
5+
import org.spongepowered.asm.mixin.Shadow;
6+
import org.spongepowered.asm.mixin.injection.At;
7+
import org.spongepowered.asm.mixin.injection.Inject;
8+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
9+
10+
@Mixin(BackgroundRenderer.class)
11+
public abstract class MixinBackgroundRenderer {
12+
@Shadow
13+
private static float red;
14+
15+
@Shadow
16+
private static float blue;
17+
18+
@Shadow
19+
private static float green;
20+
21+
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderSystem;clearColor(FFFF)V"))
22+
private static void handleNaNIntensity(CallbackInfo ci) {
23+
if (Float.isNaN(red)) {
24+
red = 0;
25+
}
26+
if (Float.isNaN(green)) {
27+
green = 0;
28+
}
29+
if (Float.isNaN(blue)) {
30+
blue = 0;
31+
}
32+
}
33+
}

src/main/resources/sodium.mixins.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"features.buffer_builder.intrinsics.MixinBufferBuilder",
2424
"features.buffer_builder.intrinsics.MixinSpriteTexturedVertexConsumer",
2525
"features.buffer_builder.intrinsics.MixinWorldRenderer",
26+
"features.chunk_rendering.MixinBackgroundRenderer",
2627
"features.chunk_rendering.MixinChunkBuilder",
2728
"features.chunk_rendering.MixinClientChunkManager",
2829
"features.chunk_rendering.MixinClientChunkManager$MixinClientChunkMap",

0 commit comments

Comments
 (0)