Add stick-independent dead zones (#32) and update license headers.

This commit is contained in:
LambdAurora
2021-03-17 18:49:10 +01:00
parent 400b625716
commit 97521e832d
71 changed files with 169 additions and 109 deletions

6
HEADER Normal file
View File

@@ -0,0 +1,6 @@
Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
This file is part of LambdaControls.
Licensed under the MIT license. For more information,
see the LICENSE file.

View File

@@ -1,6 +1,6 @@
MIT License
Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -8,7 +8,7 @@ yarn_mappings=1.16.5+build.5
loader_version=0.11.3
# Mod Properties
mod_version = 1.6.0-dev1
mod_version = 1.6.0-dev2
maven_group = dev.lambdaurora.lambdacontrols
archives_base_name = lambdacontrols

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*
@@ -68,7 +68,8 @@ public class LambdaControlsConfig {
private boolean shouldRenderReacharoundOutline;
private int[] reacharoundOutlineColor;
// Controller settings
private double deadZone;
private double rightDeadZone;
private double leftDeadZone;
private double rotationSpeed;
private double mouseSpeed;
private boolean unfocusedInput;
@@ -102,7 +103,8 @@ public class LambdaControlsConfig {
this.reacharoundOutlineColor = this.config.getOptional("gameplay.reacharound.outline_color").map(hex -> parseColor((String) hex)).orElse(DEFAULT_REACHAROUND_OUTLINE_COLOR);
// Controller settings.
this.controllerType = ControllerType.byId(this.config.getOrElse("controller.type", DEFAULT_CONTROLLER_TYPE.getName())).orElse(DEFAULT_CONTROLLER_TYPE);
this.deadZone = this.config.getOrElse("controller.dead_zone", DEFAULT_DEAD_ZONE);
this.rightDeadZone = this.config.getOrElse("controller.right_dead_zone", DEFAULT_DEAD_ZONE);
this.leftDeadZone = this.config.getOrElse("controller.left_dead_zone", DEFAULT_DEAD_ZONE);
this.rotationSpeed = this.config.getOrElse("controller.rotation_speed", DEFAULT_ROTATION_SPEED);
this.mouseSpeed = this.config.getOrElse("controller.mouse_speed", DEFAULT_MOUSE_SPEED);
this.unfocusedInput = this.config.getOrElse("controller.unfocused_input", DEFAULT_UNFOCUSED_INPUT);
@@ -118,7 +120,8 @@ public class LambdaControlsConfig {
* Saves the configuration.
*/
public void save() {
this.config.set("controller.dead_zone", this.deadZone);
this.config.set("controller.right_dead_zone", this.rightDeadZone);
this.config.set("controller.left_dead_zone", this.leftDeadZone);
this.config.set("controller.rotation_speed", this.rotationSpeed);
this.config.set("controller.mouse_speed", this.mouseSpeed);
this.config.set("controller.unfocused_input", this.unfocusedInput);
@@ -152,6 +155,7 @@ public class LambdaControlsConfig {
this.config.remove("gameplay.front_block_placing.outline_color");
}
this.renamed("controller.dead_zone", "controller.right_dead_zone");
this.renamed("controller.controls.tab_left", "controller.controls.tab_back");
this.renamed("controller.controls.tab_right", "controller.controls.tab_next");
}
@@ -182,7 +186,8 @@ public class LambdaControlsConfig {
this.setRenderReacharoundOutline(DEFAULT_REACHAROUND_OUTLINE);
// Controller
this.setControllerType(DEFAULT_CONTROLLER_TYPE);
this.setDeadZone(DEFAULT_DEAD_ZONE);
this.setRightDeadZone(DEFAULT_DEAD_ZONE);
this.setLeftDeadZone(DEFAULT_DEAD_ZONE);
this.setRotationSpeed(DEFAULT_ROTATION_SPEED);
this.setMouseSpeed(DEFAULT_MOUSE_SPEED);
this.setUnfocusedInput(DEFAULT_UNFOCUSED_INPUT);
@@ -509,21 +514,39 @@ public class LambdaControlsConfig {
}
/**
* Gets the controller's dead zone from the configuration.
* Gets the controller's right dead zone from the configuration.
*
* @return The controller's dead zone value.
* @return the controller's right dead zone value
*/
public double getDeadZone() {
return this.deadZone;
public double getRightDeadZone() {
return this.rightDeadZone;
}
/**
* Sets the controller's dead zone in the configuration.
* Sets the controller's right dead zone in the configuration.
*
* @param deadZone The new controller's dead zone value.
* @param deadZone the controller's right dead zone value
*/
public void setDeadZone(double deadZone) {
this.deadZone = deadZone;
public void setRightDeadZone(double deadZone) {
this.rightDeadZone = deadZone;
}
/**
* Gets the controller's left dead zone from the configuration.
*
* @return the controller's left dead zone value
*/
public double getLeftDeadZone() {
return this.leftDeadZone;
}
/**
* Sets the controller's left dead zone in the configuration.
*
* @param deadZone the controller's left dead zone value
*/
public void setLeftDeadZone(double deadZone) {
this.leftDeadZone = deadZone;
}
/**

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*
@@ -266,7 +266,7 @@ public class LambdaInput {
if (i == GLFW.GLFW_GAMEPAD_AXIS_LEFT_Y)
value *= -1.0F;
int state = value > this.config.getDeadZone() ? 1 : (value < -this.config.getDeadZone() ? 2 : 0);
int state = value > this.config.getRightDeadZone() ? 1 : (value < -this.config.getRightDeadZone() ? 2 : 0);
this.handleAxe(client, axis, value, absValue, state);
}
}
@@ -433,11 +433,17 @@ public class LambdaInput {
});
}
private void handleAxe(@NotNull MinecraftClient client, int axis, float value, float absValue, int state) {
int asButtonState = value > 0.5F ? 1 : (value < -0.5F ? 2 : 0);
private double getDeadZoneValue(int axis) {
return (axis == GLFW_GAMEPAD_AXIS_LEFT_X || axis == GLFW_GAMEPAD_AXIS_LEFT_Y) ? this.config.getLeftDeadZone()
: this.config.getRightDeadZone();
}
if (axis == GLFW_GAMEPAD_AXIS_LEFT_TRIGGER || axis == GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER || axis == ButtonBinding.controller2Button(GLFW.GLFW_GAMEPAD_AXIS_LEFT_TRIGGER) ||
axis == ButtonBinding.controller2Button(GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER))
private void handleAxe(@NotNull MinecraftClient client, int axis, float value, float absValue, int state) {
int asButtonState = value > .5f ? 1 : (value < -.5f ? 2 : 0);
if (axis == GLFW_GAMEPAD_AXIS_LEFT_TRIGGER || axis == GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER
|| axis == ButtonBinding.controller2Button(GLFW.GLFW_GAMEPAD_AXIS_LEFT_TRIGGER)
|| axis == ButtonBinding.controller2Button(GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER))
if (asButtonState == 2)
asButtonState = 0;
@@ -469,8 +475,9 @@ public class LambdaInput {
}
}
float axisValue = absValue < this.config.getDeadZone() ? 0.f : (float) (absValue - this.config.getDeadZone());
axisValue /= (1.0 - this.config.getDeadZone());
double deadZone = this.getDeadZoneValue(axis);
float axisValue = absValue < deadZone ? 0.f : (float) (absValue - deadZone);
axisValue /= (1.0 - deadZone);
if (currentPlusState)
InputManager.BUTTON_VALUES.put(axisAsButton(axis, true), axisValue);
else
@@ -481,7 +488,7 @@ public class LambdaInput {
InputManager.BUTTON_VALUES.put(axisAsButton(axis, false), 0.f);
}
double deadZone = this.config.getDeadZone();
double deadZone = this.getDeadZoneValue(axis);
if (this.controlsInput != null && this.controlsInput.focusedBinding != null) {
if (asButtonState != 0 && !this.controlsInput.currentButtons.contains(axisAsButton(axis, asButtonState == 1))) {
@@ -520,8 +527,8 @@ public class LambdaInput {
if (client.currentScreen == null) {
// Handles the look direction.
absValue -= this.config.getDeadZone();
this.handleLook(client, axis, (float) (absValue / (1.0 - this.config.getDeadZone())), state);
absValue -= this.getDeadZoneValue(axis);
this.handleLook(client, axis, (float) (absValue / (1.0 - this.getDeadZoneValue(axis))), state);
} else {
boolean allowMouseControl = true;
@@ -537,8 +544,8 @@ public class LambdaInput {
}
}
float movementX = 0.0F;
float movementY = 0.0F;
float movementX = 0.f;
float movementY = 0.f;
if (this.config.isBackButton(axis, false, (value > 0 ? 1 : 2))) {
movementY = absValue;
@@ -564,19 +571,22 @@ public class LambdaInput {
if (Math.abs(movementX) >= deadZone)
this.mouseSpeedX = movementX;
else
this.mouseSpeedX = 0.F;
this.mouseSpeedX = 0.f;
if (Math.abs(movementY) >= deadZone)
this.mouseSpeedY = movementY;
else
this.mouseSpeedY = 0.F;
this.mouseSpeedY = 0.f;
} else {
this.mouseSpeedX = 0.F;
this.mouseSpeedY = 0.F;
this.mouseSpeedX = 0.f;
this.mouseSpeedY = 0.f;
}
if (Math.abs(this.mouseSpeedX) >= .05F || Math.abs(this.mouseSpeedY) >= .05F) {
InputManager.queueMoveMousePosition(this.mouseSpeedX * this.config.getMouseSpeed(), this.mouseSpeedY * this.config.getMouseSpeed());
if (Math.abs(this.mouseSpeedX) >= .05f || Math.abs(this.mouseSpeedY) >= .05f) {
InputManager.queueMoveMousePosition(
this.mouseSpeedX * this.config.getMouseSpeed(),
this.mouseSpeedY * this.config.getMouseSpeed()
);
}
this.moveMouseToClosestSlot(client, client.currentScreen);

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*
@@ -23,7 +23,7 @@ import me.lambdaurora.spruceui.widget.SpruceLabelWidget;
import me.lambdaurora.spruceui.widget.container.SpruceContainerWidget;
import me.lambdaurora.spruceui.widget.container.SpruceOptionListWidget;
import me.lambdaurora.spruceui.widget.container.tabbed.SpruceTabbedWidget;
import net.fabricmc.fabric.api.network.ClientSidePacketRegistry;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
@@ -67,7 +67,8 @@ public class LambdaControlsSettingsScreen extends SpruceScreen {
// Controller options
private final SpruceOption controllerOption;
private final SpruceOption secondControllerOption;
private final SpruceOption deadZoneOption;
private final SpruceOption rightDeadZoneOption;
private final SpruceOption leftDeadZoneOption;
private final SpruceOption invertsRightXAxis;
private final SpruceOption invertsRightYAxis;
private final SpruceOption unfocusedInputOption;
@@ -88,7 +89,7 @@ public class LambdaControlsSettingsScreen extends SpruceScreen {
this.mod.config.save();
if (this.client.player != null) {
ClientSidePacketRegistry.INSTANCE.sendToServer(LambdaControls.CONTROLS_MODE_CHANNEL, this.mod.makeControlsModeBuffer(next));
ClientPlayNetworking.getSender().sendPacket(LambdaControls.CONTROLS_MODE_CHANNEL, this.mod.makeControlsModeBuffer(next));
}
}, option -> option.getDisplayText(new TranslatableText(this.mod.config.getControlsMode().getTranslationKey())),
new TranslatableText("lambdacontrols.tooltip.controls_mode"));
@@ -179,15 +180,26 @@ public class LambdaControlsSettingsScreen extends SpruceScreen {
return option.getDisplayText(new LiteralText(controllerName));
}).orElse(option.getDisplayText(SpruceTexts.OPTIONS_OFF.shallowCopy().formatted(Formatting.RED))),
new TranslatableText("lambdacontrols.tooltip.controller2"));
this.deadZoneOption = new SpruceDoubleOption("lambdacontrols.menu.dead_zone", 0.05, 1.0, 0.05F, this.mod.config::getDeadZone,
this.rightDeadZoneOption = new SpruceDoubleOption("lambdacontrols.menu.right_dead_zone", 0.05, 1.0, 0.05f,
this.mod.config::getRightDeadZone,
newValue -> {
synchronized (this.mod.config) {
this.mod.config.setDeadZone(newValue);
this.mod.config.setRightDeadZone(newValue);
}
}, option -> {
String value = String.valueOf(option.get());
return option.getDisplayText(new LiteralText(value.substring(0, Math.min(value.length(), 5))));
}, new TranslatableText("lambdacontrols.tooltip.dead_zone"));
}, new TranslatableText("lambdacontrols.tooltip.right_dead_zone"));
this.leftDeadZoneOption = new SpruceDoubleOption("lambdacontrols.menu.left_dead_zone", 0.05, 1.0, 0.05f,
this.mod.config::getLeftDeadZone,
newValue -> {
synchronized (this.mod.config) {
this.mod.config.setLeftDeadZone(newValue);
}
}, option -> {
String value = String.valueOf(option.get());
return option.getDisplayText(new LiteralText(value.substring(0, Math.min(value.length(), 5))));
}, new TranslatableText("lambdacontrols.tooltip.left_dead_zone"));
this.invertsRightXAxis = new SpruceToggleBooleanOption("lambdacontrols.menu.invert_right_x_axis", this.mod.config::doesInvertRightXAxis,
newValue -> {
synchronized (this.mod.config) {
@@ -323,6 +335,9 @@ public class LambdaControlsSettingsScreen extends SpruceScreen {
list.addSingleOptionEntry(this.controllerOption);
list.addSingleOptionEntry(this.secondControllerOption);
list.addSingleOptionEntry(this.unfocusedInputOption);
list.addOptionEntry(this.invertsRightXAxis, this.invertsRightYAxis);
list.addSingleOptionEntry(this.rightDeadZoneOption);
list.addSingleOptionEntry(this.leftDeadZoneOption);
root.addChild(list);
root.addChild(labels);

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright © 2020 LambdAurora <aurora42lambda@gmail.com>
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
*
* This file is part of LambdaControls.
*

View File

@@ -85,7 +85,6 @@
"lambdacontrols.menu.controller2": "Second Controller",
"lambdacontrols.menu.controller_type": "Controller Type",
"lambdacontrols.menu.controls_mode": "Mode",
"lambdacontrols.menu.dead_zone": "Dead Zone",
"lambdacontrols.menu.fast_block_placing": "Fast Block Placing",
"lambdacontrols.menu.fly_drifting": "Fly Drifting",
"lambdacontrols.menu.fly_drifting_vertical": "Vertical Fly Drifting",
@@ -94,11 +93,13 @@
"lambdacontrols.menu.invert_right_x_axis": "Invert Right X",
"lambdacontrols.menu.invert_right_y_axis": "Invert Right Y",
"lambdacontrols.menu.keyboard_controls": "Keyboard Controls...",
"lambdacontrols.menu.left_dead_zone": "Left Dead Zone",
"lambdacontrols.menu.mappings.open_input_str": "Open Mappings File Editor",
"lambdacontrols.menu.mouse_speed": "Mouse Speed",
"lambdacontrols.menu.reacharound.horizontal": "Front Block Placing",
"lambdacontrols.menu.reacharound.vertical": "Vertical Reacharound",
"lambdacontrols.menu.reload_controller_mappings": "Reload Controller Mappings",
"lambdacontrols.menu.right_dead_zone": "Right Dead Zone",
"lambdacontrols.menu.rotation_speed": "Rotation Speed",
"lambdacontrols.menu.separator.controller": "Controller",
"lambdacontrols.menu.separator.general": "General",
@@ -120,16 +121,17 @@
"lambdacontrols.tooltip.controller2": "Second controller to use, which allows Joy-Cons support for example.",
"lambdacontrols.tooltip.controller_type": "The controller type to display the correct buttons.",
"lambdacontrols.tooltip.controls_mode": "The controls mode.",
"lambdacontrols.tooltip.dead_zone": "The dead zone for the controller's analogue sticks.",
"lambdacontrols.tooltip.fast_block_placing": "While flying in creative mode, enables fast block placing depending on your speed. §cOn some servers this might be considered as cheating.",
"lambdacontrols.tooltip.fly_drifting": "While flying, enables Vanilla drifting/inertia.",
"lambdacontrols.tooltip.fly_drifting_vertical": "While flying, enables Vanilla vertical drifting/intertia.",
"lambdacontrols.tooltip.hud_enable": "Toggles the on-screen controller button indicator.",
"lambdacontrols.tooltip.hud_side": "The position of the HUD.",
"lambdacontrols.tooltip.left_dead_zone": "The dead zone for the controller's left analogue stick.",
"lambdacontrols.tooltip.mouse_speed": "The controller's emulated mouse speed.",
"lambdacontrols.tooltip.reacharound.horizontal": "Enables front block placing, §cmight be considered cheating on some servers§r.",
"lambdacontrols.tooltip.reacharound.vertical": "Enables vertical reacharound, §cmight be considered cheating on some servers§r.",
"lambdacontrols.tooltip.reload_controller_mappings": "Reloads the controller mappings file.",
"lambdacontrols.tooltip.right_dead_zone": "The dead zone for the controller's right analogue stick.",
"lambdacontrols.tooltip.rotation_speed": "The camera rotation speed in controller mode.",
"lambdacontrols.tooltip.unfocused_input": "Allow controller input when the window is not focused.",
"lambdacontrols.tooltip.virtual_mouse": "Enable the virtual mouse which is handful in the case of a splitscreen.",

View File

@@ -85,7 +85,6 @@
"lambdacontrols.menu.controller2": "Deuxième manette",
"lambdacontrols.menu.controller_type": "Type de manette",
"lambdacontrols.menu.controls_mode": "Mode",
"lambdacontrols.menu.dead_zone": "Zone morte",
"lambdacontrols.menu.fast_block_placing": "Placement rapide de blocs",
"lambdacontrols.menu.fly_drifting": "Inertie de vol",
"lambdacontrols.menu.fly_drifting_vertical": "Inertie verticale de vol",
@@ -94,11 +93,13 @@
"lambdacontrols.menu.invert_right_x_axis": "Inverser le stick droit (X)",
"lambdacontrols.menu.invert_right_y_axis": "Inverser le stick droit (Y)",
"lambdacontrols.menu.keyboard_controls": "Contrôles clavier...",
"lambdacontrols.menu.left_dead_zone": "Zone morte axe gauche",
"lambdacontrols.menu.mappings.open_input_str": "Ouvrir l'éditeur de fichier des manettes",
"lambdacontrols.menu.mouse_speed": "Vitesse de la souris",
"lambdacontrols.menu.reacharound.horizontal": "Placement avant de bloc",
"lambdacontrols.menu.reacharound.vertical": "Placement vertical",
"lambdacontrols.menu.reload_controller_mappings": "Recharger les manettes",
"lambdacontrols.menu.right_dead_zone": "Zone morte axe droit",
"lambdacontrols.menu.rotation_speed": "Vitesse de rotation",
"lambdacontrols.menu.separator.general": "Général",
"lambdacontrols.menu.separator.controller": "Manette",
@@ -120,16 +121,17 @@
"lambdacontrols.tooltip.controller2": "Défini une deuxième manette, utile dans le cas d'utilisation de Joy-Cons.",
"lambdacontrols.tooltip.controller_type": "Le type de contrôle n'influe que sur les boutons affichés.",
"lambdacontrols.tooltip.controls_mode": "Change le mode de contrôle.",
"lambdacontrols.tooltip.dead_zone": "Zone morte des axes de la manette.",
"lambdacontrols.tooltip.fast_block_placing": "Active le placement rapide de blocs en vol.",
"lambdacontrols.tooltip.fly_drifting": "Pendant que le joueur vole, active le glissement Vanilla.",
"lambdacontrols.tooltip.fly_drifting_vertical": "Pendant que le joueur vole, active le glissement vertical Vanilla.",
"lambdacontrols.tooltip.hud_enable": "Détermine si l'indicateur des buttons de la manette doit être affiché ou non.",
"lambdacontrols.tooltip.hud_side": "Change la position du HUD.",
"lambdacontrols.tooltip.left_dead_zone": "Zone morte de l'axe gauche de la manette.",
"lambdacontrols.tooltip.mouse_speed": "Change la vitesse de la souris émulée par la manette.",
"lambdacontrols.tooltip.reacharound.horizontal": "Active le placement avant de blocs, §cpeut être considérer comme de la triche sur certains serveurs§r.",
"lambdacontrols.tooltip.reacharound.vertical": "Active le placement vertical de blocs, c'est-à-dire de blocs en dessous du bloc sur lequel vous êtes placé, §cpeut être considérer comme de la triche sur certains serveurs§r.",
"lambdacontrols.tooltip.reload_controller_mappings": "Recharge le fichier de configuration des manettes.",
"lambdacontrols.tooltip.right_dead_zone": "Zone morte de l'axe droit de la manette.",
"lambdacontrols.tooltip.rotation_speed": "Change la vitesse de rotation de la caméra.",
"lambdacontrols.tooltip.unfocused_input": "Autorise les entrées manette quand la fenêtre n'est pas sélectionnée.",
"lambdacontrols.tooltip.virtual_mouse": "Active la souris virtuelle qui est pratique dans le cas d'un écran partagé.",

View File

@@ -85,7 +85,6 @@
"lambdacontrols.menu.controller2": "Deuxième manette",
"lambdacontrols.menu.controller_type": "Type de manette",
"lambdacontrols.menu.controls_mode": "Mode",
"lambdacontrols.menu.dead_zone": "Zone morte",
"lambdacontrols.menu.fast_block_placing": "Placement rapide de blocs",
"lambdacontrols.menu.fly_drifting": "Inertie de vol",
"lambdacontrols.menu.fly_drifting_vertical": "Inertie verticale de vol",
@@ -94,11 +93,13 @@
"lambdacontrols.menu.invert_right_x_axis": "Inverser le stick droit (X)",
"lambdacontrols.menu.invert_right_y_axis": "Inverser le stick droit (Y)",
"lambdacontrols.menu.keyboard_controls": "Contrôles clavier...",
"lambdacontrols.menu.left_dead_zone": "Zone morte axe gauche",
"lambdacontrols.menu.mappings.open_input_str": "Ouvrir l'éditeur de fichier des manettes",
"lambdacontrols.menu.mouse_speed": "Vitesse de la souris",
"lambdacontrols.menu.reacharound.horizontal": "Placement avant de bloc",
"lambdacontrols.menu.reacharound.vertical": "Placement vertical",
"lambdacontrols.menu.reload_controller_mappings": "Recharger les manettes",
"lambdacontrols.menu.right_dead_zone": "Zone morte axe droit",
"lambdacontrols.menu.rotation_speed": "Vitesse de rotation",
"lambdacontrols.menu.separator.general": "Général",
"lambdacontrols.menu.separator.controller": "Manette",
@@ -120,16 +121,17 @@
"lambdacontrols.tooltip.controller2": "Défini une deuxième manette, utile dans le cas d'utilisation de Joy-Cons.",
"lambdacontrols.tooltip.controller_type": "Le type de contrôle n'influe que sur les boutons affichés.",
"lambdacontrols.tooltip.controls_mode": "Change le mode de contrôle.",
"lambdacontrols.tooltip.dead_zone": "Zone morte des axes de la manette.",
"lambdacontrols.tooltip.fast_block_placing": "Active le placement rapide de blocs en vol.",
"lambdacontrols.tooltip.fly_drifting": "Pendant que le joueur vole, active le glissement Vanilla.",
"lambdacontrols.tooltip.fly_drifting_vertical": "Pendant que le joueur vole, active le glissement vertical Vanilla.",
"lambdacontrols.tooltip.hud_enable": "Détermine si l'indicateur des buttons de la manette doit être affiché ou non.",
"lambdacontrols.tooltip.hud_side": "Change la position du HUD.",
"lambdacontrols.tooltip.left_dead_zone": "Zone morte de l'axe gauche de la manette.",
"lambdacontrols.tooltip.mouse_speed": "Change la vitesse de la souris émulée par la manette.",
"lambdacontrols.tooltip.reacharound.horizontal": "Active le placement avant de blocs, §cpeut être considérer comme de la triche sur certains serveurs§r.",
"lambdacontrols.tooltip.reacharound.vertical": "Active le placement vertical de blocs, c'est-à-dire de blocs en dessous du bloc sur lequel vous êtes placé, §cpeut être considérer comme de la triche sur certains serveurs§r.",
"lambdacontrols.tooltip.reload_controller_mappings": "Recharge le fichier de configuration des manettes.",
"lambdacontrols.tooltip.right_dead_zone": "Zone morte de l'axe droit de la manette.",
"lambdacontrols.tooltip.rotation_speed": "Change la vitesse de rotation de la caméra.",
"lambdacontrols.tooltip.unfocused_input": "Autorise les entrées manette quand la fenêtre n'est pas sélectionnée.",
"lambdacontrols.tooltip.virtual_mouse": "Active la souris virtuelle qui est pratique dans le cas d'un écran partagé.",