blob: c795908906933e3e5547ccee36cf907f694c3d54 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package moe.nea.firmament.mixins;
import moe.nea.firmament.features.fixes.Fixes;
import net.minecraft.client.Minecraft;
import net.minecraft.client.MouseHandler;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(MouseHandler.class)
public class ChatPeekScrollPatch {
@Inject(method = "onScroll", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/player/Inventory;getSelectedSlot()I"), cancellable = true)
public void onHotbarScrollWhilePeeking(long window, double horizontal, double vertical, CallbackInfo ci) {
if (Fixes.INSTANCE.shouldPeekChat() && Fixes.INSTANCE.shouldScrollPeekedChat()) ci.cancel();
}
@ModifyVariable(method = "onScroll", at = @At(value = "STORE"), ordinal = 0)
public int onGetChatHud(int i) {
if (Fixes.INSTANCE.shouldPeekChat() && Fixes.INSTANCE.shouldScrollPeekedChat())
Minecraft.getInstance().gui.getChat().scrollChat(i);
return i;
}
}
|