Skip to content

Commit

Permalink
Update to 1.20.4
Browse files Browse the repository at this point in the history
  • Loading branch information
Cadiboo committed Sep 2, 2024
1 parent 38904f7 commit 9852f21
Show file tree
Hide file tree
Showing 24 changed files with 96 additions and 94 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import io.github.cadiboo.nocubes.client.render.VanillaRenderer;
import io.github.cadiboo.nocubes.hooks.trait.INoCubesChunkSectionRender;
import io.github.cadiboo.nocubes.hooks.trait.INoCubesChunkSectionRenderBuilder;
import net.minecraft.client.renderer.ChunkBufferBuilderPack;
import net.minecraft.client.renderer.SectionBufferBuilderPack;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
import net.minecraft.client.renderer.block.model.BakedQuad;
Expand Down Expand Up @@ -38,12 +38,12 @@ public long getSeed(long originalSeed) {
}

@Override
public Object preRenderBlock(INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack builder, BlockAndTintGetter chunkCacheOF, RenderType renderType, BufferBuilder buffer, BlockState state, BlockPos pos) {
public Object preRenderBlock(INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack builder, BlockAndTintGetter chunkCacheOF, RenderType renderType, BufferBuilder buffer, BlockState state, BlockPos pos) {
return null;
}

@Override
public Object preRenderFluid(INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack buffers, BlockAndTintGetter chunkCache, RenderType layer, BufferBuilder buffer, BlockState block, FluidState fluid, BlockPos worldPos) {
public Object preRenderFluid(INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack buffers, BlockAndTintGetter chunkCache, RenderType layer, BufferBuilder buffer, BlockState block, FluidState fluid, BlockPos worldPos) {
return null;
}

Expand All @@ -53,11 +53,11 @@ public BakedModel getModel(Object renderEnv, BakedModel originalModel, BlockStat
}

@Override
public void postRenderBlock(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack builder, Set<RenderType> usedLayers) {
public void postRenderBlock(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack builder, Set<RenderType> usedLayers) {
}

@Override
public void postRenderFluid(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack builder, Set<RenderType> usedLayers) {
public void postRenderFluid(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack builder, Set<RenderType> usedLayers) {
}

@Override
Expand All @@ -77,7 +77,7 @@ public List<BakedQuad> getQuadsAndStoreOverlays(List<BakedQuad> quads, BlockAndT
@Override
public int forEachOverlayQuad(
INoCubesChunkSectionRenderBuilder rebuildTask, INoCubesChunkSectionRender chunkRender,
ChunkBufferBuilderPack buffers, BlockPos chunkPos,
SectionBufferBuilderPack buffers, BlockPos chunkPos,
BlockAndTintGetter world, PoseStack matrix,
Set<RenderType> usedLayers, RandomSource random, BlockRenderDispatcher dispatcher,
BlockState state, BlockPos worldPos,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import io.github.cadiboo.nocubes.hooks.trait.INoCubesChunkSectionRender;
import io.github.cadiboo.nocubes.hooks.trait.INoCubesChunkSectionRenderBuilder;
import io.github.cadiboo.nocubes.hooks.trait.INoCubesChunkSectionRenderOptiFine;
import net.minecraft.client.renderer.ChunkBufferBuilderPack;
import net.minecraft.client.renderer.SectionBufferBuilderPack;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
import net.minecraft.client.renderer.block.model.BakedQuad;
Expand Down Expand Up @@ -62,7 +62,7 @@ public long getSeed(long originalSeed) {
}

@Override
public Object preRenderBlock(INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack builder, BlockAndTintGetter chunkCacheOF, RenderType renderType, BufferBuilder buffer, BlockState state, BlockPos pos) {
public Object preRenderBlock(INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack builder, BlockAndTintGetter chunkCacheOF, RenderType renderType, BufferBuilder buffer, BlockState state, BlockPos pos) {
BufferBuilder_setBlockLayer(buffer, renderType);
Object renderEnv = BufferBuilder_getRenderEnv(buffer, state, pos);
RenderEnv_setRegionRenderCacheBuilder(renderEnv, builder);
Expand All @@ -79,7 +79,7 @@ protected void prePushShaderEntity(INoCubesChunkSectionRender chunkRender, Buffe
}

@Override
public Object preRenderFluid(INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack buffers, BlockAndTintGetter chunkCache, RenderType layer, BufferBuilder buffer, BlockState block, FluidState fluid, BlockPos worldPos) {
public Object preRenderFluid(INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack buffers, BlockAndTintGetter chunkCache, RenderType layer, BufferBuilder buffer, BlockState block, FluidState fluid, BlockPos worldPos) {
return this.preRenderBlock(chunkRender, buffers, chunkCache, layer, buffer, block, worldPos);
}

Expand All @@ -89,7 +89,7 @@ public BakedModel getModel(Object renderEnv, BakedModel originalModel, BlockStat
}

@Override
public void postRenderBlock(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack builder, Set<RenderType> usedLayers) {
public void postRenderBlock(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack builder, Set<RenderType> usedLayers) {
var chunkRenderOf = (INoCubesChunkSectionRenderOptiFine) chunkRender;
if (Config_isShaders())
SVertexBuilder_popEntity(buffer);
Expand All @@ -101,7 +101,7 @@ public void postRenderBlock(Object renderEnv, BufferBuilder buffer, INoCubesChun
}

@Override
public void postRenderFluid(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack builder, Set<RenderType> usedLayers) {
public void postRenderFluid(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack builder, Set<RenderType> usedLayers) {
this.postRenderBlock(renderEnv, buffer, chunkRender, builder, usedLayers);
}

Expand All @@ -123,7 +123,7 @@ public List<BakedQuad> getQuadsAndStoreOverlays(List<BakedQuad> quads, BlockAndT
@Override
public int forEachOverlayQuad(
INoCubesChunkSectionRenderBuilder rebuildTask, INoCubesChunkSectionRender chunkRender,
ChunkBufferBuilderPack buffers, BlockPos chunkPos,
SectionBufferBuilderPack buffers, BlockPos chunkPos,
BlockAndTintGetter world, PoseStack matrix,
Set<RenderType> usedLayers, RandomSource random, BlockRenderDispatcher dispatcher,
BlockState state, BlockPos worldPos,
Expand Down Expand Up @@ -175,7 +175,7 @@ interface Reflect {
MethodHandle getRenderEnv = Reflector.tryGetMethod(BufferBuilder.class.getName(), "getRenderEnv", BlockState.class, BlockPos.class);

MethodHandle reset = Reflector.tryGetMethod("net.optifine.render.RenderEnv", "reset", BlockState.class, BlockPos.class);
MethodHandle setRegionRenderCacheBuilder = Reflector.tryGetMethod("net.optifine.render.RenderEnv", "setRegionRenderCacheBuilder", ChunkBufferBuilderPack.class);
MethodHandle setRegionRenderCacheBuilder = Reflector.tryGetMethod("net.optifine.render.RenderEnv", "setRegionRenderCacheBuilder", SectionBufferBuilderPack.class);
MethodHandle isOverlaysRendered = Reflector.tryGetMethod("net.optifine.render.RenderEnv", "isOverlaysRendered");
MethodHandle setOverlaysRendered = Reflector.tryGetMethod("net.optifine.render.RenderEnv", "setOverlaysRendered", boolean.class);
MethodHandle getListQuadsOverlay = Reflector.tryGetMethod("net.optifine.render.RenderEnv", "getListQuadsOverlay", RenderType.class);
Expand Down Expand Up @@ -266,7 +266,7 @@ static void ChunkCacheOF_setRenderEnv(BlockAndTintGetter chunkCacheOF, Object re
}
}

static void RenderEnv_setRegionRenderCacheBuilder(Object renderEnv, ChunkBufferBuilderPack builder) {
static void RenderEnv_setRegionRenderCacheBuilder(Object renderEnv, SectionBufferBuilderPack builder) {
// ((RenderEnv) renderEnv).setRegionRenderCacheBuilder(builder);
try {
setRegionRenderCacheBuilder.invoke(renderEnv, builder);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import io.github.cadiboo.nocubes.client.render.VanillaRenderer;
import io.github.cadiboo.nocubes.hooks.trait.INoCubesChunkSectionRender;
import io.github.cadiboo.nocubes.hooks.trait.INoCubesChunkSectionRenderBuilder;
import net.minecraft.client.renderer.ChunkBufferBuilderPack;
import net.minecraft.client.renderer.SectionBufferBuilderPack;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
import net.minecraft.client.renderer.block.model.BakedQuad;
Expand Down Expand Up @@ -33,16 +33,16 @@ public interface OptiFineProxy {
long getSeed(long originalSeed);

/** @return null or the RenderEnv */
Object preRenderBlock(INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack buffers, BlockAndTintGetter chunkCache, RenderType layer, BufferBuilder buffer, BlockState state, BlockPos worldPos);
Object preRenderBlock(INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack buffers, BlockAndTintGetter chunkCache, RenderType layer, BufferBuilder buffer, BlockState state, BlockPos worldPos);

/** @return null or the RenderEnv */
Object preRenderFluid(INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack buffers, BlockAndTintGetter chunkCache, RenderType layer, BufferBuilder buffer, BlockState block, FluidState fluid, BlockPos worldPos);
Object preRenderFluid(INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack buffers, BlockAndTintGetter chunkCache, RenderType layer, BufferBuilder buffer, BlockState block, FluidState fluid, BlockPos worldPos);

BakedModel getModel(Object renderEnv, BakedModel originalModel, BlockState state);

void postRenderBlock(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack buffers, Set<RenderType> usedLayers);
void postRenderBlock(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack buffers, Set<RenderType> usedLayers);

void postRenderFluid(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack buffers, Set<RenderType> usedLayers);
void postRenderFluid(Object renderEnv, BufferBuilder buffer, INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack buffers, Set<RenderType> usedLayers);

@Nullable BakedQuad getQuadEmissive(BakedQuad quad);

Expand All @@ -52,7 +52,7 @@ public interface OptiFineProxy {

int forEachOverlayQuad(
INoCubesChunkSectionRenderBuilder rebuildTask, INoCubesChunkSectionRender chunkRender,
ChunkBufferBuilderPack buffers, BlockPos chunkPos,
SectionBufferBuilderPack buffers, BlockPos chunkPos,
BlockAndTintGetter world, PoseStack matrix,
Set<RenderType> usedLayers, RandomSource random, BlockRenderDispatcher dispatcher,
BlockState state, BlockPos worldPos,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ private static void renderExtras(
}

if (renderGrassTufts && foundState.state.hasProperty(SNOWY) && !ModUtil.isPlant(stateAbove)) {
var grass = Blocks.GRASS.defaultBlockState();
var grass = Blocks.SHORT_GRASS.defaultBlockState();
var worldAbove = relativeAbove.move(area.start);
var renderBothSides = true;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import io.github.cadiboo.nocubes.util.Vec;
import net.minecraft.client.Minecraft;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.client.renderer.ChunkBufferBuilderPack;
import net.minecraft.client.renderer.SectionBufferBuilderPack;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
import net.minecraft.client.renderer.block.model.BakedQuad;
Expand All @@ -35,7 +35,7 @@
public final class VanillaRenderer {

public static void renderChunk(
INoCubesChunkSectionRenderBuilder rebuildTask, INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack buffers,
INoCubesChunkSectionRenderBuilder rebuildTask, INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack buffers,
BlockPos chunkPos, BlockAndTintGetter world, PoseStack matrix,
Set<RenderType> usedLayers, RandomSource random, BlockRenderDispatcher dispatcher,
RenderInLayer renderBlock
Expand Down Expand Up @@ -100,7 +100,7 @@ public interface RenderInLayer {
}

static void renderInBlockLayers(
INoCubesChunkSectionRenderBuilder rebuildTask, INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack buffers,
INoCubesChunkSectionRenderBuilder rebuildTask, INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack buffers,
BlockAndTintGetter world, Set<RenderType> usedLayers, OptiFineProxy optiFine,
BlockState state, BlockPos worldPos, RenderInLayer render
) {
Expand Down Expand Up @@ -149,7 +149,7 @@ public interface QuadConsumer {

static void forEachQuadInEveryBlockLayer(
INoCubesChunkSectionRenderBuilder rebuildTask, INoCubesChunkSectionRender chunkRender,
ChunkBufferBuilderPack buffers, BlockPos chunkPos,
SectionBufferBuilderPack buffers, BlockPos chunkPos,
BlockAndTintGetter world, PoseStack matrix,
Set<RenderType> usedLayers, RandomSource random, BlockRenderDispatcher dispatcher,
OptiFineProxy optiFine,
Expand Down Expand Up @@ -231,7 +231,7 @@ static List<BakedQuad> getQuadsAndStoreOverlays(
}

public static BufferBuilder getAndStartBuffer(
INoCubesChunkSectionRender chunkRender, ChunkBufferBuilderPack buffers,
INoCubesChunkSectionRender chunkRender, SectionBufferBuilderPack buffers,
Set<RenderType> usedLayers, RenderType layer
) {
var buffer = buffers.builder(layer);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.mojang.blaze3d.vertex.BufferBuilder;

/**
* Adds extra functionality to {@link net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.RenderChunk}.
* Adds extra functionality to {@link net.minecraft.client.renderer.chunk.SectionRenderDispatcher.RenderSection}.
* Implemented by {@link io.github.cadiboo.nocubes.mixin.client.RenderChunkMixin}.
*/
public interface INoCubesChunkSectionRender {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import net.minecraft.core.BlockPos;

/**
* Adds extra functionality to {@link net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.RenderChunk.RebuildTask}.
* Adds extra functionality to {@link net.minecraft.client.renderer.chunk.SectionRenderDispatcher.RenderSection.RebuildTask}.
* Implemented by {@link io.github.cadiboo.nocubes.mixin.client.RenderChunkRebuildTaskMixin}.
*/
public interface INoCubesChunkSectionRenderBuilder {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package io.github.cadiboo.nocubes.hooks.trait;

import io.github.cadiboo.nocubes.mixin.client.optifine.RenderChunkMixin;
import net.minecraft.client.renderer.ChunkBufferBuilderPack;
import net.minecraft.client.renderer.SectionBufferBuilderPack;
import net.minecraft.client.renderer.RenderType;

import java.util.Set;

/**
* Adds extra functionality to {@link net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.RenderChunk.RebuildTask}.
* Adds extra functionality to {@link net.minecraft.client.renderer.chunk.SectionRenderDispatcher.RenderSection.RebuildTask}.
* Implemented by {@link RenderChunkMixin}.
*/
public interface INoCubesChunkSectionRenderOptiFine {
int noCubes$regionDX();
int noCubes$regionDY();
int noCubes$regionDZ();

void noCubes$postRenderOverlays(ChunkBufferBuilderPack builder, Set<RenderType> usedLayers);
void noCubes$postRenderOverlays(SectionBufferBuilderPack builder, Set<RenderType> usedLayers);
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

import com.mojang.blaze3d.vertex.BufferBuilder;
import io.github.cadiboo.nocubes.hooks.trait.INoCubesChunkSectionRender;
import net.minecraft.client.renderer.chunk.ChunkRenderDispatcher;
import net.minecraft.client.renderer.chunk.SectionRenderDispatcher;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

@Mixin(ChunkRenderDispatcher.RenderChunk.class)
@Mixin(SectionRenderDispatcher.RenderSection.class)
public abstract class RenderChunkMixin implements INoCubesChunkSectionRender {

@Shadow
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
/**
* Changes chunk rendering to allow us to do our own custom rendering.
*/
@Mixin(targets = "net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$RenderChunk$RebuildTask")
@Mixin(targets = "net.minecraft.client.renderer.chunk.SectionRenderDispatcher$RenderChunk$RebuildTask")
public abstract class RenderChunkRebuildTaskMixin {

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package io.github.cadiboo.nocubes.mixin.client.optifine;

import io.github.cadiboo.nocubes.hooks.trait.INoCubesChunkSectionRenderOptiFine;
import net.minecraft.client.renderer.ChunkBufferBuilderPack;
import net.minecraft.client.renderer.SectionBufferBuilderPack;
import net.minecraft.client.renderer.RenderType;
import org.spongepowered.asm.mixin.Dynamic;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;

import java.util.Set;

@Mixin(net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.RenderChunk.class)
@Mixin(net.minecraft.client.renderer.chunk.SectionRenderDispatcher.RenderSection.class)
public class RenderChunkMixin implements INoCubesChunkSectionRenderOptiFine {

@Dynamic("Added by OptiFine")
Expand Down Expand Up @@ -38,11 +38,11 @@ public class RenderChunkMixin implements INoCubesChunkSectionRenderOptiFine {

@Dynamic("Added by OptiFine")
@Shadow
private void shadow$postRenderOverlays(ChunkBufferBuilderPack builder, Set<RenderType> usedLayers) {
private void shadow$postRenderOverlays(SectionBufferBuilderPack builder, Set<RenderType> usedLayers) {
}

@Override
public void noCubes$postRenderOverlays(ChunkBufferBuilderPack builder, Set<RenderType> usedLayers) {
public void noCubes$postRenderOverlays(SectionBufferBuilderPack builder, Set<RenderType> usedLayers) {
shadow$postRenderOverlays(builder, usedLayers);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class NoCubesNetwork {
*/
public static final int REQUIRED_PERMISSION_LEVEL = 2;

public static final String NETWORK_PROTOCOL_VERSION = "2";
public static final int NETWORK_PROTOCOL_VERSION = 2;

public static boolean checkPermissionAndNotifyIfUnauthorised(Player player, @Nullable MinecraftServer connectedToServer) {
if (connectedToServer != null && connectedToServer.isSingleplayerOwner(player.getGameProfile()))
Expand Down
4 changes: 2 additions & 2 deletions fabric/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ dependencies {
shadow(implementation(group: 'org.beryx', name: 'awt-color-factory', version: rootProject.ext.COLOR_FACTORY_VERSION))

// CompileOnly so our Mixins can target Sodium's classes
def sodium = modCompileOnly 'maven.modrinth:sodium:mc1.20.1-0.5.7'
def sodium = modCompileOnly 'maven.modrinth:sodium:mc1.20.4-0.5.8'
modImplementation sodium
modImplementation 'maven.modrinth:iris:1.6.17+1.20.1'
modImplementation 'maven.modrinth:iris:1.7.1+1.20.4'
}

loom {
Expand Down
Loading

0 comments on commit 9852f21

Please sign in to comment.