26.1-snap-7
This commit is contained in:
1 parent
35a1a1a600
commit
e348f8fa6d
7 files changed
+29
-33
No files matched your search
+2
-2
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user