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;
|
package dev.isxander.controlify.ingame;
|
||||||
|
|
||||||
|
import dev.isxander.controlify.Controlify;
|
||||||
import dev.isxander.controlify.InputMode;
|
import dev.isxander.controlify.InputMode;
|
||||||
import dev.isxander.controlify.api.ingameinput.LookInputModifier;
|
import dev.isxander.controlify.api.ingameinput.LookInputModifier;
|
||||||
import dev.isxander.controlify.controller.Controller;
|
import dev.isxander.controlify.controller.Controller;
|
||||||
@ -116,7 +117,7 @@ public class InGameInputHandler {
|
|||||||
impulseX = lookInputModifier.modifyX(impulseX, controller);
|
impulseX = lookInputModifier.modifyX(impulseX, controller);
|
||||||
impulseY = lookInputModifier.modifyY(impulseY, 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;
|
lookInputX = impulseX * controller.config().horizontalLookSensitivity * 65f;
|
||||||
lookInputY = impulseY * controller.config().verticalLookSensitivity * 65f;
|
lookInputY = impulseY * controller.config().verticalLookSensitivity * 65f;
|
||||||
} else {
|
} 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());
|
||||||
|
}
|
||||||
|
}
|
@ -37,6 +37,7 @@
|
|||||||
"feature.guide.screen.AbstractButtonMixin",
|
"feature.guide.screen.AbstractButtonMixin",
|
||||||
"feature.guide.screen.AbstractWidgetMixin",
|
"feature.guide.screen.AbstractWidgetMixin",
|
||||||
"feature.guide.screen.TabNavigationBarMixin",
|
"feature.guide.screen.TabNavigationBarMixin",
|
||||||
|
"feature.oofinput.GameRendererMixin",
|
||||||
"feature.reacharound.GameRendererMixin",
|
"feature.reacharound.GameRendererMixin",
|
||||||
"feature.rumble.blockbreak.MultiPlayerGameModeMixin",
|
"feature.rumble.blockbreak.MultiPlayerGameModeMixin",
|
||||||
"feature.rumble.damage.LocalPlayerMixin",
|
"feature.rumble.damage.LocalPlayerMixin",
|
||||||
|
Reference in New Issue
Block a user