26.1-snap-7

This commit is contained in:
gnembon committed 2026-02-12 15:03:34 +01:00
1 parent 35a1a1a600
commit e348f8fa6d
7 files changed
+29 -33

No files matched your search

+2 -2
View File
@@ -7,9 +7,9 @@ org.gradle.configuration-cache=false
# Fabric Properties
# check https://fabricmc.net/develop/
minecraft_version=26.1-snapshot-6
minecraft_version=26.1-snapshot-7
loader_version=0.18.4
loom_version=1.14-SNAPSHOT
loom_version=1.15-SNAPSHOT
# Mod Properties
mod_version = 26.1-beta-5
@@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(LevelRenderer.class)
public class LevelRenderer_creativeNoClipMixin
{
@Redirect(method = "renderLevel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/player/LocalPlayer;isSpectator()Z"))
@Redirect(method = "update", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/player/LocalPlayer;isSpectator()Z"))
private boolean canSeeWorld(LocalPlayer clientPlayerEntity)
{
return clientPlayerEntity.isSpectator() || (CarpetSettings.creativeNoClip && clientPlayerEntity.isCreative());
@@ -1,24 +1,23 @@
package carpet.mixins;
import carpet.CarpetSettings;
import net.minecraft.client.renderer.GameRenderer;
//import net.minecraft.world.dimension.Dimension;
import net.minecraft.client.renderer.fog.environment.AtmosphericFogEnvironment;
import net.minecraft.world.attribute.EnvironmentAttribute;
import net.minecraft.world.attribute.EnvironmentAttributeProbe;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(value = GameRenderer.class, priority = 69420)
@Mixin(value = AtmosphericFogEnvironment.class, priority = 69420)
public class LevelRenderer_fogOffMixin
{
@Redirect(method = "renderLevel", require = 0, expect = 0, at = @At(
@Redirect(method = "setupFog", require = 0, expect = 0, at = @At(
value = "INVOKE",
target = "Lnet/minecraft/world/attribute/EnvironmentAttributeProbe;getValue(Lnet/minecraft/world/attribute/EnvironmentAttribute;F)Ljava/lang/Object;"
))
private <Value> Value isReallyThick(EnvironmentAttributeProbe instance, EnvironmentAttribute<Value> environmentAttribute, float f)
{
if (CarpetSettings.fogOff) return (Value) Boolean.FALSE;
if (CarpetSettings.fogOff) return environmentAttribute.defaultValue();
return instance.getValue(environmentAttribute, f);
}
@@ -7,15 +7,16 @@ import com.mojang.blaze3d.buffers.GpuBufferSlice;
import com.mojang.blaze3d.framegraph.FrameGraphBuilder;
import com.mojang.blaze3d.framegraph.FramePass;
import com.mojang.blaze3d.resource.GraphicsResourceAllocator;
import net.minecraft.client.Camera;
import net.minecraft.client.DeltaTracker;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.LevelRenderer;
import net.minecraft.client.renderer.LevelTargetBundle;
import net.minecraft.client.renderer.RenderBuffers;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderDispatcher;
import net.minecraft.client.renderer.chunk.ChunkSectionsToRender;
import net.minecraft.client.renderer.entity.EntityRenderDispatcher;
import net.minecraft.client.renderer.feature.FeatureRenderDispatcher;
import net.minecraft.client.renderer.state.CameraRenderState;
import net.minecraft.client.renderer.state.LevelRenderState;
import org.joml.Matrix4f;
import org.joml.Vector4f;
@@ -48,7 +49,7 @@ public class LevelRenderer_scarpetRenderMixin
target = "Lnet/minecraft/client/renderer/LevelRenderer;addLateDebugPass(Lcom/mojang/blaze3d/framegraph/FrameGraphBuilder;Lnet/minecraft/client/renderer/state/CameraRenderState;Lcom/mojang/blaze3d/buffers/GpuBufferSlice;Lorg/joml/Matrix4f;)V",
shift = At.Shift.AFTER
))
private void renderStarpetThingsLate(GraphicsResourceAllocator graphicsResourceAllocator, DeltaTracker deltaTracker, boolean bl, Camera camera, Matrix4f matrix4f, Matrix4f arg5, Matrix4f matrix4f3, GpuBufferSlice gpuBufferSlice, Vector4f vector4f, boolean bl2, CallbackInfo ci, @Local FrameGraphBuilder frameGraphBuilder)
private void renderScarpetThinsLate(GraphicsResourceAllocator resourceAllocator, DeltaTracker deltaTracker, boolean renderOutline, CameraRenderState cameraState, Matrix4f modelViewMatrix, GpuBufferSlice terrainFog, Vector4f fogColor, boolean shouldRenderSky, ChunkSectionsToRender chunkSectionsToRender, CallbackInfo ci, @Local FrameGraphBuilder frameGraphBuilder)
{
// in normal circumstances we want to render shapes at the very end so it appears correctly behind stuff.
// we might actually not need to play with render hooks here.
@@ -58,7 +59,7 @@ public class LevelRenderer_scarpetRenderMixin
final float deltaPartialTick = deltaTracker.getGameTimeDeltaPartialTick(false);
FramePass pass = frameGraphBuilder.addPass("scarpet_shapes");
targets.main = pass.readsAndWrites(targets.main);
pass.executes(() -> CarpetClient.shapes.render(renderBuffers, levelRenderState, matrix4f, deltaPartialTick));
pass.executes(() -> CarpetClient.shapes.render(renderBuffers, levelRenderState, modelViewMatrix, deltaPartialTick));
featureRenderDispatcher.renderAllFeatures();
renderBuffers.bufferSource().endLastBatch();
}
@@ -34,9 +34,8 @@ public abstract class MinecraftServer_scarpetMixin extends ReentrantBlockableEve
{
private CarpetScriptServer scriptServer;
public MinecraftServer_scarpetMixin(String string_1)
{
super(string_1);
public MinecraftServer_scarpetMixin(String name, boolean propagatesCrashes) {
super(name, propagatesCrashes);
}
@Shadow protected abstract void tickServer(BooleanSupplier booleanSupplier_1);
@@ -13,13 +13,14 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(value = MinecraftServer.class, priority = Integer.MAX_VALUE - 10)
public abstract class MinecraftServer_tickspeedMixin extends ReentrantBlockableEventLoop<TickTask> implements MinecraftServerInterface
{
public MinecraftServer_tickspeedMixin(String name)
{
super(name);
}
CarpetProfiler.ProfilerToken currentSection;
public MinecraftServer_tickspeedMixin(String name, boolean propagatesCrashes) {
super(name, propagatesCrashes);
}
// Replaced the above cancelled while statement with this one
// could possibly just inject that mspt selection at the beginning of the loop, but then adding all mspt's to
// replace 50L will be a hassle
@@ -420,21 +420,7 @@ public class ShapesRenderer
// draw the block itself
if (blockState.getRenderShape() == RenderShape.MODEL)
{
var bakedModel = client.getBlockRenderer().getBlockModel(blockState);
int color = client.getBlockColors().getColor(blockState, client.level, blockPos, 0);
//dont know why there is a 0.
//see https://github.com/senseiwells/EssentialClient/blob/4db1f291936f502304791ee323f369c206b3021d/src/main/java/me/senseiwells/essentialclient/utils/render/RenderHelper.java#L464
float red = (color >> 16 & 0xFF) / 255.0F;
float green = (color >> 8 & 0xFF) / 255.0F;
float blue = (color & 0xFF) / 255.0F;
RenderType type;
if (blockState.getBlock() instanceof LeavesBlock && !Minecraft.getInstance().options.cutoutLeaves().get()) {
type = RenderTypes.solidMovingBlock();
} else {
type = ItemBlockRenderTypes.getRenderType(blockState);
}
client.getBlockRenderer().getModelRenderer().renderModel(matrices.last(), immediate.getBuffer(type), bakedModel, red, green, blue, light, OverlayTexture.NO_OVERLAY);
client.getBlockRenderer().renderSingleBlock(blockState, matrices, immediate, light, OverlayTexture.NO_OVERLAY);
}
// draw the block`s entity part
@@ -461,10 +447,19 @@ public class ShapesRenderer
BlockEntityRenderState state = client.getBlockEntityRenderDispatcher().tryExtractRenderState(BlockEntity, partialTick, null);
// levelRenderer;;submitBlockEntities does a weird transpose
if (blockEntityRenderer != null && state != null)
{
// testme partial positions
//final Vec3 cameraPos = levelRenderState.cameraRenderState.pos;
//final double camX = cameraPos.x();
//final double camY = cameraPos.y();
//final double camZ = cameraPos.z();
//matrices.translate(blockPos.getX() - camX, blockPos.getY() - camY, blockPos.getZ() - camZ);
//matrices.mulPose(levelRenderState.cameraRenderState.);
blockEntityRenderer.submit(state, matrices,client.gameRenderer.getFeatureRenderDispatcher().getSubmitNodeStorage(), levelRenderState.cameraRenderState);
//blockEntityRenderer.submit(BlockEntity, partialTick,
// matrices, light, OverlayTexture.NO_OVERLAY, camera1.getPosition(), null, client.gameRenderer.getFeatureRenderDispatcher().getSubmitNodeStorage());
@@ -477,6 +472,7 @@ public class ShapesRenderer
if (shape.item != null)
{
// draw the item
// this seems to not work now
final ItemStackRenderState itemState = new ItemStackRenderState();
client.getItemModelResolver().updateForTopItem(itemState, shape.item, ItemDisplayContext.FIXED, client.level, null, 0);