forked from Clones/Controlify
🐛 Fix issues with 'out of focus input' option (close #58)
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
package dev.isxander.controlify.ingame;
|
||||
|
||||
import dev.isxander.controlify.Controlify;
|
||||
import dev.isxander.controlify.InputMode;
|
||||
import dev.isxander.controlify.api.ingameinput.LookInputModifier;
|
||||
import dev.isxander.controlify.controller.Controller;
|
||||
@ -116,7 +117,7 @@ public class InGameInputHandler {
|
||||
impulseX = lookInputModifier.modifyX(impulseX, controller);
|
||||
impulseY = lookInputModifier.modifyY(impulseY, controller);
|
||||
|
||||
if (minecraft.mouseHandler.isMouseGrabbed() && minecraft.isWindowActive() && player != null) {
|
||||
if (minecraft.mouseHandler.isMouseGrabbed() && (minecraft.isWindowActive() || Controlify.instance().config().globalSettings().outOfFocusInput) && player != null) {
|
||||
lookInputX = impulseX * controller.config().horizontalLookSensitivity * 65f;
|
||||
lookInputY = impulseY * controller.config().verticalLookSensitivity * 65f;
|
||||
} else {
|
||||
|
@ -0,0 +1,16 @@
|
||||
package dev.isxander.controlify.mixins.feature.oofinput;
|
||||
|
||||
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
|
||||
import dev.isxander.controlify.Controlify;
|
||||
import net.minecraft.client.renderer.GameRenderer;
|
||||
import org.objectweb.asm.Opcodes;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
|
||||
@Mixin(GameRenderer.class)
|
||||
public class GameRendererMixin {
|
||||
@ModifyExpressionValue(method = "render", at = @At(value = "FIELD", target = "Lnet/minecraft/client/Options;pauseOnLostFocus:Z", opcode = Opcodes.GETFIELD))
|
||||
private boolean shouldPauseOnLossFocus(boolean original) {
|
||||
return original && !(Controlify.instance().config().globalSettings().outOfFocusInput && Controlify.instance().getCurrentController().isPresent());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user