mirror of
https://github.com/TeamMidnightDust/MidnightControls.git
synced 2025-12-13 23:25:10 +01:00
- Update to 1.20 - Fix virtual mouse cursor not being visible - Add option to hide the normal mouse cursor
36 lines
1.7 KiB
Java
36 lines
1.7 KiB
Java
package eu.midnightdust.midnightcontrols.client.mixin;
|
|
|
|
import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
|
|
import net.minecraft.client.gui.DrawContext;
|
|
import net.minecraft.client.gui.screen.ChatScreen;
|
|
import net.minecraft.client.gui.screen.Screen;
|
|
import net.minecraft.client.gui.widget.TextFieldWidget;
|
|
import net.minecraft.text.Text;
|
|
import org.spongepowered.asm.mixin.Mixin;
|
|
import org.spongepowered.asm.mixin.Shadow;
|
|
import org.spongepowered.asm.mixin.injection.At;
|
|
import org.spongepowered.asm.mixin.injection.Inject;
|
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|
|
|
@Mixin(ChatScreen.class)
|
|
public abstract class ChatScreenMixin extends Screen {
|
|
@Shadow protected TextFieldWidget chatField;
|
|
|
|
protected ChatScreenMixin(Text title) {
|
|
super(title);
|
|
}
|
|
|
|
@Inject(at = @At("TAIL"), method = "init")
|
|
private void midnightcontrols$moveInputField(CallbackInfo ci) {
|
|
if (MidnightControlsConfig.moveChat) chatField.setY(4);
|
|
}
|
|
@Inject(method = "render", at = @At("HEAD"))
|
|
private void midnightcontrols$moveInputFieldBackground(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
|
if (MidnightControlsConfig.moveChat) context.getMatrices().translate(0f, -this.height + 16, 0f);
|
|
}
|
|
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/widget/TextFieldWidget;render(Lnet/minecraft/client/gui/DrawContext;IIF)V", shift = At.Shift.BEFORE))
|
|
private void midnightcontrols$dontMoveOtherStuff(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
|
if (MidnightControlsConfig.moveChat) context.getMatrices().translate(0f, this.height - 16, 0f);
|
|
}
|
|
}
|