1
0
forked from Clones/Controlify

vmouse sensitivity

This commit is contained in:
isXander
2023-02-02 22:06:59 +00:00
parent 2d2fcf906f
commit 2f0e66dca9
4 changed files with 32 additions and 16 deletions

View File

@ -65,6 +65,12 @@ public class YACLHelper {
.binding(def.verticalLookSensitivity, () -> config.verticalLookSensitivity, v -> config.verticalLookSensitivity = v) .binding(def.verticalLookSensitivity, () -> config.verticalLookSensitivity, v -> config.verticalLookSensitivity = v)
.controller(opt -> new FloatSliderController(opt, 0.1f, 2f, 0.05f, v -> Component.literal(String.format("%.0f%%", v*100)))) .controller(opt -> new FloatSliderController(opt, 0.1f, 2f, 0.05f, v -> Component.literal(String.format("%.0f%%", v*100))))
.build()) .build())
.option(Option.createBuilder(float.class)
.name(Component.translatable("controlify.gui.vmouse_sensitivity"))
.tooltip(Component.translatable("controlify.gui.vmouse_sensitivity.tooltip"))
.binding(def.virtualMouseSensitivity, () -> config.virtualMouseSensitivity, v -> config.virtualMouseSensitivity = v)
.controller(opt -> new FloatSliderController(opt, 0.1f, 2f, 0.05f, v -> Component.literal(String.format("%.0f%%", v*100))))
.build())
.option(Option.createBuilder(int.class) .option(Option.createBuilder(int.class)
.name(Component.translatable("controlify.gui.screen_repeat_navi_delay")) .name(Component.translatable("controlify.gui.screen_repeat_navi_delay"))
.tooltip(Component.translatable("controlify.gui.screen_repeat_navi_delay.tooltip")) .tooltip(Component.translatable("controlify.gui.screen_repeat_navi_delay.tooltip"))

View File

@ -45,8 +45,8 @@ public class VirtualMouseHandler {
// quadratic function to make small movements smaller // quadratic function to make small movements smaller
// abs to keep sign // abs to keep sign
targetX += leftStickX * Mth.abs(leftStickX) * 20f; targetX += leftStickX * Mth.abs(leftStickX) * 20f * controller.config().virtualMouseSensitivity;
targetY += leftStickY * Mth.abs(leftStickY) * 20f; targetY += leftStickY * Mth.abs(leftStickY) * 20f * controller.config().virtualMouseSensitivity;
targetX = Mth.clamp(targetX, 0, minecraft.getWindow().getWidth()); targetX = Mth.clamp(targetX, 0, minecraft.getWindow().getWidth());
targetY = Mth.clamp(targetY, 0, minecraft.getWindow().getHeight()); targetY = Mth.clamp(targetY, 0, minecraft.getWindow().getHeight());
@ -153,12 +153,6 @@ public class VirtualMouseHandler {
} }
ControlifyEvents.VIRTUAL_MOUSE_TOGGLED.invoker().onVirtualMouseToggled(true); ControlifyEvents.VIRTUAL_MOUSE_TOGGLED.invoker().onVirtualMouseToggled(true);
minecraft.getToasts().addToast(SystemToast.multiline(
minecraft,
SystemToast.SystemToastIds.PERIODIC_NOTIFICATION,
Component.translatable("controlify.toast.vmouse_enabled.title"),
Component.translatable("controlify.toast.vmouse_enabled.description")
));
} }
public void disableVirtualMouse() { public void disableVirtualMouse() {
@ -171,12 +165,6 @@ public class VirtualMouseHandler {
targetY = currentY = minecraft.mouseHandler.ypos(); targetY = currentY = minecraft.mouseHandler.ypos();
ControlifyEvents.VIRTUAL_MOUSE_TOGGLED.invoker().onVirtualMouseToggled(false); ControlifyEvents.VIRTUAL_MOUSE_TOGGLED.invoker().onVirtualMouseToggled(false);
minecraft.getToasts().addToast(SystemToast.multiline(
minecraft,
SystemToast.SystemToastIds.PERIODIC_NOTIFICATION,
Component.translatable("controlify.toast.vmouse_disabled.title"),
Component.translatable("controlify.toast.vmouse_disabled.description")
));
} }
private void setMousePosition() { private void setMousePosition() {
@ -204,9 +192,23 @@ public class VirtualMouseHandler {
screens.remove(screenName); screens.remove(screenName);
disableVirtualMouse(); disableVirtualMouse();
Controlify.instance().hideMouse(true); Controlify.instance().hideMouse(true);
minecraft.getToasts().addToast(SystemToast.multiline(
minecraft,
SystemToast.SystemToastIds.PERIODIC_NOTIFICATION,
Component.translatable("controlify.toast.vmouse_disabled.title"),
Component.translatable("controlify.toast.vmouse_disabled.description")
));
} else { } else {
screens.add(screenName); screens.add(screenName);
enableVirtualMouse(); enableVirtualMouse();
minecraft.getToasts().addToast(SystemToast.multiline(
minecraft,
SystemToast.SystemToastIds.PERIODIC_NOTIFICATION,
Component.translatable("controlify.toast.vmouse_enabled.title"),
Component.translatable("controlify.toast.vmouse_enabled.description")
));
} }
Controlify.instance().config().save(); Controlify.instance().config().save();

View File

@ -12,6 +12,8 @@
"controlify.gui.horizontal_look_sensitivity.tooltip": "How fast the camera moves horizontally when looking around.", "controlify.gui.horizontal_look_sensitivity.tooltip": "How fast the camera moves horizontally when looking around.",
"controlify.gui.vertical_look_sensitivity": "Vertical Look Sensitivity", "controlify.gui.vertical_look_sensitivity": "Vertical Look Sensitivity",
"controlify.gui.vertical_look_sensitivity.tooltip": "How fast the camera moves vertically when looking around.", "controlify.gui.vertical_look_sensitivity.tooltip": "How fast the camera moves vertically when looking around.",
"controlify.gui.vmouse_sensitivity": "Virtual Mouse Sensitivity",
"controlify.gui.vmouse_sensitivity.tooltip": "How fast the virtual mouse moves.",
"controlify.gui.screen_repeat_navi_delay": "Screen Repeat Navigation Delay", "controlify.gui.screen_repeat_navi_delay": "Screen Repeat Navigation Delay",
"controlify.gui.screen_repeat_navi_delay.tooltip": "How the delay is for navigation to start repeating if you hold the stick.", "controlify.gui.screen_repeat_navi_delay.tooltip": "How the delay is for navigation to start repeating if you hold the stick.",
"controlify.gui.left_stick_deadzone": "Left Stick Deadzone", "controlify.gui.left_stick_deadzone": "Left Stick Deadzone",
@ -30,6 +32,8 @@
"controlify.gui.format.ticks": "%s ticks", "controlify.gui.format.ticks": "%s ticks",
"controlify.gui.button": "Controller Settings...",
"controlify.toast.vmouse_enabled.title": "Virtual Mouse Enabled", "controlify.toast.vmouse_enabled.title": "Virtual Mouse Enabled",
"controlify.toast.vmouse_enabled.description": "Controlify virtual mouse is now enabled for this screen.", "controlify.toast.vmouse_enabled.description": "Controlify virtual mouse is now enabled for this screen.",
"controlify.toast.vmouse_disabled.title": "Virtual Mouse Disabled", "controlify.toast.vmouse_disabled.title": "Virtual Mouse Disabled",
@ -56,5 +60,6 @@
"controlify.binding.controlify.vmouse_lclick": "Virtual Mouse LClick", "controlify.binding.controlify.vmouse_lclick": "Virtual Mouse LClick",
"controlify.binding.controlify.vmouse_rclick": "Virtual Mouse RClick", "controlify.binding.controlify.vmouse_rclick": "Virtual Mouse RClick",
"controlify.binding.controlify.vmouse_mclick": "Virtual Mouse MClick", "controlify.binding.controlify.vmouse_mclick": "Virtual Mouse MClick",
"controlify.binding.controlify.vmouse_escape": "Virtual Mouse Key Escape" "controlify.binding.controlify.vmouse_escape": "Virtual Mouse Key Escape",
"controlify.binding.controlify.vmouse_toggle": "Toggle Virtual Mouse"
} }

View File

@ -27,7 +27,10 @@
], ],
"depends": { "depends": {
"fabricloader": ">=0.14.0", "fabricloader": ">=0.14.0",
"minecraft": "1.19.x", "minecraft": "~1.19.4-",
"java": ">=17" "java": ">=17"
},
"breaks": {
"midnightcontrols": "*"
} }
} }