Skip to content

Commit 05e3ec6

Browse files
authored
Merge branch '1.21.7' into mc-298558
2 parents fb087f9 + 77c8327 commit 05e3ec6

10 files changed

Lines changed: 194 additions & 1 deletion

File tree

PATCHED.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
| Basic | [MC-22882](https://bugs.mojang.com/browse/MC-22882) | Ctrl + Q won't work on Mac (disabled by default) |
99
| Basic | [MC-46503](https://bugs.mojang.com/browse/MC-46503) | You can retain a mob's shader in spectator mode by running /kill |
1010
| Basic | [MC-46766](https://bugs.mojang.com/browse/MC-46766) | Mining a block in Survival, then changing to Spectator creates a breaking animation and sound |
11+
| Basic | [MC-57057](https://bugs.mojang.com/browse/MC-57057) | Guardian laser attack sound ignores distance |
1112
| Basic | [MC-59810](https://bugs.mojang.com/browse/MC-59810) | Cannot break blocks while sprinting (Ctrl+Click = right click on macOS) *(macOS only)* |
1213
| Basic | [MC-79545](https://bugs.mojang.com/browse/MC-79545) | The experience bar disappears when too many levels are given to the player |
1314
| Basic | [MC-80859](https://bugs.mojang.com/browse/MC-80859) | Starting to drag item stacks over other compatible stacks makes the latter invisible until appearance change (stack size increases) |
@@ -24,11 +25,15 @@
2425
| Basic | [MC-176559](https://bugs.mojang.com/browse/MC-176559) | Breaking process resets when a pickaxe enchanted with Mending mends by XP / Mending slows down breaking blocks again |
2526
| Basic | [MC-183776](https://bugs.mojang.com/browse/MC-183776) | After switching gamemodes using F3+F4, you need to press F3 twice to toggle the debug screen |
2627
| Basic | [MC-197260](https://bugs.mojang.com/browse/MC-197260) | Armor Stand renders itself and armor dark if its head is in a solid block |
28+
| Basic | [MC-206540](https://bugs.mojang.com/browse/MC-206540) | Increased input delay when riding an entity |
29+
| Basic | [MC-211561](https://bugs.mojang.com/browse/MC-211561) | Fishing line appears in opposite hand when switching slots |
2730
| Basic | [MC-215531](https://bugs.mojang.com/browse/MC-215531) | The carved pumpkin overlay isn't removed when switching into spectator mode |
2831
| Basic | [MC-217716](https://bugs.mojang.com/browse/MC-217716) | The green nausea overlay isn't removed when switching into spectator mode |
2932
| Basic | [MC-231097](https://bugs.mojang.com/browse/MC-231097) | Holding the "Use" button continues to slow down the player even after the used item has been dropped |
3033
| Basic | [MC-237493](https://bugs.mojang.com/browse/MC-237493) | Telemetry cannot be disabled |
3134
| Basic | [MC-298558](https://bugs.mojang.com/browse/MC-298558) | Rain fog calculation can overshoot while game is unresponsive |
35+
| Basic | [MC-268420](https://bugs.mojang.com/browse/MC-268420) | Cooldown indicator flashes when switching items with high attack speed attribute |
36+
| Basic | [MC-259512](https://bugs.mojang.com/browse/MC-259512) | Horizontal camera rotation lags when riding |
3237

3338
### Server Side (Both)
3439
| Type | Bug ID | Name |
@@ -39,6 +44,7 @@
3944
| Basic | [MC-30391](https://bugs.mojang.com/browse/MC-30391) | Chickens, blazes and the wither emit particles when landing from a height, despite falling slowly |
4045
| Basic | [MC-69216](https://bugs.mojang.com/browse/MC-69216) | Switching to spectator mode while fishing keeps rod cast |
4146
| Basic | [MC-81773](https://bugs.mojang.com/browse/MC-81773) | Bows and tridents drawn in survival/creative/adventure mode can be released in spectator mode |
47+
| Basic | [MC-84661](https://bugs.mojang.com/browse/MC-84661) | Glowing is considered a positive effect in potion item tooltips |
4248
| Basic | [MC-88371](https://bugs.mojang.com/browse/MC-88371) | Ender Dragon flies down in the void when the exit portal is destroyed |
4349
| Basic | [MC-89146](https://bugs.mojang.com/browse/MC-89146) | Pistons forget update when being reloaded |
4450
| Basic | [MC-93018](https://bugs.mojang.com/browse/MC-93018) | Wild wolves show breeding hearts but do not breed |
@@ -51,6 +57,7 @@
5157
| Basic | [MC-132878](https://bugs.mojang.com/browse/MC-132878) | Armor stands destroyed by explosions/lava/fire don't produce particles |
5258
| Basic | [MC-155509](https://bugs.mojang.com/browse/MC-155509) | Puffed pufferfish can hurt the player while dying |
5359
| Basic | [MC-160095](https://bugs.mojang.com/browse/MC-160095) | End Rods only break Cactus when moved by pistons |
60+
| Basic | [MC-170462](https://bugs.mojang.com/browse/MC-170462) | Bad Omen is considered a positive effect in potion item tooltips |
5461
| Basic | [MC-179072](https://bugs.mojang.com/browse/MC-179072) | Creepers do not defuse when switching from Survival to Creative/Spectator |
5562
| Basic | [MC-183990](https://bugs.mojang.com/browse/MC-183990) | Group AI of some mobs breaks when their target dies |
5663
| Basic | [MC-199467](https://bugs.mojang.com/browse/MC-199467) | Certain entity animations stop after they've existed in world for too long |
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package dev.isxander.debugify.client.mixins.basic.mc206540;
2+
3+
import dev.isxander.debugify.fixes.BugFix;
4+
import dev.isxander.debugify.fixes.FixCategory;
5+
import net.minecraft.util.Mth;
6+
import net.minecraft.world.entity.Entity;
7+
import org.spongepowered.asm.mixin.Mixin;
8+
import org.spongepowered.asm.mixin.Shadow;
9+
import org.spongepowered.asm.mixin.injection.At;
10+
import org.spongepowered.asm.mixin.injection.Inject;
11+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
12+
13+
@BugFix(id = "MC-206540", category = FixCategory.BASIC, env = BugFix.Env.CLIENT, modConflicts = "ridingmousefix", description = "Increased input delay when riding an entity")
14+
@Mixin(Entity.class)
15+
public abstract class EntityMixin {
16+
@Shadow
17+
public abstract float getYRot();
18+
19+
/**
20+
* Code taken from {@link net.minecraft.world.entity.vehicle.AbstractBoat}
21+
*/
22+
@Inject(method = "onPassengerTurned", at = @At("HEAD"))
23+
private void fixCameraMovement(Entity entity, CallbackInfo ci) {
24+
if (entity.isAlwaysTicking()) {
25+
entity.setYBodyRot(this.getYRot());
26+
float f = Mth.wrapDegrees(entity.getYRot() - this.getYRot());
27+
float g = Mth.clamp(f, -180.0F, 180.0F);
28+
entity.yRotO += g - f;
29+
entity.setYRot(entity.getYRot() + g - f);
30+
entity.setYHeadRot(entity.getYRot());
31+
}
32+
}
33+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package dev.isxander.debugify.client.mixins.basic.mc211561;
2+
3+
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
4+
import dev.isxander.debugify.fixes.BugFix;
5+
import dev.isxander.debugify.fixes.FixCategory;
6+
import net.minecraft.client.renderer.entity.FishingHookRenderer;
7+
import net.minecraft.world.entity.HumanoidArm;
8+
import net.minecraft.world.entity.player.Player;
9+
import net.minecraft.world.item.FishingRodItem;
10+
import org.spongepowered.asm.mixin.Mixin;
11+
import org.spongepowered.asm.mixin.injection.At;
12+
13+
@BugFix(id = "MC-211561", category = FixCategory.BASIC, env = BugFix.Env.CLIENT, description = "Fishing line appears in opposite hand when switching slots")
14+
@Mixin(FishingHookRenderer.class)
15+
public class FishingHookRendererMixin {
16+
@ModifyReturnValue(method = "getHoldingArm", at = @At("RETURN"))
17+
private static HumanoidArm fixHoldingArm(HumanoidArm original, Player player) {
18+
return player.getOffhandItem().getItem() instanceof FishingRodItem ? original : player.getMainArm();
19+
}
20+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package dev.isxander.debugify.client.mixins.basic.mc259512;
2+
3+
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
4+
import dev.isxander.debugify.fixes.BugFix;
5+
import dev.isxander.debugify.fixes.FixCategory;
6+
import net.minecraft.world.entity.Entity;
7+
import net.minecraft.world.entity.EntityType;
8+
import net.minecraft.world.entity.LivingEntity;
9+
import net.minecraft.world.entity.player.Player;
10+
import net.minecraft.world.level.Level;
11+
import org.spongepowered.asm.mixin.Mixin;
12+
import org.spongepowered.asm.mixin.injection.At;
13+
14+
@BugFix(id = "MC-259512", category = FixCategory.BASIC, env = BugFix.Env.CLIENT, modConflicts = "eg_fix_horizontal_camera_lag", description = "Increased input delay when riding an entity")
15+
@Mixin(LivingEntity.class)
16+
public abstract class LivingEntityMixin extends Entity {
17+
public LivingEntityMixin(EntityType<?> entityType, Level level) {
18+
super(entityType, level);
19+
}
20+
21+
/**
22+
* yHeadRot does not match yRot. yRot is your actual view rotation (the blue line in your debug hitbox),
23+
* while yHeadRot is interpolated and lags behind (your visible head rotation)
24+
*/
25+
@ModifyExpressionValue(method = "getViewYRot", at = @At(value = "FIELD", target = "Lnet/minecraft/world/entity/LivingEntity;yHeadRot:F"))
26+
private float smoothYRot(float original) {
27+
return (Entity) this instanceof Player ? this.getYRot() : original;
28+
}
29+
30+
@ModifyExpressionValue(method = "getViewYRot", at = @At(value = "FIELD", target = "Lnet/minecraft/world/entity/LivingEntity;yHeadRotO:F"))
31+
private float smoothYRot0(float original) {
32+
return (Entity) this instanceof Player ? this.yRotO : original;
33+
}
34+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package dev.isxander.debugify.client.mixins.basic.mc268420;
2+
3+
import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
4+
import com.mojang.blaze3d.pipeline.RenderPipeline;
5+
import dev.isxander.debugify.fixes.BugFix;
6+
import dev.isxander.debugify.fixes.FixCategory;
7+
import net.minecraft.client.Minecraft;
8+
import net.minecraft.client.gui.Gui;
9+
import net.minecraft.client.gui.GuiGraphics;
10+
import net.minecraft.resources.ResourceLocation;
11+
import org.spongepowered.asm.mixin.Final;
12+
import org.spongepowered.asm.mixin.Mixin;
13+
import org.spongepowered.asm.mixin.Shadow;
14+
import org.spongepowered.asm.mixin.injection.At;
15+
16+
@BugFix(id = "MC-268420", category = FixCategory.BASIC, env = BugFix.Env.CLIENT, description = "Cooldown indicator flashes when switching items with high attack speed attribute")
17+
@Mixin(Gui.class)
18+
public class GuiMixin {
19+
@Shadow
20+
@Final
21+
private Minecraft minecraft;
22+
23+
// the FULL sprite never shows anyway so no need to wrap it
24+
@WrapWithCondition(method = "renderCrosshair", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;blitSprite(Lcom/mojang/blaze3d/pipeline/RenderPipeline;Lnet/minecraft/resources/ResourceLocation;IIII)V", ordinal = 2))
25+
private boolean fixAttackIndicatorFlashing(GuiGraphics instance, RenderPipeline renderPipeline, ResourceLocation resourceLocation, int i, int j, int k, int l) {
26+
return this.minecraft.player.getAttackStrengthScale(0.0F) * 17F > 0;
27+
}
28+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package dev.isxander.debugify.client.mixins.basic.mc57057;
2+
3+
import dev.isxander.debugify.fixes.BugFix;
4+
import dev.isxander.debugify.fixes.FixCategory;
5+
import net.minecraft.client.resources.sounds.AbstractTickableSoundInstance;
6+
import net.minecraft.client.resources.sounds.GuardianAttackSoundInstance;
7+
import net.minecraft.client.resources.sounds.SoundInstance;
8+
import net.minecraft.sounds.SoundEvent;
9+
import net.minecraft.sounds.SoundSource;
10+
import net.minecraft.util.RandomSource;
11+
import net.minecraft.world.entity.monster.Guardian;
12+
import org.spongepowered.asm.mixin.Mixin;
13+
import org.spongepowered.asm.mixin.injection.At;
14+
import org.spongepowered.asm.mixin.injection.Inject;
15+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
16+
17+
@BugFix(id = "MC-57057", category = FixCategory.BASIC, env = BugFix.Env.CLIENT, description = "Guardian laser attack sound ignores distance")
18+
@Mixin(GuardianAttackSoundInstance.class)
19+
public abstract class GuardianAttackSoundInstanceMixin extends AbstractTickableSoundInstance {
20+
protected GuardianAttackSoundInstanceMixin(SoundEvent soundEvent, SoundSource soundSource, RandomSource randomSource) {
21+
super(soundEvent, soundSource, randomSource);
22+
}
23+
24+
@Inject(method = "<init>", at = @At(value = "TAIL"))
25+
private void fixAttenuation(Guardian guardian, CallbackInfo ci) {
26+
this.attenuation = SoundInstance.Attenuation.LINEAR;
27+
}
28+
}

src/client/resources/debugify.client.mixins.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"basic.mc183776.KeyboardHandlerMixin",
2121
"basic.mc197260.ArmorStandRendererMixin",
2222
"basic.mc197260.LivingEntityRendererMixin",
23+
"basic.mc211561.FishingHookRendererMixin",
2324
"basic.mc215531.GuiMixin",
2425
"basic.mc217716.GameRendererMixin",
2526
"basic.mc22882.AbstractContainerScreenMixin",
@@ -31,9 +32,11 @@
3132
"basic.mc237493.TelemetryInfoScreenMixin",
3233
"basic.mc263865.KeyboardHandlerMixin",
3334
"basic.mc298558.AtmosphericFogEnvironmentMixin",
35+
"basic.mc268420.GuiMixin",
3436
"basic.mc4490.FishingHookRendererMixin",
3537
"basic.mc46503.ClientPacketListenerMixin",
3638
"basic.mc46766.MinecraftMixin",
39+
"basic.mc57057.GuardianAttackSoundInstanceMixin",
3740
"basic.mc577.AbstractContainerScreenMixin",
3841
"basic.mc59810.MouseHandlerMixin",
3942
"basic.mc79545.ExperienceBarRendererMixin",
@@ -43,6 +46,8 @@
4346
"gameplay.mc159163.ClientPacketListenerMixin"
4447
],
4548
"mixins": [
46-
"basic.mc176559.ItemStackAccessor"
49+
"basic.mc176559.ItemStackAccessor",
50+
"basic.mc206540.EntityMixin",
51+
"basic.mc259512.LivingEntityMixin"
4752
]
4853
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package dev.isxander.debugify.mixins.basic.mc170462;
2+
3+
import dev.isxander.debugify.fixes.BugFix;
4+
import dev.isxander.debugify.fixes.FixCategory;
5+
import net.minecraft.world.effect.MobEffectCategory;
6+
import net.minecraft.world.effect.MobEffects;
7+
import org.spongepowered.asm.mixin.Mixin;
8+
import org.spongepowered.asm.mixin.injection.At;
9+
import org.spongepowered.asm.mixin.injection.ModifyArg;
10+
11+
@BugFix(id = "MC-170462", category = FixCategory.BASIC, env = BugFix.Env.SERVER, description = "Bad Omen is considered a positive effect in potion item tooltips")
12+
@Mixin(MobEffects.class)
13+
public class MobEffectsMixin {
14+
@ModifyArg(method = "<clinit>", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/effect/BadOmenMobEffect;<init>(Lnet/minecraft/world/effect/MobEffectCategory;I)V"))
15+
private static MobEffectCategory badOmenEffectCategory(MobEffectCategory arg) {
16+
return MobEffectCategory.HARMFUL;
17+
}
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package dev.isxander.debugify.mixins.basic.mc84661;
2+
3+
import dev.isxander.debugify.fixes.BugFix;
4+
import dev.isxander.debugify.fixes.FixCategory;
5+
import net.minecraft.world.effect.MobEffectCategory;
6+
import net.minecraft.world.effect.MobEffects;
7+
import org.spongepowered.asm.mixin.Mixin;
8+
import org.spongepowered.asm.mixin.injection.At;
9+
import org.spongepowered.asm.mixin.injection.ModifyArg;
10+
11+
@BugFix(id = "MC-84661", category = FixCategory.BASIC, env = BugFix.Env.SERVER, description = "Glowing is considered a positive effect in potion item tooltips")
12+
@Mixin(MobEffects.class)
13+
public class MobEffectsMixin {
14+
@ModifyArg(method = "<clinit>", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/effect/MobEffect;<init>(Lnet/minecraft/world/effect/MobEffectCategory;I)V", ordinal = 15))
15+
private static MobEffectCategory badOmenEffectCategory(MobEffectCategory arg) {
16+
return MobEffectCategory.HARMFUL;
17+
}
18+
}

src/main/resources/debugify.mixins.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"basic.mc132878.ArmorStandMixin",
1919
"basic.mc155509.PufferfishMixin",
2020
"basic.mc160095.CactusBlockMixin",
21+
"basic.mc170462.MobEffectsMixin",
2122
"basic.mc179072.SwellGoalMixin",
2223
"basic.mc183990.MobMixin",
2324
"basic.mc199467.MthMixin",
@@ -33,6 +34,7 @@
3334
"basic.mc30391.LivingEntityMixin",
3435
"basic.mc69216.ServerPlayerMixin",
3536
"basic.mc7569.RconConsoleSourceMixin",
37+
"basic.mc84661.MobEffectsMixin",
3638
"basic.mc88371.DragonLandingPhaseMixin",
3739
"basic.mc89146.ChunkAccessMixin",
3840
"basic.mc93018.AnimalMixin",

0 commit comments

Comments
 (0)