Skip to content

Commit 7604b6e

Browse files
authored
Merge pull request #25 from tildejustin/1.16.1
1.16.1 - fix adjState crash, add renderLayer profiler entries, fix c counter, fix mc-4647
2 parents 5d596bf + 571e560 commit 7604b6e

7 files changed

Lines changed: 54 additions & 2 deletions

File tree

build.gradle

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

56
version = "$mod_version+$target_version"
@@ -36,8 +37,16 @@ tasks.withType(JavaCompile).configureEach {
3637
java {
3738
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8
3839
toolchain { languageVersion = JavaLanguageVersion.of(8) }
40+
withSourcesJar()
3941
}
4042

4143
jar {
4244
from "LICENSE.txt"
4345
}
46+
47+
publishing {
48+
publications.create("mavenJava", MavenPublication) {
49+
from components.java
50+
}
51+
repositories {}
52+
}

gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ org.gradle.jvmargs = -Xmx2G
22
org.gradle.parallel = true
33
org.gradle.caching = true
44

5-
mod_version = 2.2.0
5+
mod_version = 2.2.1
6+
67
minecraft_version = 1.16.1
78
yarn_mappings = 1.16.1-build.22
89
loader_version = 0.15.6

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
@@ -204,9 +204,12 @@ public void updateChunks(Camera camera, Frustum frustum, boolean hasForcedFrustu
204204
public void drawChunkLayer(RenderLayer renderLayer, MatrixStack matrixStack, double x, double y, double z) {
205205
BlockRenderPass pass = this.renderPassManager.getRenderPassForLayer(renderLayer);
206206
pass.startDrawing();
207+
this.client.getProfiler().push("filterempty");
208+
this.client.getProfiler().swap(() -> "render_" + renderLayer);
207209

208210
this.chunkRenderManager.renderLayer(matrixStack, pass, x, y, z);
209211

212+
this.client.getProfiler().pop();
210213
pass.endDrawing();
211214

212215
RenderSystem.clearCurrentColor();

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import me.jellysquid.mods.sodium.common.util.IdTable;
3131
import me.jellysquid.mods.sodium.common.util.collections.FutureDequeDrain;
3232
import net.minecraft.block.entity.BlockEntity;
33+
import net.minecraft.client.MinecraftClient;
3334
import net.minecraft.client.render.Camera;
3435
import net.minecraft.client.util.math.MatrixStack;
3536
import net.minecraft.client.util.math.Vector3f;
@@ -503,7 +504,8 @@ public void destroy() {
503504
}
504505

505506
public int getTotalSections() {
506-
return this.columns.size() * 16;
507+
int renderDistance = MinecraftClient.getInstance().options.viewDistance * 2 + 1;
508+
return renderDistance * 16 * renderDistance;
507509
}
508510

509511
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
@@ -27,6 +27,7 @@
2727
"features.buffer_builder.intrinsics.MixinBufferBuilder",
2828
"features.buffer_builder.intrinsics.MixinSpriteTexturedVertexConsumer",
2929
"features.buffer_builder.intrinsics.MixinWorldRenderer",
30+
"features.chunk_rendering.MixinBackgroundRenderer",
3031
"features.chunk_rendering.MixinChunkBuilder",
3132
"features.chunk_rendering.MixinClientChunkManager",
3233
"features.chunk_rendering.MixinClientChunkManager$MixinClientChunkMap",

0 commit comments

Comments
 (0)