mirror of
https://github.com/TeamMidnightDust/MidnightControls.git
synced 2025-12-14 07:35:10 +01:00
Fix bad mixin.
This commit is contained in:
@@ -28,7 +28,6 @@ import net.minecraft.util.hit.HitResult;
|
|||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Matrix4f;
|
import net.minecraft.util.math.Matrix4f;
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.Vec3d;
|
||||||
import net.minecraft.util.profiler.Profiler;
|
|
||||||
import net.minecraft.util.shape.VoxelShape;
|
import net.minecraft.util.shape.VoxelShape;
|
||||||
import org.spongepowered.asm.mixin.Final;
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
@@ -53,6 +52,10 @@ public abstract class WorldRendererMixin
|
|||||||
@Shadow
|
@Shadow
|
||||||
private ClientWorld world;
|
private ClientWorld world;
|
||||||
|
|
||||||
|
@Shadow
|
||||||
|
@Final
|
||||||
|
private BufferBuilderStorage bufferBuilders;
|
||||||
|
|
||||||
@Shadow
|
@Shadow
|
||||||
private static void drawShapeOutline(MatrixStack matrixStack, VertexConsumer vertexConsumer, VoxelShape voxelShape, double d, double e, double f, float g, float h, float i, float j)
|
private static void drawShapeOutline(MatrixStack matrixStack, VertexConsumer vertexConsumer, VoxelShape voxelShape, double d, double e, double f, float g, float h, float i, float j)
|
||||||
{
|
{
|
||||||
@@ -65,13 +68,10 @@ public abstract class WorldRendererMixin
|
|||||||
target = "Lnet/minecraft/client/MinecraftClient;crosshairTarget:Lnet/minecraft/util/hit/HitResult;",
|
target = "Lnet/minecraft/client/MinecraftClient;crosshairTarget:Lnet/minecraft/util/hit/HitResult;",
|
||||||
ordinal = 1,
|
ordinal = 1,
|
||||||
shift = At.Shift.AFTER
|
shift = At.Shift.AFTER
|
||||||
),
|
)
|
||||||
locals = LocalCapture.CAPTURE_FAILEXCEPTION
|
|
||||||
)
|
)
|
||||||
private void onOutlineRender(MatrixStack matrices, float tickDelta, long limitTime, boolean renderBlockOutline, Camera camera, GameRenderer gameRenderer,
|
private void onOutlineRender(MatrixStack matrices, float tickDelta, long limitTime, boolean renderBlockOutline, Camera camera, GameRenderer gameRenderer,
|
||||||
LightmapTextureManager lightmapTextureManager, Matrix4f matrix4f, CallbackInfo ci,
|
LightmapTextureManager lightmapTextureManager, Matrix4f matrix4f, CallbackInfo ci)
|
||||||
Profiler profiler, Vec3d cameraPos, double x, double y, double z, Matrix4f modelMatrix, boolean bl, Frustum frustum2, boolean bl3,
|
|
||||||
VertexConsumerProvider.Immediate immediate)
|
|
||||||
{
|
{
|
||||||
if (this.client.crosshairTarget == null || this.client.crosshairTarget.getType() != HitResult.Type.MISS || !LambdaControlsClient.get().config.shouldRenderReacharoundOutline())
|
if (this.client.crosshairTarget == null || this.client.crosshairTarget.getType() != HitResult.Type.MISS || !LambdaControlsClient.get().config.shouldRenderReacharoundOutline())
|
||||||
return;
|
return;
|
||||||
@@ -83,16 +83,23 @@ public abstract class WorldRendererMixin
|
|||||||
ItemStack stack = this.client.player.getStackInHand(Hand.MAIN_HAND);
|
ItemStack stack = this.client.player.getStackInHand(Hand.MAIN_HAND);
|
||||||
if (stack == null || !(stack.getItem() instanceof BlockItem))
|
if (stack == null || !(stack.getItem() instanceof BlockItem))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Block block = ((BlockItem) stack.getItem()).getBlock();
|
Block block = ((BlockItem) stack.getItem()).getBlock();
|
||||||
result = LambdaReacharound.withSideForReacharound(result, block);
|
result = LambdaReacharound.withSideForReacharound(result, block);
|
||||||
ItemPlacementContext context = new ItemPlacementContext(new ItemUsageContext(this.client.player, Hand.MAIN_HAND, result));
|
ItemPlacementContext context = new ItemPlacementContext(new ItemUsageContext(this.client.player, Hand.MAIN_HAND, result));
|
||||||
VertexConsumer vertexConsumer = immediate.getBuffer(RenderLayer.getLines());
|
|
||||||
BlockState placementState = block.getPlacementState(context);
|
BlockState placementState = block.getPlacementState(context);
|
||||||
if (placementState == null)
|
if (placementState == null)
|
||||||
return;
|
return;
|
||||||
|
Vec3d pos = camera.getPos();
|
||||||
|
|
||||||
VoxelShape outlineShape = placementState.getOutlineShape(this.client.world, blockPos, ShapeContext.of(camera.getFocusedEntity()));
|
VoxelShape outlineShape = placementState.getOutlineShape(this.client.world, blockPos, ShapeContext.of(camera.getFocusedEntity()));
|
||||||
int[] color = LambdaControlsClient.get().config.getReacharoundOutlineColor();
|
int[] color = LambdaControlsClient.get().config.getReacharoundOutlineColor();
|
||||||
drawShapeOutline(matrices, vertexConsumer, outlineShape, (double) blockPos.getX() - x, (double) blockPos.getY() - y, (double) blockPos.getZ() - z, color[0] / 255.f, color[1] / 255.f, color[2] / 255.f, color[3] / 255.f);
|
|
||||||
|
VertexConsumer vertexConsumer = this.bufferBuilders.getEntityVertexConsumers().getBuffer(RenderLayer.getLines());
|
||||||
|
drawShapeOutline(matrices, vertexConsumer, outlineShape,
|
||||||
|
(double) blockPos.getX() - pos.getX(), (double) blockPos.getY() - pos.getY(), (double) blockPos.getZ() - pos.getZ(),
|
||||||
|
color[0] / 255.f, color[1] / 255.f, color[2] / 255.f, color[3] / 255.f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user