Skip to content

Commit 274aac0

Browse files
committed
more small bug fixes
1 parent 329081f commit 274aac0

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

src/main/java/meteordevelopment/meteorclient/mixin/BannerBlockEntityRendererMixin.java

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@
55

66
package meteordevelopment.meteorclient.mixin;
77

8+
import com.llamalad7.mixinextras.sugar.Local;
89
import meteordevelopment.meteorclient.systems.modules.Modules;
910
import meteordevelopment.meteorclient.systems.modules.render.NoRender;
11+
import net.minecraft.client.render.OverlayTexture;
1012
import net.minecraft.client.render.RenderLayer;
1113
import net.minecraft.client.render.block.entity.BannerBlockEntityRenderer;
1214
import net.minecraft.client.render.block.entity.model.BannerBlockModel;
13-
import net.minecraft.client.render.block.entity.model.BannerFlagBlockModel;
1415
import net.minecraft.client.render.block.entity.state.BannerBlockEntityRenderState;
1516
import net.minecraft.client.render.command.ModelCommandRenderer;
1617
import net.minecraft.client.render.command.OrderedRenderCommandQueue;
@@ -19,33 +20,45 @@
1920
import net.minecraft.client.texture.SpriteHolder;
2021
import net.minecraft.client.util.SpriteIdentifier;
2122
import net.minecraft.client.util.math.MatrixStack;
22-
import net.minecraft.component.type.BannerPatternsComponent;
23-
import net.minecraft.util.DyeColor;
2423
import net.minecraft.util.Unit;
2524
import net.minecraft.util.math.RotationAxis;
25+
import org.spongepowered.asm.mixin.Final;
2626
import org.spongepowered.asm.mixin.Mixin;
27+
import org.spongepowered.asm.mixin.Shadow;
2728
import org.spongepowered.asm.mixin.Unique;
2829
import org.spongepowered.asm.mixin.injection.At;
2930
import org.spongepowered.asm.mixin.injection.Inject;
3031
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
3132

3233
@Mixin(BannerBlockEntityRenderer.class)
3334
public abstract class BannerBlockEntityRendererMixin {
35+
@Shadow
36+
@Final
37+
private SpriteHolder materials;
38+
3439
@Inject(method = "render(Lnet/minecraft/client/render/block/entity/state/BannerBlockEntityRenderState;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;Lnet/minecraft/client/render/state/CameraRenderState;)V", at = @At("HEAD"), cancellable = true)
3540
private void injectRender1(BannerBlockEntityRenderState bannerBlockEntityRenderState, MatrixStack matrixStack, OrderedRenderCommandQueue orderedRenderCommandQueue, CameraRenderState arg, CallbackInfo ci) {
3641
if (Modules.get().get(NoRender.class).getBannerRenderMode() == NoRender.BannerRenderMode.None) ci.cancel();
3742
}
3843

39-
@Inject(method = "render(Lnet/minecraft/client/texture/SpriteHolder;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;IIFLnet/minecraft/client/render/block/entity/model/BannerBlockModel;Lnet/minecraft/client/render/block/entity/model/BannerFlagBlockModel;FLnet/minecraft/util/DyeColor;Lnet/minecraft/component/type/BannerPatternsComponent;Lnet/minecraft/client/render/command/ModelCommandRenderer$CrumblingOverlayCommand;I)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;submitModel(Lnet/minecraft/client/model/Model;Ljava/lang/Object;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/RenderLayer;IIILnet/minecraft/client/texture/Sprite;ILnet/minecraft/client/render/command/ModelCommandRenderer$CrumblingOverlayCommand;)V"), cancellable = true)
40-
private static void injectRender2(SpriteHolder materials, MatrixStack matrices, OrderedRenderCommandQueue queue, int light, int overlay, float yaw, BannerBlockModel model, BannerFlagBlockModel flagModel, float pitch, DyeColor dyeColor, BannerPatternsComponent bannerPatterns, ModelCommandRenderer.CrumblingOverlayCommand crumblingOverlay, int outline, CallbackInfo ci) {
44+
@Inject(method = "render(Lnet/minecraft/client/render/block/entity/state/BannerBlockEntityRenderState;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;Lnet/minecraft/client/render/state/CameraRenderState;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/block/entity/BannerBlockEntityRenderer;render(Lnet/minecraft/client/texture/SpriteHolder;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;IIFLnet/minecraft/client/render/block/entity/model/BannerBlockModel;Lnet/minecraft/client/render/block/entity/model/BannerFlagBlockModel;FLnet/minecraft/util/DyeColor;Lnet/minecraft/component/type/BannerPatternsComponent;Lnet/minecraft/client/render/command/ModelCommandRenderer$CrumblingOverlayCommand;I)V"), cancellable = true)
45+
private void injectRender2(BannerBlockEntityRenderState bannerBlockEntityRenderState, MatrixStack matrixStack, OrderedRenderCommandQueue orderedRenderCommandQueue, CameraRenderState cameraRenderState, CallbackInfo ci, @Local BannerBlockModel bannerBlockModel) {
4146
if (Modules.get().get(NoRender.class).getBannerRenderMode() == NoRender.BannerRenderMode.Pillar) {
42-
renderPillar(matrices, queue, light, overlay, yaw, model, materials, crumblingOverlay);
47+
renderPillar(
48+
matrixStack,
49+
orderedRenderCommandQueue,
50+
bannerBlockEntityRenderState.lightmapCoordinates,
51+
bannerBlockEntityRenderState.yaw,
52+
bannerBlockModel,
53+
this.materials,
54+
bannerBlockEntityRenderState.crumblingOverlay
55+
);
4356
ci.cancel();
4457
}
4558
}
4659

4760
@Unique
48-
private static void renderPillar(MatrixStack matrices, OrderedRenderCommandQueue entityRenderCommandQueue, int light, int overlay, float rotation, BannerBlockModel model, SpriteHolder spriteHolder, ModelCommandRenderer.CrumblingOverlayCommand arg) {
61+
private static void renderPillar(MatrixStack matrices, OrderedRenderCommandQueue entityRenderCommandQueue, int light, float rotation, BannerBlockModel model, SpriteHolder spriteHolder, ModelCommandRenderer.CrumblingOverlayCommand arg) {
4962
matrices.push();
5063
matrices.translate(0.5F, 0.0F, 0.5F);
5164
matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(rotation));
@@ -57,7 +70,7 @@ private static void renderPillar(MatrixStack matrices, OrderedRenderCommandQueue
5770
matrices,
5871
spriteIdentifier.getRenderLayer(RenderLayer::getEntitySolid),
5972
light,
60-
overlay,
73+
OverlayTexture.DEFAULT_UV,
6174
-1,
6275
spriteHolder.getSprite(spriteIdentifier),
6376
0,

src/main/java/meteordevelopment/meteorclient/mixin/PlayerEntityRendererMixin.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ public PlayerEntityRendererMixin(EntityRendererFactory.Context ctx, PlayerEntity
9292
@Inject(method = "updateRenderState(Lnet/minecraft/entity/PlayerLikeEntity;Lnet/minecraft/client/render/entity/state/PlayerEntityRenderState;F)V", at = @At("RETURN"))
9393
private void updateRenderState$rotations(AvatarlikeEntity player, PlayerEntityRenderState state, float f, CallbackInfo info) {
9494
if (Rotations.rotating && player == mc.player) {
95+
state.relativeHeadYaw = 0;
9596
state.bodyYaw = Rotations.serverYaw;
9697
state.pitch = Rotations.serverPitch;
9798
}

0 commit comments

Comments
 (0)