mirror of
https://github.com/TeamMidnightDust/MidnightControls.git
synced 2025-12-13 07:15:10 +01:00
Fix #37, fix some movement bugs, more WIP GUI rework.
This commit is contained in:
@@ -15,5 +15,5 @@ archives_base_name = lambdacontrols
|
||||
# Dependencies
|
||||
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
|
||||
fabric_version=0.32.0+1.16
|
||||
spruceui_version=2.1.1-1.16
|
||||
spruceui_version=2.1.3-1.16
|
||||
modmenu_version=1.16.8
|
||||
|
||||
@@ -11,16 +11,16 @@ package dev.lambdaurora.lambdacontrols.client;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import dev.lambdaurora.lambdacontrols.client.compat.LambdaControlsCompat;
|
||||
import dev.lambdaurora.lambdacontrols.client.mixin.AdvancementsScreenAccessor;
|
||||
import dev.lambdaurora.lambdacontrols.client.mixin.CreativeInventoryScreenAccessor;
|
||||
import dev.lambdaurora.lambdacontrols.client.mixin.EntryListWidgetAccessor;
|
||||
import dev.lambdaurora.lambdacontrols.client.util.HandledScreenAccessor;
|
||||
import dev.lambdaurora.lambdacontrols.client.util.MouseAccessor;
|
||||
import dev.lambdaurora.lambdacontrols.client.controller.ButtonBinding;
|
||||
import dev.lambdaurora.lambdacontrols.client.controller.Controller;
|
||||
import dev.lambdaurora.lambdacontrols.client.controller.InputManager;
|
||||
import dev.lambdaurora.lambdacontrols.client.gui.TouchscreenOverlay;
|
||||
import dev.lambdaurora.lambdacontrols.client.gui.widget.ControllerControlsWidget;
|
||||
import dev.lambdaurora.lambdacontrols.client.mixin.AdvancementsScreenAccessor;
|
||||
import dev.lambdaurora.lambdacontrols.client.mixin.CreativeInventoryScreenAccessor;
|
||||
import dev.lambdaurora.lambdacontrols.client.mixin.EntryListWidgetAccessor;
|
||||
import dev.lambdaurora.lambdacontrols.client.util.HandledScreenAccessor;
|
||||
import dev.lambdaurora.lambdacontrols.client.util.MouseAccessor;
|
||||
import me.lambdaurora.spruceui.navigation.NavigationDirection;
|
||||
import me.lambdaurora.spruceui.screen.SpruceScreen;
|
||||
import me.lambdaurora.spruceui.widget.AbstractSprucePressableButtonWidget;
|
||||
@@ -193,13 +193,13 @@ public class LambdaInput {
|
||||
if (player == null)
|
||||
return;
|
||||
|
||||
if (this.targetYaw != 0F || this.targetPitch != 0F) {
|
||||
if (this.targetYaw != 0.f || this.targetPitch != 0.f) {
|
||||
float rotationYaw = (float) (player.prevYaw + (this.targetYaw / 0.10) * tickDelta);
|
||||
float rotationPitch = (float) (player.prevPitch + (this.targetPitch / 0.10) * tickDelta);
|
||||
client.player.yaw = rotationYaw;
|
||||
client.player.pitch = MathHelper.clamp(rotationPitch, -90.F, 90.F);
|
||||
client.player.pitch = MathHelper.clamp(rotationPitch, -90.f, 90.f);
|
||||
if (client.player.isRiding()) {
|
||||
client.player.getVehicle().copyPositionAndRotation(client.player);
|
||||
client.player.getVehicle().onPassengerLookAround(client.player);
|
||||
}
|
||||
client.getTutorialManager().onUpdateMouse(this.targetPitch, this.targetYaw);
|
||||
}
|
||||
|
||||
@@ -224,7 +224,6 @@ public class ButtonBinding implements Nameable {
|
||||
return;
|
||||
if (this.hasCooldown && state.isPressed()) {
|
||||
this.cooldown = 5;
|
||||
|
||||
}
|
||||
for (int i = this.actions.size() - 1; i >= 0; i--) {
|
||||
if (this.actions.get(i).press(client, this, value, state))
|
||||
|
||||
@@ -21,19 +21,17 @@ import org.jetbrains.annotations.NotNull;
|
||||
* @version 1.4.0
|
||||
* @since 1.4.0
|
||||
*/
|
||||
public final class MovementHandler implements PressAction
|
||||
{
|
||||
public static final MovementHandler HANDLER = new MovementHandler();
|
||||
private boolean shouldOverrideMovement = false;
|
||||
private boolean pressingForward = false;
|
||||
private boolean pressingBack = false;
|
||||
private boolean pressingLeft = false;
|
||||
private boolean pressingRight = false;
|
||||
private float movementForward = 0.f;
|
||||
private float movementSideways = 0.f;
|
||||
public final class MovementHandler implements PressAction {
|
||||
public static final MovementHandler HANDLER = new MovementHandler();
|
||||
private boolean shouldOverrideMovement = false;
|
||||
private boolean pressingForward = false;
|
||||
private boolean pressingBack = false;
|
||||
private boolean pressingLeft = false;
|
||||
private boolean pressingRight = false;
|
||||
private float movementForward = 0.f;
|
||||
private float movementSideways = 0.f;
|
||||
|
||||
private MovementHandler()
|
||||
{
|
||||
private MovementHandler() {
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -41,8 +39,7 @@ public final class MovementHandler implements PressAction
|
||||
*
|
||||
* @param player The client player.
|
||||
*/
|
||||
public void applyMovement(@NotNull ClientPlayerEntity player)
|
||||
{
|
||||
public void applyMovement(@NotNull ClientPlayerEntity player) {
|
||||
if (!this.shouldOverrideMovement)
|
||||
return;
|
||||
player.input.pressingForward = this.pressingForward;
|
||||
@@ -55,8 +52,7 @@ public final class MovementHandler implements PressAction
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean press(@NotNull MinecraftClient client, @NotNull ButtonBinding button, float value, @NotNull ButtonState action)
|
||||
{
|
||||
public boolean press(@NotNull MinecraftClient client, @NotNull ButtonBinding button, float value, @NotNull ButtonState action) {
|
||||
if (client.currentScreen != null || client.player == null)
|
||||
return this.shouldOverrideMovement = false;
|
||||
|
||||
@@ -66,10 +62,10 @@ public final class MovementHandler implements PressAction
|
||||
else if (button == ButtonBinding.BACK || button == ButtonBinding.RIGHT)
|
||||
direction = -1;
|
||||
|
||||
if (direction == 0)
|
||||
return false;
|
||||
if (action.isUnpressed())
|
||||
direction = 0;
|
||||
|
||||
this.shouldOverrideMovement = true;
|
||||
this.shouldOverrideMovement = direction != 0;
|
||||
|
||||
value = (float) Math.pow(value, 2);
|
||||
|
||||
@@ -93,6 +89,6 @@ public final class MovementHandler implements PressAction
|
||||
this.movementSideways *= 0.3D;
|
||||
}
|
||||
|
||||
return true;
|
||||
return this.shouldOverrideMovement;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,20 +113,20 @@ public class LambdaControlsSettingsScreen extends SpruceScreen {
|
||||
this.init(client, client.getWindow().getScaledWidth(), client.getWindow().getScaledHeight());
|
||||
});
|
||||
// Gameplay options
|
||||
this.autoJumpOption = new SpruceCheckboxBooleanOption("options.autoJump",
|
||||
this.autoJumpOption = new SpruceToggleBooleanOption("options.autoJump",
|
||||
() -> this.client.options.autoJump,
|
||||
newValue -> this.client.options.autoJump = newValue,
|
||||
null, true);
|
||||
this.fastBlockPlacingOption = new SpruceCheckboxBooleanOption("lambdacontrols.menu.fast_block_placing", this.mod.config::hasFastBlockPlacing,
|
||||
this.mod.config::setFastBlockPlacing, new TranslatableText("lambdacontrols.tooltip.fast_block_placing"), true);
|
||||
this.frontBlockPlacingOption = new SpruceCheckboxBooleanOption("lambdacontrols.menu.reacharound.horizontal", this.mod.config::hasFrontBlockPlacing,
|
||||
this.mod.config::setFrontBlockPlacing, new TranslatableText("lambdacontrols.tooltip.reacharound.horizontal"), true);
|
||||
this.verticalReacharoundOption = new SpruceCheckboxBooleanOption("lambdacontrols.menu.reacharound.vertical", this.mod.config::hasVerticalReacharound,
|
||||
this.mod.config::setVerticalReacharound, new TranslatableText("lambdacontrols.tooltip.reacharound.vertical"), true);
|
||||
this.flyDriftingOption = new SpruceCheckboxBooleanOption("lambdacontrols.menu.fly_drifting", this.mod.config::hasFlyDrifting,
|
||||
this.mod.config::setFlyDrifting, new TranslatableText("lambdacontrols.tooltip.fly_drifting"), true);
|
||||
this.flyVerticalDriftingOption = new SpruceCheckboxBooleanOption("lambdacontrols.menu.fly_drifting_vertical", this.mod.config::hasFlyVerticalDrifting,
|
||||
this.mod.config::setFlyVerticalDrifting, new TranslatableText("lambdacontrols.tooltip.fly_drifting_vertical"), true);
|
||||
null);
|
||||
this.fastBlockPlacingOption = new SpruceToggleBooleanOption("lambdacontrols.menu.fast_block_placing", this.mod.config::hasFastBlockPlacing,
|
||||
this.mod.config::setFastBlockPlacing, new TranslatableText("lambdacontrols.tooltip.fast_block_placing"));
|
||||
this.frontBlockPlacingOption = new SpruceToggleBooleanOption("lambdacontrols.menu.reacharound.horizontal", this.mod.config::hasFrontBlockPlacing,
|
||||
this.mod.config::setFrontBlockPlacing, new TranslatableText("lambdacontrols.tooltip.reacharound.horizontal"));
|
||||
this.verticalReacharoundOption = new SpruceToggleBooleanOption("lambdacontrols.menu.reacharound.vertical", this.mod.config::hasVerticalReacharound,
|
||||
this.mod.config::setVerticalReacharound, new TranslatableText("lambdacontrols.tooltip.reacharound.vertical"));
|
||||
this.flyDriftingOption = new SpruceToggleBooleanOption("lambdacontrols.menu.fly_drifting", this.mod.config::hasFlyDrifting,
|
||||
this.mod.config::setFlyDrifting, new TranslatableText("lambdacontrols.tooltip.fly_drifting"));
|
||||
this.flyVerticalDriftingOption = new SpruceToggleBooleanOption("lambdacontrols.menu.fly_drifting_vertical", this.mod.config::hasFlyVerticalDrifting,
|
||||
this.mod.config::setFlyVerticalDrifting, new TranslatableText("lambdacontrols.tooltip.fly_drifting_vertical"));
|
||||
// Controller options
|
||||
this.controllerOption = new SpruceCyclingOption("lambdacontrols.menu.controller", amount -> {
|
||||
int id = this.mod.config.getController().getId();
|
||||
@@ -283,7 +283,7 @@ public class LambdaControlsSettingsScreen extends SpruceScreen {
|
||||
public void buildTabs() {
|
||||
SpruceTabbedWidget tabs = new SpruceTabbedWidget(Position.of(0, 24), this.width, this.height - 32 - 24,
|
||||
null,
|
||||
Math.max(110, this.width / 8), 0);
|
||||
Math.max(116, this.width / 8), 0);
|
||||
this.addChild(tabs);
|
||||
|
||||
tabs.addSeparatorEntry(new TranslatableText("lambdacontrols.menu.separator.general"));
|
||||
@@ -291,8 +291,8 @@ public class LambdaControlsSettingsScreen extends SpruceScreen {
|
||||
this::buildGeneralTab);
|
||||
tabs.addTabEntry(new TranslatableText("lambdacontrols.menu.title.gameplay"), null,
|
||||
this::buildGameplayTab);
|
||||
tabs.addTabEntry(new TranslatableText("lambdacontrols.menu.title.hud"), null,
|
||||
this::buildHudTab);
|
||||
tabs.addTabEntry(new TranslatableText("lambdacontrols.menu.title.visual"), null,
|
||||
this::buildVisualTab);
|
||||
|
||||
tabs.addSeparatorEntry(new TranslatableText("options.controls"));
|
||||
tabs.addTabEntry(new TranslatableText("lambdacontrols.menu.title.controller_controls"), null,
|
||||
@@ -323,8 +323,10 @@ public class LambdaControlsSettingsScreen extends SpruceScreen {
|
||||
return list;
|
||||
}
|
||||
|
||||
public SpruceOptionListWidget buildHudTab(int width, int height) {
|
||||
public SpruceOptionListWidget buildVisualTab(int width, int height) {
|
||||
SpruceOptionListWidget list = new SpruceOptionListWidget(Position.origin(), width, height);
|
||||
list.addSingleOptionEntry(this.controllerTypeOption);
|
||||
list.addSingleOptionEntry(new SpruceSeparatorOption("lambdacontrols.menu.title.hud", true, null));
|
||||
list.addSingleOptionEntry(this.hudEnableOption);
|
||||
list.addSingleOptionEntry(this.hudSideOption);
|
||||
return list;
|
||||
@@ -337,16 +339,16 @@ public class LambdaControlsSettingsScreen extends SpruceScreen {
|
||||
public AbstractSpruceWidget buildControllerTab(int width, int height) {
|
||||
SpruceContainerWidget root = new SpruceContainerWidget(Position.origin(), width, height);
|
||||
|
||||
SpruceLabelWidget aboutMappings1 = new SpruceLabelWidget(Position.of(width / 2, 2),
|
||||
SpruceLabelWidget aboutMappings1 = new SpruceLabelWidget(Position.of(0, 2),
|
||||
new TranslatableText("lambdacontrols.controller.mappings.1", SDL2_GAMEPAD_TOOL),
|
||||
width, true);
|
||||
|
||||
SpruceLabelWidget gamepadToolUrlLabel = new SpruceLabelWidget(Position.of(width / 2, aboutMappings1.getHeight() + 4),
|
||||
SpruceLabelWidget gamepadToolUrlLabel = new SpruceLabelWidget(Position.of(0, aboutMappings1.getHeight() + 4),
|
||||
this.controllerMappingsUrlText, width,
|
||||
label -> Util.getOperatingSystem().open(GAMEPAD_TOOL_URL), true);
|
||||
gamepadToolUrlLabel.setTooltip(new TranslatableText("chat.link.open"));
|
||||
|
||||
SpruceLabelWidget aboutMappings3 = new SpruceLabelWidget(Position.of(width / 2,
|
||||
SpruceLabelWidget aboutMappings3 = new SpruceLabelWidget(Position.of(0,
|
||||
aboutMappings1.getHeight() + gamepadToolUrlLabel.getHeight() + 6),
|
||||
new TranslatableText("lambdacontrols.controller.mappings.3", Formatting.GREEN.toString(), Formatting.RESET.toString()),
|
||||
width, true);
|
||||
@@ -375,7 +377,5 @@ public class LambdaControlsSettingsScreen extends SpruceScreen {
|
||||
@Override
|
||||
public void renderTitle(MatrixStack matrices, int mouseX, int mouseY, float delta) {
|
||||
drawCenteredString(matrices, this.textRenderer, I18n.translate("lambdacontrols.menu.title"), this.width / 2, 8, 16777215);
|
||||
// drawCenteredString(matrices, this.textRenderer, I18n.translate("lambdacontrols.controller.mappings.1", Formatting.GREEN.toString(), Formatting.RESET.toString()), this.width / 2, this.height - 29 - (5 + this.textRenderer.fontHeight) * 3, 10526880);
|
||||
// drawCenteredString(matrices, this.textRenderer, I18n.translate("lambdacontrols.controller.mappings.3", Formatting.GREEN.toString(), Formatting.RESET.toString()), this.width / 2, this.height - 29 - (5 + this.textRenderer.fontHeight), 10526880);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,8 +30,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
* Injects the anti fly drifting feature.
|
||||
*/
|
||||
@Mixin(ClientPlayerEntity.class)
|
||||
public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity
|
||||
{
|
||||
public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity {
|
||||
private boolean lambdacontrols_driftingPrevented = false;
|
||||
|
||||
@Shadow
|
||||
@@ -47,14 +46,12 @@ public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity
|
||||
@Shadow
|
||||
protected abstract boolean isCamera();
|
||||
|
||||
public ClientPlayerEntityMixin(ClientWorld world, GameProfile profile)
|
||||
{
|
||||
public ClientPlayerEntityMixin(ClientWorld world, GameProfile profile) {
|
||||
super(world, profile);
|
||||
}
|
||||
|
||||
@Inject(method = "move(Lnet/minecraft/entity/MovementType;Lnet/minecraft/util/math/Vec3d;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/AbstractClientPlayerEntity;move(Lnet/minecraft/entity/MovementType;Lnet/minecraft/util/math/Vec3d;)V"))
|
||||
public void onMove(MovementType type, Vec3d movement, CallbackInfo ci)
|
||||
{
|
||||
public void onMove(MovementType type, Vec3d movement, CallbackInfo ci) {
|
||||
LambdaControlsClient mod = LambdaControlsClient.get();
|
||||
if (type == MovementType.SELF) {
|
||||
if (this.abilities.flying && (!mod.config.hasFlyDrifting() || !mod.config.hasFlyVerticalDrifting())) {
|
||||
@@ -71,14 +68,12 @@ public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity
|
||||
}
|
||||
|
||||
@Inject(method = "tickMovement", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/input/Input;tick(Z)V", shift = At.Shift.AFTER))
|
||||
public void onInputUpdate(CallbackInfo ci)
|
||||
{
|
||||
public void onInputUpdate(CallbackInfo ci) {
|
||||
MovementHandler.HANDLER.applyMovement((ClientPlayerEntity) (Object) this);
|
||||
}
|
||||
|
||||
@Inject(method = "tickMovement", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayerEntity;isCamera()Z"))
|
||||
public void onTickMovement(CallbackInfo ci)
|
||||
{
|
||||
public void onTickMovement(CallbackInfo ci) {
|
||||
if (this.abilities.flying && this.isCamera()) {
|
||||
if (LambdaControlsClient.get().config.hasFlyVerticalDrifting())
|
||||
return;
|
||||
|
||||
@@ -108,6 +108,7 @@
|
||||
"lambdacontrols.menu.title.general": "General Options",
|
||||
"lambdacontrols.menu.title.hud": "HUD Options",
|
||||
"lambdacontrols.menu.title.mappings.string": "Mappings File Editor",
|
||||
"lambdacontrols.menu.title.visual": "Appearance Options",
|
||||
"lambdacontrols.menu.unfocused_input": "Unfocused Input",
|
||||
"lambdacontrols.menu.virtual_mouse": "Virtual Mouse",
|
||||
"lambdacontrols.menu.virtual_mouse.skin": "Virtual Mouse Skin",
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"lambdacontrols.button.unknown": "Desconocido (%d)",
|
||||
"lambdacontrols.controller.connected": "Controlador %d conectado.",
|
||||
"lambdacontrols.controller.disconnected": "Controlador %d desconectado.",
|
||||
"lambdacontrols.controller.mappings.1": "Para configurar las asignaciones del controlador, utilice %sSDL2 Gamepad Tool%s",
|
||||
"lambdacontrols.controller.mappings.1": "Para configurar las asignaciones del controlador, utilice %s",
|
||||
"lambdacontrols.controller.mappings.3": "y poner el mapeo de asignaciones en `%s.minecraft/config/gamecontrollerdb.txt%s`.",
|
||||
"lambdacontrols.controller.mappings.updated": "Mapeo actualizados!",
|
||||
"lambdacontrols.controller_type.default": "por defecto",
|
||||
@@ -95,12 +95,14 @@
|
||||
"lambdacontrols.menu.reacharound.vertical": "Alcance vertical",
|
||||
"lambdacontrols.menu.reload_controller_mappings": "Recargar asignaciones de controlador",
|
||||
"lambdacontrols.menu.rotation_speed": "Velocidad de rotación",
|
||||
"lambdacontrols.menu.separator.controller": "Controlador",
|
||||
"lambdacontrols.menu.title": "LambdaControls - Configuraciones",
|
||||
"lambdacontrols.menu.title.controller": "Opciones de controlador",
|
||||
"lambdacontrols.menu.title.controller_controls": "Controles de controlador",
|
||||
"lambdacontrols.menu.title.gameplay": "Opciones de juego",
|
||||
"lambdacontrols.menu.title.general": "Opciones generales",
|
||||
"lambdacontrols.menu.title.hud": "Opciones de HUD",
|
||||
"lambdacontrols.menu.title.visual": "Opciones de apariencia",
|
||||
"lambdacontrols.menu.unfocused_input": "Entrada desenfocada",
|
||||
"lambdacontrols.menu.virtual_mouse": "Ratón virtual",
|
||||
"lambdacontrols.menu.virtual_mouse.skin": "Piel de ratón virtual",
|
||||
|
||||
@@ -63,8 +63,8 @@
|
||||
"lambdacontrols.button.unknown": "Inconnu (%d)",
|
||||
"lambdacontrols.controller.connected": "Manette %d connecté.",
|
||||
"lambdacontrols.controller.disconnected": "Manette %d déconnecté.",
|
||||
"lambdacontrols.controller.mappings.1": "Pour configurer les correspondances de la manette, veuillez utiliser %sSDL2 Gamepad Tool%s",
|
||||
"lambdacontrols.controller.mappings.3": "et mettez les correspondances dans le fichier `%s.minecraft/config/gamecontrollerdb.txt%s`.",
|
||||
"lambdacontrols.controller.mappings.1": "Pour configurer les correspondances de la manette, veuillez utiliser %s",
|
||||
"lambdacontrols.controller.mappings.3": "et copier/coller les correspondances dans l'éditeur inclut.",
|
||||
"lambdacontrols.controller.mappings.error": "Une erreur est apparue pendant le chargement des manettes.",
|
||||
"lambdacontrols.controller.mappings.error.write": "Une erreur est apparue pendant l'écriture des manettes au fichier.",
|
||||
"lambdacontrols.controller.mappings.updated": "Configuration des manettes mise à jour!",
|
||||
@@ -99,12 +99,14 @@
|
||||
"lambdacontrols.menu.reacharound.vertical": "Placement vertical",
|
||||
"lambdacontrols.menu.reload_controller_mappings": "Recharger les manettes",
|
||||
"lambdacontrols.menu.rotation_speed": "Vitesse de rotation",
|
||||
"lambdacontrols.menu.separator.general": "Général",
|
||||
"lambdacontrols.menu.separator.controller": "Manette",
|
||||
"lambdacontrols.menu.title": "LambdaControls - Paramètres",
|
||||
"lambdacontrols.menu.title.controller": "Options de manettes",
|
||||
"lambdacontrols.menu.title.controller_controls": "Contrôles de la manette",
|
||||
"lambdacontrols.menu.title.gameplay": "Options de Gameplay",
|
||||
"lambdacontrols.menu.title.general": "Options générales",
|
||||
"lambdacontrols.menu.title.hud": "Options du HUD",
|
||||
"lambdacontrols.menu.title.visual": "Options d'apparences",
|
||||
"lambdacontrols.menu.title.mappings.string": "Éditeur du fichier des manettes",
|
||||
"lambdacontrols.menu.unfocused_input": "Entrée en fond",
|
||||
"lambdacontrols.menu.virtual_mouse": "Souris virtuelle",
|
||||
|
||||
@@ -63,8 +63,8 @@
|
||||
"lambdacontrols.button.unknown": "Inconnu (%d)",
|
||||
"lambdacontrols.controller.connected": "Manette %d connecté.",
|
||||
"lambdacontrols.controller.disconnected": "Manette %d déconnecté.",
|
||||
"lambdacontrols.controller.mappings.1": "Pour configurer les correspondances de la manette, veuillez utiliser %sSDL2 Gamepad Tool%s",
|
||||
"lambdacontrols.controller.mappings.3": "et mettez les correspondances dans le fichier `%s.minecraft/config/gamecontrollerdb.txt%s`.",
|
||||
"lambdacontrols.controller.mappings.1": "Pour configurer les correspondances de la manette, veuillez utiliser %s",
|
||||
"lambdacontrols.controller.mappings.3": "et copier/coller les correspondances dans l'éditeur de manette.",
|
||||
"lambdacontrols.controller.mappings.error": "Une erreur est apparue pendant le chargement des manettes.",
|
||||
"lambdacontrols.controller.mappings.error.write": "Une erreur est apparue pendant l'écriture des manettes au fichier.",
|
||||
"lambdacontrols.controller.mappings.updated": "Configuration des manettes mise à jour!",
|
||||
@@ -99,13 +99,16 @@
|
||||
"lambdacontrols.menu.reacharound.vertical": "Placement vertical",
|
||||
"lambdacontrols.menu.reload_controller_mappings": "Recharger les manettes",
|
||||
"lambdacontrols.menu.rotation_speed": "Vitesse de rotation",
|
||||
"lambdacontrols.menu.separator.general": "Général",
|
||||
"lambdacontrols.menu.separator.controller": "Manette",
|
||||
"lambdacontrols.menu.title": "LambdaControls - Paramètres",
|
||||
"lambdacontrols.menu.title.controller": "Options de manettes",
|
||||
"lambdacontrols.menu.title.controller_controls": "Contrôles de la manette",
|
||||
"lambdacontrols.menu.title.gameplay": "Options de Gameplay",
|
||||
"lambdacontrols.menu.title.general": "Options générales",
|
||||
"lambdacontrols.menu.title.hud": "Options du HUD",
|
||||
"lambdacontrols.menu.title.mappings.string": "Éditeur du fichier des manettes",
|
||||
"lambdacontrols.menu.title.mappings.string": "Éditeur de manettes",
|
||||
"lambdacontrols.menu.title.visual": "Options d'apparences",
|
||||
"lambdacontrols.menu.unfocused_input": "Entrée en fond",
|
||||
"lambdacontrols.menu.virtual_mouse": "Souris virtuelle",
|
||||
"lambdacontrols.menu.virtual_mouse.skin": "Apparence souris virtuelle",
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"lambdacontrols.button.unknown": "未知(%d)",
|
||||
"lambdacontrols.controller.connected": "手柄%d已连接。",
|
||||
"lambdacontrols.controller.disconnected": "手柄%d已断开。",
|
||||
"lambdacontrols.controller.mappings.1": "请使用%sSDL2 Gamepad Tool%s配置手柄键位映射",
|
||||
"lambdacontrols.controller.mappings.1": "请使用%s配置手柄键位映射",
|
||||
"lambdacontrols.controller.mappings.3": "并将键位映射文件放入此路径:`%s.minecraft/config/gamecontrollerdb.txt%s`。",
|
||||
"lambdacontrols.controller.mappings.updated": "键位映射已更新!",
|
||||
"lambdacontrols.controller_type.default": "默认",
|
||||
|
||||
Reference in New Issue
Block a user