mirror of
https://github.com/TeamMidnightDust/MidnightControls.git
synced 2025-12-13 15:25:08 +01:00
MidnightControls 1.8.2 - 1.20 & Bug Fixes
- Update to 1.20 - Fix virtual mouse cursor not being visible - Add option to hide the normal mouse cursor
This commit is contained in:
@@ -3,23 +3,23 @@ org.gradle.jvmargs=-Xmx1G
|
|||||||
|
|
||||||
# Fabric Properties
|
# Fabric Properties
|
||||||
# check these on https://fabricmc.net/use
|
# check these on https://fabricmc.net/use
|
||||||
minecraft_version=1.19.4
|
minecraft_version=1.20
|
||||||
yarn_mappings=1.19.4+build.1
|
yarn_mappings=1.20+build.1
|
||||||
loader_version=0.14.17
|
loader_version=0.14.21
|
||||||
|
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version = 1.8.1
|
mod_version = 1.8.2
|
||||||
maven_group = eu.midnightdust
|
maven_group = eu.midnightdust
|
||||||
archives_base_name = midnightcontrols
|
archives_base_name = midnightcontrols
|
||||||
modrinth_id=bXX9h73M
|
modrinth_id=bXX9h73M
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
|
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
|
||||||
fabric_version=0.75.3+1.19.4
|
fabric_version=0.83.0+1.20
|
||||||
sodium_version=mc1.19.2-0.4.4
|
sodium_version=mc1.19.2-0.4.4
|
||||||
spruceui_version=4.2.0+1.19.4
|
spruceui_version=5.0.0+1.20
|
||||||
midnightlib_version=1.2.1-fabric
|
midnightlib_version=1.4.1-fabric
|
||||||
modmenu_version=5.0.1
|
modmenu_version=7.0.0
|
||||||
emotecraft_version=2.1.3-SNAPSHOT-build.29-MC1.19-fabric
|
emotecraft_version=2.1.3-SNAPSHOT-build.29-MC1.19-fabric
|
||||||
bendylib_version=2.0.+
|
bendylib_version=2.0.+
|
||||||
emi_version=0.5.0+1.19.3
|
emi_version=0.5.0+1.19.3
|
||||||
@@ -27,7 +27,7 @@ libgui_version=6.0.0+1.19
|
|||||||
inventorytabs_version=inventorytabs-0.9.beta-1.19.x
|
inventorytabs_version=inventorytabs-0.9.beta-1.19.x
|
||||||
clothconfig_version=7.0.72
|
clothconfig_version=7.0.72
|
||||||
yacl_version=2.2.0
|
yacl_version=2.2.0
|
||||||
bedrockify_version=1.5+mc1.19.1-2
|
bedrockify_version=1.9+mc1.20
|
||||||
|
|
||||||
# Ok Zoomer and LibZoomer are temporarily disabled for the time being, as we are currently using Reflection at runtime instead in OkZoomerCompat due to there being two major, completely incompatible API versions.
|
# Ok Zoomer and LibZoomer are temporarily disabled for the time being, as we are currently using Reflection at runtime instead in OkZoomerCompat due to there being two major, completely incompatible API versions.
|
||||||
# ok_zoomer_version=5.0.0-beta.3+1.17.1
|
# ok_zoomer_version=5.0.0-beta.3+1.17.1
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ public class MidnightControlsConfig extends MidnightConfig {
|
|||||||
@Entry(category = "controller", name = "midnightcontrols.menu.unfocused_input") public static boolean unfocusedInput = false;
|
@Entry(category = "controller", name = "midnightcontrols.menu.unfocused_input") public static boolean unfocusedInput = false;
|
||||||
@Entry(category = "screens", name = "midnightcontrols.menu.virtual_mouse") public static boolean virtualMouse = false;
|
@Entry(category = "screens", name = "midnightcontrols.menu.virtual_mouse") public static boolean virtualMouse = false;
|
||||||
@Entry(category = "screens", name = "midnightcontrols.menu.virtual_mouse.skin") public static VirtualMouseSkin virtualMouseSkin = VirtualMouseSkin.DEFAULT_LIGHT;
|
@Entry(category = "screens", name = "midnightcontrols.menu.virtual_mouse.skin") public static VirtualMouseSkin virtualMouseSkin = VirtualMouseSkin.DEFAULT_LIGHT;
|
||||||
|
@Entry(category = "screens", name = "midnightcontrols.menu.hide_cursor") public static boolean hideNormalMouse = false;
|
||||||
@Entry(category = "controller", name = "Controller ID") @Hidden public static Object controllerID = 0;
|
@Entry(category = "controller", name = "Controller ID") @Hidden public static Object controllerID = 0;
|
||||||
@Entry(category = "controller", name = "2nd Controller ID") @Hidden public static Object secondControllerID = -1;
|
@Entry(category = "controller", name = "2nd Controller ID") @Hidden public static Object secondControllerID = -1;
|
||||||
@Entry(category = "visual", name = "midnightcontrols.menu.controller_type") public static ControllerType controllerType = ControllerType.DEFAULT;
|
@Entry(category = "visual", name = "midnightcontrols.menu.controller_type") public static ControllerType controllerType = ControllerType.DEFAULT;
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ public class MidnightReacharound {
|
|||||||
BlockPos blockPos = result.getBlockPos().down();
|
BlockPos blockPos = result.getBlockPos().down();
|
||||||
BlockState state = client.world.getBlockState(blockPos);
|
BlockState state = client.world.getBlockState(blockPos);
|
||||||
|
|
||||||
if (client.player.getBlockPos().getY() - blockPos.getY() > 1 && (client.world.isAir(blockPos) || state.getMaterial().isReplaceable())) {
|
if (client.player.getBlockPos().getY() - blockPos.getY() > 1 && (client.world.isAir(blockPos) || state.isReplaceable())) {
|
||||||
return new BlockHitResult(result.getPos(), Direction.DOWN, blockPos, false);
|
return new BlockHitResult(result.getPos(), Direction.DOWN, blockPos, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,17 +25,17 @@ import eu.midnightdust.midnightcontrols.client.mixin.RecipeBookWidgetAccessor;
|
|||||||
import eu.midnightdust.midnightcontrols.client.mixin.TabNavigationWidgetAccessor;
|
import eu.midnightdust.midnightcontrols.client.mixin.TabNavigationWidgetAccessor;
|
||||||
import eu.midnightdust.midnightcontrols.client.util.HandledScreenAccessor;
|
import eu.midnightdust.midnightcontrols.client.util.HandledScreenAccessor;
|
||||||
import eu.midnightdust.midnightcontrols.client.util.MouseAccessor;
|
import eu.midnightdust.midnightcontrols.client.util.MouseAccessor;
|
||||||
|
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
|
||||||
import net.fabricmc.fabric.impl.client.itemgroup.CreativeGuiExtensions;
|
import net.fabricmc.fabric.impl.client.itemgroup.CreativeGuiExtensions;
|
||||||
import net.fabricmc.fabric.impl.client.itemgroup.FabricCreativeGuiComponents;
|
import net.fabricmc.fabric.impl.client.itemgroup.FabricCreativeGuiComponents;
|
||||||
import net.fabricmc.fabric.impl.itemgroup.FabricItemGroup;
|
import net.fabricmc.fabric.impl.itemgroup.FabricItemGroup;
|
||||||
import net.fabricmc.fabric.impl.itemgroup.ItemGroupHelper;
|
import net.fabricmc.fabric.impl.itemgroup.ItemGroupEventsImpl;
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.gui.screen.TitleScreen;
|
import net.minecraft.client.gui.screen.TitleScreen;
|
||||||
import net.minecraft.client.gui.screen.advancement.AdvancementsScreen;
|
import net.minecraft.client.gui.screen.advancement.AdvancementsScreen;
|
||||||
import net.minecraft.client.gui.screen.ingame.*;
|
import net.minecraft.client.gui.screen.ingame.*;
|
||||||
import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget;
|
import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget;
|
||||||
import net.minecraft.client.gui.tab.TabManager;
|
|
||||||
import net.minecraft.client.gui.widget.PressableWidget;
|
import net.minecraft.client.gui.widget.PressableWidget;
|
||||||
import net.minecraft.client.gui.widget.TabNavigationWidget;
|
import net.minecraft.client.gui.widget.TabNavigationWidget;
|
||||||
import net.minecraft.client.util.ScreenshotRecorder;
|
import net.minecraft.client.util.ScreenshotRecorder;
|
||||||
@@ -68,7 +68,7 @@ public class InputHandlers {
|
|||||||
private InputHandlers() {
|
private InputHandlers() {
|
||||||
}
|
}
|
||||||
private static List<ItemGroup> getVisibleGroups(CreativeInventoryScreen screen) {
|
private static List<ItemGroup> getVisibleGroups(CreativeInventoryScreen screen) {
|
||||||
return ItemGroupHelper.sortedGroups.stream()
|
return ItemGroups.getGroups().stream()
|
||||||
.filter(itemGroup -> {
|
.filter(itemGroup -> {
|
||||||
if (FabricCreativeGuiComponents.COMMON_GROUPS.contains(itemGroup)) return true;
|
if (FabricCreativeGuiComponents.COMMON_GROUPS.contains(itemGroup)) return true;
|
||||||
return ((CreativeGuiExtensions)screen).fabric_currentPage() == ((FabricItemGroup)itemGroup).getPage() && itemGroup.shouldDisplay();
|
return ((CreativeGuiExtensions)screen).fabric_currentPage() == ((FabricItemGroup)itemGroup).getPage() && itemGroup.shouldDisplay();
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import eu.midnightdust.midnightcontrols.client.compat.MidnightControlsCompat;
|
|||||||
import eu.midnightdust.midnightcontrols.client.controller.ButtonBinding;
|
import eu.midnightdust.midnightcontrols.client.controller.ButtonBinding;
|
||||||
import dev.lambdaurora.spruceui.hud.Hud;
|
import dev.lambdaurora.spruceui.hud.Hud;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.resource.language.I18n;
|
import net.minecraft.client.resource.language.I18n;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.item.BlockItem;
|
import net.minecraft.item.BlockItem;
|
||||||
@@ -79,16 +80,17 @@ public class MidnightControlsHud extends Hud {
|
|||||||
* Renders the MidnightControls HUD.
|
* Renders the MidnightControls HUD.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void render(MatrixStack matrices, float tickDelta) {
|
public void render(DrawContext context, float tickDelta) {
|
||||||
if (this.client == null) return;
|
if (this.client == null) return;
|
||||||
if (MidnightControlsConfig.controlsMode == ControlsMode.CONTROLLER && this.client.currentScreen == null) {
|
if (MidnightControlsConfig.controlsMode == ControlsMode.CONTROLLER && this.client.currentScreen == null) {
|
||||||
isCrammed = client.getWindow().getScaledWidth() < 520;
|
isCrammed = client.getWindow().getScaledWidth() < 520;
|
||||||
int y = bottom(2);
|
int y = bottom(2);
|
||||||
|
MatrixStack matrices = context.getMatrices();
|
||||||
matrices.push();
|
matrices.push();
|
||||||
this.renderFirstIcons(matrices, MidnightControlsConfig.hudSide == HudSide.LEFT ? 2 : client.getWindow().getScaledWidth() - 2, y);
|
this.renderFirstIcons(context, MidnightControlsConfig.hudSide == HudSide.LEFT ? 2 : client.getWindow().getScaledWidth() - 2, y);
|
||||||
this.renderSecondIcons(matrices, MidnightControlsConfig.hudSide == HudSide.RIGHT ? 2 : client.getWindow().getScaledWidth() - 2, y);
|
this.renderSecondIcons(context, MidnightControlsConfig.hudSide == HudSide.RIGHT ? 2 : client.getWindow().getScaledWidth() - 2, y);
|
||||||
this.renderFirstSection(matrices, MidnightControlsConfig.hudSide == HudSide.LEFT ? 2 : client.getWindow().getScaledWidth() - 2, y);
|
this.renderFirstSection(context, MidnightControlsConfig.hudSide == HudSide.LEFT ? 2 : client.getWindow().getScaledWidth() - 2, y);
|
||||||
this.renderSecondSection(matrices, MidnightControlsConfig.hudSide == HudSide.RIGHT ? 2 : client.getWindow().getScaledWidth() - 2, y);
|
this.renderSecondSection(context, MidnightControlsConfig.hudSide == HudSide.RIGHT ? 2 : client.getWindow().getScaledWidth() - 2, y);
|
||||||
matrices.pop();
|
matrices.pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,16 +103,16 @@ public class MidnightControlsHud extends Hud {
|
|||||||
scale *= scale;
|
scale *= scale;
|
||||||
int opacity = ((int) (255 * scale)) << 24;
|
int opacity = ((int) (255 * scale)) << 24;
|
||||||
|
|
||||||
this.client.textRenderer.draw(matrices, text, window.getScaledWidth() / 2.f - this.client.textRenderer.getWidth(text) / 2.f,
|
context.drawText(client.textRenderer, text, (int) (window.getScaledWidth() / 2.f - this.client.textRenderer.getWidth(text) / 2.f),
|
||||||
window.getScaledHeight() / 2.f - 4, 0xCCCCCC | opacity);
|
(int) (window.getScaledHeight() / 2.f - 4), 0xCCCCCC | opacity, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderFirstIcons(MatrixStack matrices, int x, int y) {
|
public void renderFirstIcons(DrawContext context, int x, int y) {
|
||||||
int offset = 2 + this.inventoryWidth + this.inventoryButtonWidth + 4;
|
int offset = 2 + this.inventoryWidth + this.inventoryButtonWidth + 4;
|
||||||
int currentX = MidnightControlsConfig.hudSide == HudSide.LEFT ? x : x - this.inventoryButtonWidth;
|
int currentX = MidnightControlsConfig.hudSide == HudSide.LEFT ? x : x - this.inventoryButtonWidth;
|
||||||
if (!ButtonBinding.INVENTORY.isNotBound()) this.drawButton(matrices, currentX, y, ButtonBinding.INVENTORY, true);
|
if (!ButtonBinding.INVENTORY.isNotBound()) this.drawButton(context, currentX, y, ButtonBinding.INVENTORY, true);
|
||||||
if (!ButtonBinding.SWAP_HANDS.isNotBound() && !isCrammed && showSwapHandsAction) this.drawButton(matrices, currentX += (MidnightControlsConfig.hudSide == HudSide.LEFT ? offset : -offset), y, ButtonBinding.SWAP_HANDS, true);
|
if (!ButtonBinding.SWAP_HANDS.isNotBound() && !isCrammed && showSwapHandsAction) this.drawButton(context, currentX += (MidnightControlsConfig.hudSide == HudSide.LEFT ? offset : -offset), y, ButtonBinding.SWAP_HANDS, true);
|
||||||
offset = 2 + this.swapHandsWidth + this.dropItemButtonWidth + 4;
|
offset = 2 + this.swapHandsWidth + this.dropItemButtonWidth + 4;
|
||||||
if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.RIGHT) {
|
if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.RIGHT) {
|
||||||
currentX += -offset;
|
currentX += -offset;
|
||||||
@@ -118,23 +120,23 @@ public class MidnightControlsHud extends Hud {
|
|||||||
currentX = MidnightControlsConfig.hudSide == HudSide.LEFT ? x : x - this.dropItemButtonWidth;
|
currentX = MidnightControlsConfig.hudSide == HudSide.LEFT ? x : x - this.dropItemButtonWidth;
|
||||||
y -= 20;
|
y -= 20;
|
||||||
}
|
}
|
||||||
if (!ButtonBinding.DROP_ITEM.isNotBound()) this.drawButton(matrices, currentX, y, ButtonBinding.DROP_ITEM, !this.client.player.getMainHandStack().isEmpty());
|
if (!ButtonBinding.DROP_ITEM.isNotBound()) this.drawButton(context, currentX, y, ButtonBinding.DROP_ITEM, !this.client.player.getMainHandStack().isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderSecondIcons(MatrixStack matrices, int x, int y) {
|
public void renderSecondIcons(DrawContext context, int x, int y) {
|
||||||
int offset;
|
int offset;
|
||||||
int currentX = x;
|
int currentX = x;
|
||||||
if (isCrammed && showSwapHandsAction && !this.client.options.getShowSubtitles().getValue() && !ButtonBinding.SWAP_HANDS.isNotBound()) {
|
if (isCrammed && showSwapHandsAction && !this.client.options.getShowSubtitles().getValue() && !ButtonBinding.SWAP_HANDS.isNotBound()) {
|
||||||
if (MidnightControlsConfig.hudSide == HudSide.LEFT)
|
if (MidnightControlsConfig.hudSide == HudSide.LEFT)
|
||||||
currentX -= this.useButtonWidth;
|
currentX -= this.useButtonWidth;
|
||||||
this.drawButton(matrices, currentX, y, ButtonBinding.SWAP_HANDS, true);
|
this.drawButton(context, currentX, y, ButtonBinding.SWAP_HANDS, true);
|
||||||
currentX = x;
|
currentX = x;
|
||||||
y -= 20;
|
y -= 20;
|
||||||
}
|
}
|
||||||
if (!this.placeAction.isEmpty() && (!ButtonBinding.USE.isNotBound()) ) {
|
if (!this.placeAction.isEmpty() && (!ButtonBinding.USE.isNotBound()) ) {
|
||||||
if (MidnightControlsConfig.hudSide == HudSide.LEFT)
|
if (MidnightControlsConfig.hudSide == HudSide.LEFT)
|
||||||
currentX -= this.useButtonWidth;
|
currentX -= this.useButtonWidth;
|
||||||
this.drawButton(matrices, currentX, y, ButtonBinding.USE, true);
|
this.drawButton(context, currentX, y, ButtonBinding.USE, true);
|
||||||
offset = 2 + this.useWidth + 4;
|
offset = 2 + this.useWidth + 4;
|
||||||
if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.LEFT) {
|
if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.LEFT) {
|
||||||
currentX -= offset;
|
currentX -= offset;
|
||||||
@@ -147,31 +149,31 @@ public class MidnightControlsHud extends Hud {
|
|||||||
if (MidnightControlsConfig.hudSide == HudSide.LEFT)
|
if (MidnightControlsConfig.hudSide == HudSide.LEFT)
|
||||||
currentX -= this.attackButtonWidth;
|
currentX -= this.attackButtonWidth;
|
||||||
|
|
||||||
if (!ButtonBinding.ATTACK.isNotBound()) this.drawButton(matrices, currentX, y, ButtonBinding.ATTACK, this.attackWidth != 0);
|
if (!ButtonBinding.ATTACK.isNotBound()) this.drawButton(context, currentX, y, ButtonBinding.ATTACK, this.attackWidth != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderFirstSection(MatrixStack matrices, int x, int y) {
|
public void renderFirstSection(DrawContext context, int x, int y) {
|
||||||
int currentX = MidnightControlsConfig.hudSide == HudSide.LEFT ? x + this.inventoryButtonWidth + 2 : x - this.inventoryButtonWidth - 2 - this.inventoryWidth;
|
int currentX = MidnightControlsConfig.hudSide == HudSide.LEFT ? x + this.inventoryButtonWidth + 2 : x - this.inventoryButtonWidth - 2 - this.inventoryWidth;
|
||||||
if (!ButtonBinding.INVENTORY.isNotBound()) this.drawTip(matrices, currentX, y, ButtonBinding.INVENTORY, true);
|
if (!ButtonBinding.INVENTORY.isNotBound()) this.drawTip(context, currentX, y, ButtonBinding.INVENTORY, true);
|
||||||
currentX += MidnightControlsConfig.hudSide == HudSide.LEFT ? this.inventoryWidth + 4 + this.swapHandsButtonWidth + 2
|
currentX += MidnightControlsConfig.hudSide == HudSide.LEFT ? this.inventoryWidth + 4 + this.swapHandsButtonWidth + 2
|
||||||
: -this.swapHandsWidth - 2 - this.swapHandsButtonWidth - 4;
|
: -this.swapHandsWidth - 2 - this.swapHandsButtonWidth - 4;
|
||||||
if (!ButtonBinding.SWAP_HANDS.isNotBound() && !isCrammed && showSwapHandsAction) this.drawTip(matrices, currentX, y, ButtonBinding.SWAP_HANDS, true);
|
if (!ButtonBinding.SWAP_HANDS.isNotBound() && !isCrammed && showSwapHandsAction) this.drawTip(context, currentX, y, ButtonBinding.SWAP_HANDS, true);
|
||||||
if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.RIGHT) {
|
if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.RIGHT) {
|
||||||
currentX += -this.dropItemWidth - 2 - this.dropItemButtonWidth - 4;
|
currentX += -this.dropItemWidth - 2 - this.dropItemButtonWidth - 4;
|
||||||
} else {
|
} else {
|
||||||
y -= 20;
|
y -= 20;
|
||||||
currentX = MidnightControlsConfig.hudSide == HudSide.LEFT ? x + this.dropItemButtonWidth + 2 : x - this.dropItemButtonWidth - 2 - this.dropItemWidth;
|
currentX = MidnightControlsConfig.hudSide == HudSide.LEFT ? x + this.dropItemButtonWidth + 2 : x - this.dropItemButtonWidth - 2 - this.dropItemWidth;
|
||||||
}
|
}
|
||||||
if (!ButtonBinding.DROP_ITEM.isNotBound()) this.drawTip(matrices, currentX, y, ButtonBinding.DROP_ITEM, !this.client.player.getMainHandStack().isEmpty());
|
if (!ButtonBinding.DROP_ITEM.isNotBound()) this.drawTip(context, currentX, y, ButtonBinding.DROP_ITEM, !this.client.player.getMainHandStack().isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderSecondSection(MatrixStack matrices, int x, int y) {
|
public void renderSecondSection(DrawContext context, int x, int y) {
|
||||||
int currentX = x;
|
int currentX = x;
|
||||||
|
|
||||||
if (isCrammed && showSwapHandsAction && !this.client.options.getShowSubtitles().getValue() && !ButtonBinding.SWAP_HANDS.isNotBound()) {
|
if (isCrammed && showSwapHandsAction && !this.client.options.getShowSubtitles().getValue() && !ButtonBinding.SWAP_HANDS.isNotBound()) {
|
||||||
currentX += MidnightControlsConfig.hudSide == HudSide.RIGHT ? this.swapHandsButtonWidth + 2 : -this.swapHandsButtonWidth - 2 - this.swapHandsWidth;
|
currentX += MidnightControlsConfig.hudSide == HudSide.RIGHT ? this.swapHandsButtonWidth + 2 : -this.swapHandsButtonWidth - 2 - this.swapHandsWidth;
|
||||||
|
|
||||||
this.drawTip(matrices, currentX, y, ButtonBinding.SWAP_HANDS, true);
|
this.drawTip(context, currentX, y, ButtonBinding.SWAP_HANDS, true);
|
||||||
|
|
||||||
currentX = x;
|
currentX = x;
|
||||||
y -= 20;
|
y -= 20;
|
||||||
@@ -179,7 +181,7 @@ public class MidnightControlsHud extends Hud {
|
|||||||
if (!this.placeAction.isEmpty()) {
|
if (!this.placeAction.isEmpty()) {
|
||||||
currentX += MidnightControlsConfig.hudSide == HudSide.RIGHT ? this.useButtonWidth + 2 : -this.useButtonWidth - 2 - this.useWidth;
|
currentX += MidnightControlsConfig.hudSide == HudSide.RIGHT ? this.useButtonWidth + 2 : -this.useButtonWidth - 2 - this.useWidth;
|
||||||
|
|
||||||
this.drawTip(matrices, currentX, y, this.placeAction, true);
|
this.drawTip(context, currentX, y, this.placeAction, true);
|
||||||
|
|
||||||
if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.LEFT) {
|
if (this.client.options.getShowSubtitles().getValue() && MidnightControlsConfig.hudSide == HudSide.LEFT) {
|
||||||
currentX -= 4;
|
currentX -= 4;
|
||||||
@@ -191,7 +193,7 @@ public class MidnightControlsHud extends Hud {
|
|||||||
|
|
||||||
currentX += MidnightControlsConfig.hudSide == HudSide.RIGHT ? this.attackButtonWidth + 2 : -this.attackButtonWidth - 2 - this.attackWidth;
|
currentX += MidnightControlsConfig.hudSide == HudSide.RIGHT ? this.attackButtonWidth + 2 : -this.attackButtonWidth - 2 - this.attackWidth;
|
||||||
|
|
||||||
if (!ButtonBinding.ATTACK.isNotBound()) this.drawTip(matrices, currentX, y, this.attackAction, this.attackWidth != 0);
|
if (!ButtonBinding.ATTACK.isNotBound()) this.drawTip(context, currentX, y, this.attackAction, this.attackWidth != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -281,20 +283,20 @@ public class MidnightControlsHud extends Hud {
|
|||||||
return this.client.textRenderer.getWidth(I18n.translate(text));
|
return this.client.textRenderer.getWidth(I18n.translate(text));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void drawButton(MatrixStack matrices, int x, int y, @NotNull ButtonBinding button, boolean display) {
|
private void drawButton(DrawContext context, int x, int y, @NotNull ButtonBinding button, boolean display) {
|
||||||
if (display)
|
if (display)
|
||||||
MidnightControlsRenderer.drawButton(matrices, x, y, button, this.client);
|
MidnightControlsRenderer.drawButton(context, x, y, button, this.client);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void drawTip(MatrixStack matrices, int x, int y, @NotNull ButtonBinding button, boolean display) {
|
private void drawTip(DrawContext context, int x, int y, @NotNull ButtonBinding button, boolean display) {
|
||||||
this.drawTip(matrices, x, y, button.getTranslationKey(), display);
|
this.drawTip(context, x, y, button.getTranslationKey(), display);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void drawTip(MatrixStack matrices, int x, int y, @NotNull String action, boolean display) {
|
private void drawTip(DrawContext context, int x, int y, @NotNull String action, boolean display) {
|
||||||
if (!display)
|
if (!display)
|
||||||
return;
|
return;
|
||||||
var translatedAction = I18n.translate(action);
|
var translatedAction = I18n.translate(action);
|
||||||
int textY = (MidnightControlsRenderer.ICON_SIZE / 2 - this.client.textRenderer.fontHeight / 2) + 1;
|
int textY = (MidnightControlsRenderer.ICON_SIZE / 2 - this.client.textRenderer.fontHeight / 2) + 1;
|
||||||
this.client.textRenderer.draw(matrices, translatedAction, (float) x, (float) (y + textY), 14737632);
|
context.drawText(this.client.textRenderer, translatedAction, x, (y + textY), 14737632, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,6 @@
|
|||||||
package eu.midnightdust.midnightcontrols.client.gui;
|
package eu.midnightdust.midnightcontrols.client.gui;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import eu.midnightdust.midnightcontrols.MidnightControls;
|
|
||||||
import eu.midnightdust.midnightcontrols.client.ControllerType;
|
import eu.midnightdust.midnightcontrols.client.ControllerType;
|
||||||
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
|
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
|
||||||
import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
|
import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
|
||||||
@@ -20,10 +19,11 @@ import eu.midnightdust.midnightcontrols.client.controller.ButtonBinding;
|
|||||||
import eu.midnightdust.midnightcontrols.client.util.HandledScreenAccessor;
|
import eu.midnightdust.midnightcontrols.client.util.HandledScreenAccessor;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.gui.DrawableHelper;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.resource.language.I18n;
|
import net.minecraft.client.resource.language.I18n;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.screen.slot.Slot;
|
import net.minecraft.screen.slot.Slot;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.lwjgl.glfw.GLFW;
|
import org.lwjgl.glfw.GLFW;
|
||||||
|
|
||||||
@@ -77,17 +77,17 @@ public class MidnightControlsRenderer {
|
|||||||
return width;
|
return width;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ButtonSize drawButton(MatrixStack matrices, int x, int y, @NotNull ButtonBinding button, @NotNull MinecraftClient client) {
|
public static ButtonSize drawButton(DrawContext context, int x, int y, @NotNull ButtonBinding button, @NotNull MinecraftClient client) {
|
||||||
return drawButton(matrices, x, y, button.getButton(), client);
|
return drawButton(context, x, y, button.getButton(), client);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ButtonSize drawButton(MatrixStack matrices, int x, int y, int[] buttons, @NotNull MinecraftClient client) {
|
public static ButtonSize drawButton(DrawContext context, int x, int y, int[] buttons, @NotNull MinecraftClient client) {
|
||||||
int height = 0;
|
int height = 0;
|
||||||
int length = 0;
|
int length = 0;
|
||||||
int currentX = x;
|
int currentX = x;
|
||||||
for (int i = 0; i < buttons.length; i++) {
|
for (int i = 0; i < buttons.length; i++) {
|
||||||
int btn = buttons[i];
|
int btn = buttons[i];
|
||||||
int size = drawButton(matrices, currentX, y, btn, client);
|
int size = drawButton(context, currentX, y, btn, client);
|
||||||
if (size > height)
|
if (size > height)
|
||||||
height = size;
|
height = size;
|
||||||
length += size;
|
length += size;
|
||||||
@@ -99,7 +99,7 @@ public class MidnightControlsRenderer {
|
|||||||
return new ButtonSize(length, height);
|
return new ButtonSize(length, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int drawButton(MatrixStack matrices, int x, int y, int button, @NotNull MinecraftClient client) {
|
public static int drawButton(DrawContext context, int x, int y, int button, @NotNull MinecraftClient client) {
|
||||||
boolean second = false;
|
boolean second = false;
|
||||||
if (button == -1)
|
if (button == -1)
|
||||||
return 0;
|
return 0;
|
||||||
@@ -159,13 +159,13 @@ public class MidnightControlsRenderer {
|
|||||||
case GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER + 100, GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER + 200 -> buttonOffset = 10 * 15;
|
case GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER + 100, GLFW.GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER + 200 -> buttonOffset = 10 * 15;
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderSystem.setShaderTexture(0, axis ? MidnightControlsClient.CONTROLLER_AXIS : button >= 15 && button <= 19 ? MidnightControlsClient.CONTROLLER_EXPANDED :MidnightControlsClient.CONTROLLER_BUTTONS);
|
|
||||||
RenderSystem.disableDepthTest();
|
RenderSystem.disableDepthTest();
|
||||||
|
|
||||||
int assetSize = axis || (button >= 15 && button <= 18) ? AXIS_SIZE : BUTTON_SIZE;
|
int assetSize = axis || (button >= 15 && button <= 18) ? AXIS_SIZE : BUTTON_SIZE;
|
||||||
|
|
||||||
RenderSystem.setShaderColor(1.f, second ? 0.f : 1.f, 1.f, 1.f);
|
RenderSystem.setShaderColor(1.f, second ? 0.f : 1.f, 1.f, 1.f);
|
||||||
DrawableHelper.drawTexture(matrices, x + (ICON_SIZE / 2 - assetSize / 2), y + (ICON_SIZE / 2 - assetSize / 2),
|
context.drawTexture(axis ? MidnightControlsClient.CONTROLLER_AXIS : button >= 15 && button <= 19 ? MidnightControlsClient.CONTROLLER_EXPANDED :MidnightControlsClient.CONTROLLER_BUTTONS
|
||||||
|
, x + (ICON_SIZE / 2 - assetSize / 2), y + (ICON_SIZE / 2 - assetSize / 2),
|
||||||
(float) buttonOffset, (float) (controllerType * assetSize),
|
(float) buttonOffset, (float) (controllerType * assetSize),
|
||||||
assetSize, assetSize,
|
assetSize, assetSize,
|
||||||
256, 256);
|
256, 256);
|
||||||
@@ -174,18 +174,18 @@ public class MidnightControlsRenderer {
|
|||||||
return ICON_SIZE;
|
return ICON_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int drawButtonTip(MatrixStack matrices, int x, int y, @NotNull ButtonBinding button, boolean display, @NotNull MinecraftClient client) {
|
public static int drawButtonTip(DrawContext context, int x, int y, @NotNull ButtonBinding button, boolean display, @NotNull MinecraftClient client) {
|
||||||
return drawButtonTip(matrices, x, y, button.getButton(), button.getTranslationKey(), display, client);
|
return drawButtonTip(context, x, y, button.getButton(), button.getTranslationKey(), display, client);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int drawButtonTip(MatrixStack matrices, int x, int y, int[] button, @NotNull String action, boolean display, @NotNull MinecraftClient client) {
|
public static int drawButtonTip(DrawContext context, int x, int y, int[] button, @NotNull String action, boolean display, @NotNull MinecraftClient client) {
|
||||||
if (display) {
|
if (display) {
|
||||||
int buttonWidth = drawButton(matrices, x, y, button, client).length();
|
int buttonWidth = drawButton(context, x, y, button, client).length();
|
||||||
|
|
||||||
var translatedAction = I18n.translate(action);
|
var translatedAction = I18n.translate(action);
|
||||||
int textY = (MidnightControlsRenderer.ICON_SIZE / 2 - client.textRenderer.fontHeight / 2) + 1;
|
int textY = (MidnightControlsRenderer.ICON_SIZE / 2 - client.textRenderer.fontHeight / 2) + 1;
|
||||||
|
|
||||||
return client.textRenderer.drawWithShadow(matrices, translatedAction, (float) (x + buttonWidth + 2), (float) (y + textY), 14737632);
|
return context.drawTextWithShadow(client.textRenderer, translatedAction, (x + buttonWidth + 2), (y + textY), 14737632);
|
||||||
}
|
}
|
||||||
|
|
||||||
return -10;
|
return -10;
|
||||||
@@ -195,7 +195,7 @@ public class MidnightControlsRenderer {
|
|||||||
return 15 + 5 + textRenderer.getWidth(action);
|
return 15 + 5 + textRenderer.getWidth(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void renderVirtualCursor(@NotNull MatrixStack matrices, @NotNull MinecraftClient client) {
|
public static void renderVirtualCursor(@NotNull DrawContext context, @NotNull MinecraftClient client) {
|
||||||
if (!MidnightControlsConfig.virtualMouse || (client.currentScreen == null
|
if (!MidnightControlsConfig.virtualMouse || (client.currentScreen == null
|
||||||
|| MidnightInput.isScreenInteractive(client.currentScreen)))
|
|| MidnightInput.isScreenInteractive(client.currentScreen)))
|
||||||
return;
|
return;
|
||||||
@@ -233,27 +233,31 @@ public class MidnightControlsRenderer {
|
|||||||
mouseY -= 8;
|
mouseY -= 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
drawCursor(matrices, mouseX, mouseY, hoverSlot, client);
|
//context.getMatrices().push();
|
||||||
|
drawCursor(context, mouseX, mouseY, hoverSlot, client);
|
||||||
|
//context.getMatrices().pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Draws the virtual cursor.
|
* Draws the virtual cursor.
|
||||||
*
|
*
|
||||||
* @param matrices the matrix stack
|
* @param context the context
|
||||||
* @param x x coordinate
|
* @param x x coordinate
|
||||||
* @param y y coordinate
|
* @param y y coordinate
|
||||||
* @param hoverSlot true if hovering a slot, else false
|
* @param hoverSlot true if hovering a slot, else false
|
||||||
* @param client the client instance
|
* @param client the client instance
|
||||||
*/
|
*/
|
||||||
public static void drawCursor(@NotNull MatrixStack matrices, int x, int y, boolean hoverSlot, @NotNull MinecraftClient client) {
|
public static void drawCursor(@NotNull DrawContext context, int x, int y, boolean hoverSlot, @NotNull MinecraftClient client) {
|
||||||
RenderSystem.disableDepthTest();
|
//RenderSystem.disableDepthTest();
|
||||||
|
//RenderSystem.setShaderColor(1.f, 1.f, 1.f, 1.f);
|
||||||
RenderSystem.setShaderColor(1.f, 1.f, 1.f, 1.f);
|
//RenderSystem.disableBlend();
|
||||||
RenderSystem.setShaderTexture(0, MidnightControlsClient.CURSOR_TEXTURE);
|
//RenderSystem.setShaderTexture(0, MidnightControlsClient.CURSOR_TEXTURE);
|
||||||
DrawableHelper.drawTexture(matrices, x, y,
|
context.drawTexture(MidnightControlsClient.CURSOR_TEXTURE, x, y,
|
||||||
hoverSlot ? 16.f : 0.f, MidnightControlsConfig.virtualMouseSkin.ordinal() * 16.f,
|
hoverSlot ? 16.f : 0.f, MidnightControlsConfig.virtualMouseSkin.ordinal() * 16.f,
|
||||||
16, 16, 32, 64);
|
16, 16, 32, 64);
|
||||||
RenderSystem.enableDepthTest();
|
context.fill(1, 1, x, y, 0xFFFFFF);
|
||||||
|
context.draw();
|
||||||
|
//RenderSystem.enableDepthTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
public record ButtonSize(int length, int height) {
|
public record ButtonSize(int length, int height) {
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import dev.lambdaurora.spruceui.widget.container.SpruceOptionListWidget;
|
|||||||
import dev.lambdaurora.spruceui.widget.container.tabbed.SpruceTabbedWidget;
|
import dev.lambdaurora.spruceui.widget.container.tabbed.SpruceTabbedWidget;
|
||||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||||
import net.minecraft.client.render.*;
|
import net.minecraft.client.render.*;
|
||||||
@@ -59,6 +60,7 @@ public class MidnightControlsSettingsScreen extends SpruceScreen {
|
|||||||
private final SpruceOption mouseSpeedOption;
|
private final SpruceOption mouseSpeedOption;
|
||||||
private final SpruceOption joystickAsMouseOption;
|
private final SpruceOption joystickAsMouseOption;
|
||||||
private final SpruceOption virtualMouseOption;
|
private final SpruceOption virtualMouseOption;
|
||||||
|
private final SpruceOption hideCursorOption;
|
||||||
private final SpruceOption resetOption;
|
private final SpruceOption resetOption;
|
||||||
private final SpruceOption advancedConfigOption;
|
private final SpruceOption advancedConfigOption;
|
||||||
// Gameplay options
|
// Gameplay options
|
||||||
@@ -117,7 +119,7 @@ public class MidnightControlsSettingsScreen extends SpruceScreen {
|
|||||||
else
|
else
|
||||||
return option.getDisplayText(Text.literal(controllerName));
|
return option.getDisplayText(Text.literal(controllerName));
|
||||||
}).orElse(option.getDisplayText(SpruceTexts.OPTIONS_OFF.copyContentOnly().formatted(Formatting.RED))),
|
}).orElse(option.getDisplayText(SpruceTexts.OPTIONS_OFF.copyContentOnly().formatted(Formatting.RED))),
|
||||||
Text.translatable("midnightcontrols.tooltip.controller2"));
|
Text.translatable("midnightcontrols.menu.controller2.tooltip"));
|
||||||
private final SpruceOption unfocusedInputOption;
|
private final SpruceOption unfocusedInputOption;
|
||||||
private final SpruceOption invertsRightXAxis;
|
private final SpruceOption invertsRightXAxis;
|
||||||
private final SpruceOption invertsRightYAxis;
|
private final SpruceOption invertsRightYAxis;
|
||||||
@@ -136,7 +138,7 @@ public class MidnightControlsSettingsScreen extends SpruceScreen {
|
|||||||
() -> MidnightControlsConfig.getAxisMaxValue(axis),
|
() -> MidnightControlsConfig.getAxisMaxValue(axis),
|
||||||
newValue -> MidnightControlsConfig.setAxisMaxValue(axis, newValue),
|
newValue -> MidnightControlsConfig.setAxisMaxValue(axis, newValue),
|
||||||
option -> option.getDisplayText(Text.literal(String.format("%.2f", option.get()))),
|
option -> option.getDisplayText(Text.literal(String.format("%.2f", option.get()))),
|
||||||
Text.translatable(key.replace("menu", "tooltip"))
|
Text.translatable(key.concat(".tooltip"))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -173,24 +175,24 @@ public class MidnightControlsSettingsScreen extends SpruceScreen {
|
|||||||
ClientPlayNetworking.getSender().sendPacket(MidnightControls.CONTROLS_MODE_CHANNEL, this.mod.makeControlsModeBuffer(next));
|
ClientPlayNetworking.getSender().sendPacket(MidnightControls.CONTROLS_MODE_CHANNEL, this.mod.makeControlsModeBuffer(next));
|
||||||
}
|
}
|
||||||
}, option -> option.getDisplayText(Text.translatable(MidnightControlsConfig.controlsMode.getTranslationKey())),
|
}, option -> option.getDisplayText(Text.translatable(MidnightControlsConfig.controlsMode.getTranslationKey())),
|
||||||
Text.translatable("midnightcontrols.tooltip.controls_mode"));
|
Text.translatable("midnightcontrols.menu.controls_mode.tooltip"));
|
||||||
this.autoSwitchModeOption = new SpruceToggleBooleanOption("midnightcontrols.menu.auto_switch_mode", () -> MidnightControlsConfig.autoSwitchMode,
|
this.autoSwitchModeOption = new SpruceToggleBooleanOption("midnightcontrols.menu.auto_switch_mode", () -> MidnightControlsConfig.autoSwitchMode,
|
||||||
value -> MidnightControlsConfig.autoSwitchMode = value, Text.translatable("midnightcontrols.tooltip.auto_switch_mode"));
|
value -> MidnightControlsConfig.autoSwitchMode = value, Text.translatable("midnightcontrols.menu.auto_switch_mode.tooltip"));
|
||||||
this.rotationSpeedOption = new SpruceDoubleOption("midnightcontrols.menu.rotation_speed", 0.0, 100.0, .5f,
|
this.rotationSpeedOption = new SpruceDoubleOption("midnightcontrols.menu.rotation_speed", 0.0, 100.0, .5f,
|
||||||
() -> MidnightControlsConfig.rotationSpeed,
|
() -> MidnightControlsConfig.rotationSpeed,
|
||||||
value -> MidnightControlsConfig.rotationSpeed = value, option -> option.getDisplayText(Text.literal(String.valueOf(option.get()))),
|
value -> MidnightControlsConfig.rotationSpeed = value, option -> option.getDisplayText(Text.literal(String.valueOf(option.get()))),
|
||||||
Text.translatable("midnightcontrols.tooltip.rotation_speed"));
|
Text.translatable("midnightcontrols.menu.rotation_speed.tooltip"));
|
||||||
this.yAxisRotationSpeedOption = new SpruceDoubleOption("midnightcontrols.menu.y_axis_rotation_speed", 0.0, 100.0, .5f,
|
this.yAxisRotationSpeedOption = new SpruceDoubleOption("midnightcontrols.menu.y_axis_rotation_speed", 0.0, 100.0, .5f,
|
||||||
() -> MidnightControlsConfig.yAxisRotationSpeed,
|
() -> MidnightControlsConfig.yAxisRotationSpeed,
|
||||||
value -> MidnightControlsConfig.yAxisRotationSpeed = value, option -> option.getDisplayText(Text.literal(String.valueOf(option.get()))),
|
value -> MidnightControlsConfig.yAxisRotationSpeed = value, option -> option.getDisplayText(Text.literal(String.valueOf(option.get()))),
|
||||||
Text.translatable("midnightcontrols.tooltip.y_axis_rotation_speed"));
|
Text.translatable("midnightcontrols.menu.y_axis_rotation_speed.tooltip"));
|
||||||
this.mouseSpeedOption = new SpruceDoubleOption("midnightcontrols.menu.mouse_speed", 0.0, 150.0, .5f,
|
this.mouseSpeedOption = new SpruceDoubleOption("midnightcontrols.menu.mouse_speed", 0.0, 150.0, .5f,
|
||||||
() -> MidnightControlsConfig.mouseSpeed,
|
() -> MidnightControlsConfig.mouseSpeed,
|
||||||
value -> MidnightControlsConfig.mouseSpeed = value, option -> option.getDisplayText(Text.literal(String.valueOf(option.get()))),
|
value -> MidnightControlsConfig.mouseSpeed = value, option -> option.getDisplayText(Text.literal(String.valueOf(option.get()))),
|
||||||
Text.translatable("midnightcontrols.tooltip.joystick_as_mouse"));
|
Text.translatable("midnightcontrols.menu.joystick_as_mouse.tooltip"));
|
||||||
this.joystickAsMouseOption = new SpruceToggleBooleanOption("midnightcontrols.menu.joystick_as_mouse",
|
this.joystickAsMouseOption = new SpruceToggleBooleanOption("midnightcontrols.menu.joystick_as_mouse",
|
||||||
() -> MidnightControlsConfig.joystickAsMouse, value -> MidnightControlsConfig.joystickAsMouse = value,
|
() -> MidnightControlsConfig.joystickAsMouse, value -> MidnightControlsConfig.joystickAsMouse = value,
|
||||||
Text.translatable("midnightcontrols.tooltip.joystick_as_mouse"));
|
Text.translatable("midnightcontrols.menu.joystick_as_mouse.tooltip"));
|
||||||
this.resetOption = SpruceSimpleActionOption.reset(btn -> {
|
this.resetOption = SpruceSimpleActionOption.reset(btn -> {
|
||||||
MidnightControlsConfig.reset();
|
MidnightControlsConfig.reset();
|
||||||
var client = MinecraftClient.getInstance();
|
var client = MinecraftClient.getInstance();
|
||||||
@@ -200,10 +202,10 @@ public class MidnightControlsSettingsScreen extends SpruceScreen {
|
|||||||
// Gameplay options
|
// Gameplay options
|
||||||
this.analogMovementOption = new SpruceToggleBooleanOption("midnightcontrols.menu.analog_movement",
|
this.analogMovementOption = new SpruceToggleBooleanOption("midnightcontrols.menu.analog_movement",
|
||||||
() -> MidnightControlsConfig.analogMovement, value -> MidnightControlsConfig.analogMovement = value,
|
() -> MidnightControlsConfig.analogMovement, value -> MidnightControlsConfig.analogMovement = value,
|
||||||
Text.translatable("midnightcontrols.tooltip.analog_movement"));
|
Text.translatable("midnightcontrols.menu.analog_movement.tooltip"));
|
||||||
this.doubleTapToSprintOption = new SpruceToggleBooleanOption("midnightcontrols.menu.double_tap_to_sprint",
|
this.doubleTapToSprintOption = new SpruceToggleBooleanOption("midnightcontrols.menu.double_tap_to_sprint",
|
||||||
() -> MidnightControlsConfig.doubleTapToSprint, value -> MidnightControlsConfig.doubleTapToSprint = value,
|
() -> MidnightControlsConfig.doubleTapToSprint, value -> MidnightControlsConfig.doubleTapToSprint = value,
|
||||||
Text.translatable("midnightcontrols.tooltip.double_tap_to_sprint"));
|
Text.translatable("midnightcontrols.menu.double_tap_to_sprint.tooltip"));
|
||||||
this.autoJumpOption = new SpruceToggleBooleanOption("options.autoJump",
|
this.autoJumpOption = new SpruceToggleBooleanOption("options.autoJump",
|
||||||
() -> this.client.options.getAutoJump().getValue(),
|
() -> this.client.options.getAutoJump().getValue(),
|
||||||
newValue -> this.client.options.getAutoJump().setValue(newValue),
|
newValue -> this.client.options.getAutoJump().setValue(newValue),
|
||||||
@@ -215,32 +217,32 @@ public class MidnightControlsSettingsScreen extends SpruceScreen {
|
|||||||
() -> MidnightControlsConfig.controllerToggleSprint, value -> MidnightControlsConfig.controllerToggleSprint = value,
|
() -> MidnightControlsConfig.controllerToggleSprint, value -> MidnightControlsConfig.controllerToggleSprint = value,
|
||||||
null);
|
null);
|
||||||
this.fastBlockPlacingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.fast_block_placing", () -> MidnightControlsConfig.fastBlockPlacing,
|
this.fastBlockPlacingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.fast_block_placing", () -> MidnightControlsConfig.fastBlockPlacing,
|
||||||
value -> MidnightControlsConfig.fastBlockPlacing = value, Text.translatable("midnightcontrols.tooltip.fast_block_placing"));
|
value -> MidnightControlsConfig.fastBlockPlacing = value, Text.translatable("midnightcontrols.menu.fast_block_placing.tooltip"));
|
||||||
this.frontBlockPlacingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.reacharound.horizontal", () -> MidnightControlsConfig.horizontalReacharound,
|
this.frontBlockPlacingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.reacharound.horizontal", () -> MidnightControlsConfig.horizontalReacharound,
|
||||||
value -> MidnightControlsConfig.horizontalReacharound = value, Text.translatable("midnightcontrols.tooltip.reacharound.horizontal"));
|
value -> MidnightControlsConfig.horizontalReacharound = value, Text.translatable("midnightcontrols.menu.reacharound.horizontal.tooltip"));
|
||||||
this.verticalReacharoundOption = new SpruceToggleBooleanOption("midnightcontrols.menu.reacharound.vertical", () -> MidnightControlsConfig.verticalReacharound,
|
this.verticalReacharoundOption = new SpruceToggleBooleanOption("midnightcontrols.menu.reacharound.vertical", () -> MidnightControlsConfig.verticalReacharound,
|
||||||
value -> MidnightControlsConfig.verticalReacharound = value, Text.translatable("midnightcontrols.tooltip.reacharound.vertical"));
|
value -> MidnightControlsConfig.verticalReacharound = value, Text.translatable("midnightcontrols.menu.reacharound.vertical.tooltip"));
|
||||||
this.flyDriftingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.fly_drifting", () -> MidnightControlsConfig.flyDrifting,
|
this.flyDriftingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.fly_drifting", () -> MidnightControlsConfig.flyDrifting,
|
||||||
value -> MidnightControlsConfig.flyDrifting = value, Text.translatable("midnightcontrols.tooltip.fly_drifting"));
|
value -> MidnightControlsConfig.flyDrifting = value, Text.translatable("midnightcontrols.menu.fly_drifting.tooltip"));
|
||||||
this.flyVerticalDriftingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.fly_drifting_vertical", () -> MidnightControlsConfig.verticalFlyDrifting,
|
this.flyVerticalDriftingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.fly_drifting_vertical", () -> MidnightControlsConfig.verticalFlyDrifting,
|
||||||
value -> MidnightControlsConfig.verticalFlyDrifting = value, Text.translatable("midnightcontrols.tooltip.fly_drifting_vertical"));
|
value -> MidnightControlsConfig.verticalFlyDrifting = value, Text.translatable("midnightcontrols.menu.fly_drifting_vertical.tooltip"));
|
||||||
// Appearance options
|
// Appearance options
|
||||||
this.controllerTypeOption = new SpruceCyclingOption("midnightcontrols.menu.controller_type",
|
this.controllerTypeOption = new SpruceCyclingOption("midnightcontrols.menu.controller_type",
|
||||||
amount -> MidnightControlsConfig.controllerType = MidnightControlsConfig.controllerType.next(),
|
amount -> MidnightControlsConfig.controllerType = MidnightControlsConfig.controllerType.next(),
|
||||||
option -> option.getDisplayText(MidnightControlsConfig.controllerType.getTranslatedText()),
|
option -> option.getDisplayText(MidnightControlsConfig.controllerType.getTranslatedText()),
|
||||||
Text.translatable("midnightcontrols.tooltip.controller_type"));
|
Text.translatable("midnightcontrols.menu.controller_type.tooltip"));
|
||||||
this.virtualMouseSkinOption = new SpruceCyclingOption("midnightcontrols.menu.virtual_mouse.skin",
|
this.virtualMouseSkinOption = new SpruceCyclingOption("midnightcontrols.menu.virtual_mouse.skin",
|
||||||
amount -> MidnightControlsConfig.virtualMouseSkin = MidnightControlsConfig.virtualMouseSkin.next(),
|
amount -> MidnightControlsConfig.virtualMouseSkin = MidnightControlsConfig.virtualMouseSkin.next(),
|
||||||
option -> option.getDisplayText(MidnightControlsConfig.virtualMouseSkin.getTranslatedText()),
|
option -> option.getDisplayText(MidnightControlsConfig.virtualMouseSkin.getTranslatedText()),
|
||||||
null);
|
null);
|
||||||
this.hudEnableOption = new SpruceToggleBooleanOption("midnightcontrols.menu.hud_enable", () -> MidnightControlsConfig.hudEnable,
|
this.hudEnableOption = new SpruceToggleBooleanOption("midnightcontrols.menu.hud_enable", () -> MidnightControlsConfig.hudEnable,
|
||||||
this.mod::setHudEnabled, Text.translatable("midnightcontrols.tooltip.hud_enable"));
|
this.mod::setHudEnabled, Text.translatable("midnightcontrols.menu.hud_enable.tooltip"));
|
||||||
this.hudSideOption = new SpruceCyclingOption("midnightcontrols.menu.hud_side",
|
this.hudSideOption = new SpruceCyclingOption("midnightcontrols.menu.hud_side",
|
||||||
amount -> MidnightControlsConfig.hudSide = MidnightControlsConfig.hudSide.next(),
|
amount -> MidnightControlsConfig.hudSide = MidnightControlsConfig.hudSide.next(),
|
||||||
option -> option.getDisplayText(MidnightControlsConfig.hudSide.getTranslatedText()),
|
option -> option.getDisplayText(MidnightControlsConfig.hudSide.getTranslatedText()),
|
||||||
Text.translatable("midnightcontrols.tooltip.hud_side"));
|
Text.translatable("midnightcontrols.menu.hud_side.tooltip"));
|
||||||
this.moveChatOption = new SpruceToggleBooleanOption("midnightcontrols.menu.move_chat", () -> MidnightControlsConfig.moveChat,
|
this.moveChatOption = new SpruceToggleBooleanOption("midnightcontrols.menu.move_chat", () -> MidnightControlsConfig.moveChat,
|
||||||
value -> MidnightControlsConfig.moveChat = value, Text.translatable("midnightcontrols.tooltip.move_chat"));
|
value -> MidnightControlsConfig.moveChat = value, Text.translatable("midnightcontrols.menu.move_chat.tooltip"));
|
||||||
// Controller options
|
// Controller options
|
||||||
this.toggleControllerProfileOption = new SpruceToggleBooleanOption("midnightcontrols.menu.separate_controller_profile", () -> MidnightControlsConfig.controllerBindingProfiles.containsKey(MidnightControlsConfig.getController().getGuid()), value -> {
|
this.toggleControllerProfileOption = new SpruceToggleBooleanOption("midnightcontrols.menu.separate_controller_profile", () -> MidnightControlsConfig.controllerBindingProfiles.containsKey(MidnightControlsConfig.getController().getGuid()), value -> {
|
||||||
if (value) {
|
if (value) {
|
||||||
@@ -257,21 +259,23 @@ public class MidnightControlsSettingsScreen extends SpruceScreen {
|
|||||||
value -> MidnightControlsConfig.rightDeadZone = value, option -> {
|
value -> MidnightControlsConfig.rightDeadZone = value, option -> {
|
||||||
var value = String.valueOf(option.get());
|
var value = String.valueOf(option.get());
|
||||||
return option.getDisplayText(Text.literal(value.substring(0, Math.min(value.length(), 5))));
|
return option.getDisplayText(Text.literal(value.substring(0, Math.min(value.length(), 5))));
|
||||||
}, Text.translatable("midnightcontrols.tooltip.right_dead_zone"));
|
}, Text.translatable("midnightcontrols.menu.right_dead_zone.tooltip"));
|
||||||
this.leftDeadZoneOption = new SpruceDoubleOption("midnightcontrols.menu.left_dead_zone", 0.05, 1.0, .05f,
|
this.leftDeadZoneOption = new SpruceDoubleOption("midnightcontrols.menu.left_dead_zone", 0.05, 1.0, .05f,
|
||||||
() -> MidnightControlsConfig.leftDeadZone,
|
() -> MidnightControlsConfig.leftDeadZone,
|
||||||
value -> MidnightControlsConfig.leftDeadZone = value, option -> {
|
value -> MidnightControlsConfig.leftDeadZone = value, option -> {
|
||||||
var value = String.valueOf(option.get());
|
var value = String.valueOf(option.get());
|
||||||
return option.getDisplayText(Text.literal(value.substring(0, Math.min(value.length(), 5))));
|
return option.getDisplayText(Text.literal(value.substring(0, Math.min(value.length(), 5))));
|
||||||
}, Text.translatable("midnightcontrols.tooltip.left_dead_zone"));
|
}, Text.translatable("midnightcontrols.menu.left_dead_zone.tooltip"));
|
||||||
this.invertsRightXAxis = new SpruceToggleBooleanOption("midnightcontrols.menu.invert_right_x_axis", () -> MidnightControlsConfig.invertRightXAxis,
|
this.invertsRightXAxis = new SpruceToggleBooleanOption("midnightcontrols.menu.invert_right_x_axis", () -> MidnightControlsConfig.invertRightXAxis,
|
||||||
value -> MidnightControlsConfig.invertRightXAxis = value, null);
|
value -> MidnightControlsConfig.invertRightXAxis = value, null);
|
||||||
this.invertsRightYAxis = new SpruceToggleBooleanOption("midnightcontrols.menu.invert_right_y_axis", () -> MidnightControlsConfig.invertRightYAxis,
|
this.invertsRightYAxis = new SpruceToggleBooleanOption("midnightcontrols.menu.invert_right_y_axis", () -> MidnightControlsConfig.invertRightYAxis,
|
||||||
value -> MidnightControlsConfig.invertRightYAxis = value, null);
|
value -> MidnightControlsConfig.invertRightYAxis = value, null);
|
||||||
this.unfocusedInputOption = new SpruceToggleBooleanOption("midnightcontrols.menu.unfocused_input", () -> MidnightControlsConfig.unfocusedInput,
|
this.unfocusedInputOption = new SpruceToggleBooleanOption("midnightcontrols.menu.unfocused_input", () -> MidnightControlsConfig.unfocusedInput,
|
||||||
value -> MidnightControlsConfig.unfocusedInput = value, Text.translatable("midnightcontrols.tooltip.unfocused_input"));
|
value -> MidnightControlsConfig.unfocusedInput = value, Text.translatable("midnightcontrols.menu.unfocused_input.tooltip"));
|
||||||
this.virtualMouseOption = new SpruceToggleBooleanOption("midnightcontrols.menu.virtual_mouse", () -> MidnightControlsConfig.virtualMouse,
|
this.virtualMouseOption = new SpruceToggleBooleanOption("midnightcontrols.menu.virtual_mouse", () -> MidnightControlsConfig.virtualMouse,
|
||||||
value -> MidnightControlsConfig.virtualMouse = value, Text.translatable("midnightcontrols.tooltip.virtual_mouse"));
|
value -> MidnightControlsConfig.virtualMouse = value, Text.translatable("midnightcontrols.menu.virtual_mouse.tooltip"));
|
||||||
|
this.hideCursorOption = new SpruceToggleBooleanOption("midnightcontrols.menu.hide_cursor", () -> MidnightControlsConfig.hideNormalMouse,
|
||||||
|
value -> MidnightControlsConfig.hideNormalMouse = value, Text.translatable("midnightcontrols.menu.hide_cursor.tooltip"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -338,6 +342,7 @@ public class MidnightControlsSettingsScreen extends SpruceScreen {
|
|||||||
list.addSingleOptionEntry(this.yAxisRotationSpeedOption);
|
list.addSingleOptionEntry(this.yAxisRotationSpeedOption);
|
||||||
list.addSingleOptionEntry(this.mouseSpeedOption);
|
list.addSingleOptionEntry(this.mouseSpeedOption);
|
||||||
list.addSingleOptionEntry(this.virtualMouseOption);
|
list.addSingleOptionEntry(this.virtualMouseOption);
|
||||||
|
list.addSingleOptionEntry(this.hideCursorOption);
|
||||||
list.addSingleOptionEntry(this.joystickAsMouseOption);
|
list.addSingleOptionEntry(this.joystickAsMouseOption);
|
||||||
list.addSingleOptionEntry(this.advancedConfigOption);
|
list.addSingleOptionEntry(this.advancedConfigOption);
|
||||||
return list;
|
return list;
|
||||||
@@ -423,8 +428,8 @@ public class MidnightControlsSettingsScreen extends SpruceScreen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void renderTitle(MatrixStack matrices, int mouseX, int mouseY, float delta) {
|
public void renderTitle(DrawContext context, int mouseX, int mouseY, float delta) {
|
||||||
drawCenteredTextWithShadow(matrices, this.textRenderer, I18n.translate("midnightcontrols.menu.title"), this.width / 2, 8, 16777215);
|
context.drawCenteredTextWithShadow(this.textRenderer, I18n.translate("midnightcontrols.menu.title"), this.width / 2, 8, 16777215);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class MidnightControlsBackground implements Background {
|
public static class MidnightControlsBackground implements Background {
|
||||||
@@ -434,8 +439,8 @@ public class MidnightControlsSettingsScreen extends SpruceScreen {
|
|||||||
MidnightControlsBackground.transparency = transparency;
|
MidnightControlsBackground.transparency = transparency;
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void render(MatrixStack matrixStack, SpruceWidget widget, int vOffset, int mouseX, int mouseY, float delta) {
|
public void render(DrawContext context, SpruceWidget widget, int vOffset, int mouseX, int mouseY, float delta) {
|
||||||
fill(matrixStack, widget.getX(), widget.getY(), widget.getX() + widget.getWidth(), widget.getY() + widget.getHeight(), MidnightColorUtil.hex2Rgb("#000000"));
|
fill(context.getMatrices(), widget.getX(), widget.getY(), widget.getX() + widget.getWidth(), widget.getY() + widget.getHeight(), MidnightColorUtil.hex2Rgb("#000000"));
|
||||||
}
|
}
|
||||||
private static void fill(MatrixStack matrixStack, int x2, int y2, int x1, int y1, Color color) {
|
private static void fill(MatrixStack matrixStack, int x2, int y2, int x1, int y1, Color color) {
|
||||||
matrixStack.push();
|
matrixStack.push();
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ package eu.midnightdust.midnightcontrols.client.gui;
|
|||||||
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
|
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
|
||||||
import eu.midnightdust.midnightcontrols.client.ring.RingButtonMode;
|
import eu.midnightdust.midnightcontrols.client.ring.RingButtonMode;
|
||||||
import eu.midnightdust.midnightcontrols.client.ring.RingPage;
|
import eu.midnightdust.midnightcontrols.client.ring.RingPage;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.gui.widget.ButtonWidget;
|
import net.minecraft.client.gui.widget.ButtonWidget;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
@@ -47,11 +48,11 @@ public class RingScreen extends Screen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
|
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
|
||||||
super.render(matrices, mouseX, mouseY, delta);
|
super.render(context, mouseX, mouseY, delta);
|
||||||
|
|
||||||
RingPage page = this.mod.ring.getCurrentPage();
|
RingPage page = this.mod.ring.getCurrentPage();
|
||||||
page.render(matrices, this.textRenderer, this.width, this.height, mouseX, mouseY, delta);
|
page.render(context, this.textRenderer, this.width, this.height, mouseX, mouseY, delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ public class TouchscreenOverlay extends Screen {
|
|||||||
public TouchscreenOverlay(@NotNull MidnightControlsClient mod) {
|
public TouchscreenOverlay(@NotNull MidnightControlsClient mod) {
|
||||||
super(Text.literal("Touchscreen overlay"));
|
super(Text.literal("Touchscreen overlay"));
|
||||||
this.mod = mod;
|
this.mod = mod;
|
||||||
this.passEvents = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import dev.lambdaurora.spruceui.Position;
|
|||||||
import dev.lambdaurora.spruceui.SpruceTexts;
|
import dev.lambdaurora.spruceui.SpruceTexts;
|
||||||
import dev.lambdaurora.spruceui.widget.AbstractSpruceIconButtonWidget;
|
import dev.lambdaurora.spruceui.widget.AbstractSpruceIconButtonWidget;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@@ -45,12 +45,12 @@ public class ControllerButtonWidget extends AbstractSpruceIconButtonWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int renderIcon(MatrixStack matrices, int mouseX, int mouseY, float delta) {
|
protected int renderIcon(DrawContext context, int mouseX, int mouseY, float delta) {
|
||||||
int x = this.getX();
|
int x = this.getX();
|
||||||
if (this.binding.getButton().length > 1) {
|
if (this.binding.getButton().length > 1) {
|
||||||
x += (this.width / 2 - this.iconWidth / 2) - 4;
|
x += (this.width / 2 - this.iconWidth / 2) - 4;
|
||||||
}
|
}
|
||||||
var size = MidnightControlsRenderer.drawButton(matrices, x, this.getY(), this.binding, MinecraftClient.getInstance());
|
var size = MidnightControlsRenderer.drawButton(context, x, this.getY(), this.binding, MinecraftClient.getInstance());
|
||||||
this.iconWidth = size.length();
|
this.iconWidth = size.length();
|
||||||
return size.height();
|
return size.height();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ import dev.lambdaurora.spruceui.SpruceTexts;
|
|||||||
import dev.lambdaurora.spruceui.widget.SpruceButtonWidget;
|
import dev.lambdaurora.spruceui.widget.SpruceButtonWidget;
|
||||||
import dev.lambdaurora.spruceui.widget.container.SpruceContainerWidget;
|
import dev.lambdaurora.spruceui.widget.container.SpruceContainerWidget;
|
||||||
import eu.midnightdust.midnightcontrols.client.gui.MidnightControlsSettingsScreen;
|
import eu.midnightdust.midnightcontrols.client.gui.MidnightControlsSettingsScreen;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.option.ControlsOptionsScreen;
|
import net.minecraft.client.gui.screen.option.ControlsOptionsScreen;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import org.aperlambda.lambdacommon.utils.function.Predicates;
|
import org.aperlambda.lambdacommon.utils.function.Predicates;
|
||||||
|
|
||||||
@@ -58,11 +58,11 @@ public class ControllerControlsWidget extends SpruceContainerWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void renderWidget(MatrixStack matrices, int mouseX, int mouseY, float delta) {
|
public void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
|
||||||
drawCenteredTextWithShadow(matrices, this.client.textRenderer, Text.translatable("midnightcontrols.menu.title.controller_controls"),
|
context.drawCenteredTextWithShadow(this.client.textRenderer, Text.translatable("midnightcontrols.menu.title.controller_controls"),
|
||||||
this.getX() + this.width / 2, this.getY() + 4, 16777215);
|
this.getX() + this.width / 2, this.getY() + 4, 16777215);
|
||||||
this.resetButton.setActive(InputManager.streamBindings().anyMatch(Predicates.not(ButtonBinding::isDefault)));
|
this.resetButton.setActive(InputManager.streamBindings().anyMatch(Predicates.not(ButtonBinding::isDefault)));
|
||||||
super.renderWidget(matrices, mouseX, mouseY, delta);
|
super.renderWidget(context, mouseX, mouseY, delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void finishBindingEdit(int... buttons) {
|
public void finishBindingEdit(int... buttons) {
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import dev.lambdaurora.spruceui.widget.container.SpruceEntryListWidget;
|
|||||||
import dev.lambdaurora.spruceui.widget.container.SpruceParentWidget;
|
import dev.lambdaurora.spruceui.widget.container.SpruceParentWidget;
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
import net.fabricmc.api.Environment;
|
import net.fabricmc.api.Environment;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.resource.language.I18n;
|
import net.minecraft.client.resource.language.I18n;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
@@ -226,14 +227,14 @@ public class ControlsListWidget extends SpruceEntryListWidget<ControlsListWidget
|
|||||||
/* Rendering */
|
/* Rendering */
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void renderWidget(MatrixStack matrices, int mouseX, int mouseY, float delta) {
|
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
|
||||||
boolean focused = gui.focusedBinding == this.binding;
|
boolean focused = gui.focusedBinding == this.binding;
|
||||||
|
|
||||||
var textRenderer = ControlsListWidget.this.client.textRenderer;
|
var textRenderer = ControlsListWidget.this.client.textRenderer;
|
||||||
int height = this.getHeight();
|
int height = this.getHeight();
|
||||||
//float textX = (float) (this.getX() + 70 - ControlsListWidget.this.maxTextLength);
|
//float textX = (float) (this.getX() + 70 - ControlsListWidget.this.maxTextLength);
|
||||||
int textY = this.getY() + height / 2;
|
int textY = this.getY() + height / 2;
|
||||||
textRenderer.draw(matrices, this.bindingName, this.getX(), (float) (textY - 9 / 2), 16777215);
|
context.drawText(textRenderer, this.bindingName, this.getX(), (textY - 9 / 2), 16777215, true);
|
||||||
|
|
||||||
this.resetButton.setVisible(!focused);
|
this.resetButton.setVisible(!focused);
|
||||||
this.unbindButton.setVisible(focused);
|
this.unbindButton.setVisible(focused);
|
||||||
@@ -252,7 +253,7 @@ public class ControlsListWidget extends SpruceEntryListWidget<ControlsListWidget
|
|||||||
this.editButton.setMessage(text.formatted(Formatting.GOLD));
|
this.editButton.setMessage(text.formatted(Formatting.GOLD));
|
||||||
}
|
}
|
||||||
|
|
||||||
this.children.forEach(widget -> widget.render(matrices, mouseX, mouseY, delta));
|
this.children.forEach(widget -> widget.render(context, mouseX, mouseY, delta));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -289,8 +290,8 @@ public class ControlsListWidget extends SpruceEntryListWidget<ControlsListWidget
|
|||||||
/* Rendering */
|
/* Rendering */
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void renderWidget(MatrixStack matrices, int mouseX, int mouseY, float delta) {
|
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
|
||||||
this.separatorWidget.render(matrices, mouseX, mouseY, delta);
|
this.separatorWidget.render(context, mouseX, mouseY, delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package eu.midnightdust.midnightcontrols.client.mixin;
|
package eu.midnightdust.midnightcontrols.client.mixin;
|
||||||
|
|
||||||
import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
|
import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.ChatScreen;
|
import net.minecraft.client.gui.screen.ChatScreen;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.gui.widget.TextFieldWidget;
|
import net.minecraft.client.gui.widget.TextFieldWidget;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
@@ -25,11 +25,11 @@ public abstract class ChatScreenMixin extends Screen {
|
|||||||
if (MidnightControlsConfig.moveChat) chatField.setY(4);
|
if (MidnightControlsConfig.moveChat) chatField.setY(4);
|
||||||
}
|
}
|
||||||
@Inject(method = "render", at = @At("HEAD"))
|
@Inject(method = "render", at = @At("HEAD"))
|
||||||
private void midnightcontrols$moveInputFieldBackground(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
private void midnightcontrols$moveInputFieldBackground(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
||||||
if (MidnightControlsConfig.moveChat) matrices.translate(0f, -this.height + 16, 0f);
|
if (MidnightControlsConfig.moveChat) context.getMatrices().translate(0f, -this.height + 16, 0f);
|
||||||
}
|
}
|
||||||
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/widget/TextFieldWidget;render(Lnet/minecraft/client/util/math/MatrixStack;IIF)V", shift = At.Shift.BEFORE))
|
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/widget/TextFieldWidget;render(Lnet/minecraft/client/gui/DrawContext;IIF)V", shift = At.Shift.BEFORE))
|
||||||
private void midnightcontrols$dontMoveOtherStuff(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
private void midnightcontrols$dontMoveOtherStuff(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
||||||
if (MidnightControlsConfig.moveChat) matrices.translate(0f, this.height - 16, 0f);
|
if (MidnightControlsConfig.moveChat) context.getMatrices().translate(0f, this.height - 16, 0f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,24 +12,33 @@ package eu.midnightdust.midnightcontrols.client.mixin;
|
|||||||
import eu.midnightdust.midnightcontrols.ControlsMode;
|
import eu.midnightdust.midnightcontrols.ControlsMode;
|
||||||
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
|
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
|
||||||
import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
|
import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
|
||||||
|
import eu.midnightdust.midnightcontrols.client.gui.MidnightControlsRenderer;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.render.GameRenderer;
|
import net.minecraft.client.render.GameRenderer;
|
||||||
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import org.spongepowered.asm.mixin.Final;
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
|
||||||
|
|
||||||
@Mixin(GameRenderer.class)
|
@Mixin(GameRenderer.class)
|
||||||
public class GameRendererMixin {
|
public class GameRendererMixin {
|
||||||
@Shadow
|
@Shadow
|
||||||
@Final
|
@Final
|
||||||
private MinecraftClient client;
|
MinecraftClient client;
|
||||||
|
|
||||||
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Mouse;getX()D", shift = At.Shift.BEFORE))
|
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Mouse;getX()D", shift = At.Shift.BEFORE))
|
||||||
private void onRender(float tickDelta, long startTime, boolean fullRender, CallbackInfo ci) {
|
private void onRender(float tickDelta, long startTime, boolean fullRender, CallbackInfo ci) {
|
||||||
if (this.client.currentScreen != null && MidnightControlsConfig.controlsMode == ControlsMode.CONTROLLER)
|
if (this.client.currentScreen != null && MidnightControlsConfig.controlsMode == ControlsMode.CONTROLLER)
|
||||||
MidnightControlsClient.get().input.onPreRenderScreen(this.client, this.client.currentScreen);
|
MidnightControlsClient.get().input.onPreRenderScreen(this.client, this.client.currentScreen);
|
||||||
}
|
}
|
||||||
|
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;draw()V", shift = At.Shift.BEFORE), locals = LocalCapture.CAPTURE_FAILSOFT)
|
||||||
|
private void renderVirtualCursor(float tickDelta, long startTime, boolean tick, CallbackInfo ci, MatrixStack matrixStack, DrawContext drawContext) {
|
||||||
|
MidnightControlsRenderer.renderVirtualCursor(drawContext, client);
|
||||||
|
drawContext.draw();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import eu.midnightdust.midnightcontrols.client.controller.ButtonBinding;
|
|||||||
import eu.midnightdust.midnightcontrols.client.gui.MidnightControlsRenderer;
|
import eu.midnightdust.midnightcontrols.client.gui.MidnightControlsRenderer;
|
||||||
import eu.midnightdust.midnightcontrols.client.util.HandledScreenAccessor;
|
import eu.midnightdust.midnightcontrols.client.util.HandledScreenAccessor;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.ingame.HandledScreen;
|
import net.minecraft.client.gui.screen.ingame.HandledScreen;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.screen.slot.Slot;
|
import net.minecraft.screen.slot.Slot;
|
||||||
@@ -55,16 +56,15 @@ public abstract class HandledScreenMixin implements HandledScreenAccessor {
|
|||||||
public abstract void midnightcontrols$onMouseClick(@Nullable Slot slot, int slotId, int clickData, SlotActionType actionType);
|
public abstract void midnightcontrols$onMouseClick(@Nullable Slot slot, int slotId, int clickData, SlotActionType actionType);
|
||||||
|
|
||||||
@Inject(method = "render", at = @At("RETURN"))
|
@Inject(method = "render", at = @At("RETURN"))
|
||||||
public void onRender(MatrixStack matrices, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
public void onRender(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) {
|
||||||
if (MidnightControlsConfig.controlsMode == ControlsMode.CONTROLLER && MidnightControlsConfig.hudEnable) {
|
if (MidnightControlsConfig.controlsMode == ControlsMode.CONTROLLER && MidnightControlsConfig.hudEnable) {
|
||||||
var client = MinecraftClient.getInstance();
|
var client = MinecraftClient.getInstance();
|
||||||
matrices.push();
|
|
||||||
int x = 2, y = client.getWindow().getScaledHeight() - 2 - MidnightControlsRenderer.ICON_SIZE;
|
int x = 2, y = client.getWindow().getScaledHeight() - 2 - MidnightControlsRenderer.ICON_SIZE;
|
||||||
if (MidnightControlsCompat.isEMIPresent() && EMICompat.isEMIEnabled()) {
|
if (MidnightControlsCompat.isEMIPresent() && EMICompat.isEMIEnabled()) {
|
||||||
x += 42;
|
x += 42;
|
||||||
}
|
}
|
||||||
if (!ButtonBinding.TAKE_ALL.isNotBound()) x = MidnightControlsRenderer.drawButtonTip(matrices, x, y, ButtonBinding.TAKE_ALL,true, client) + 2;
|
if (!ButtonBinding.TAKE_ALL.isNotBound()) x = MidnightControlsRenderer.drawButtonTip(context, x, y, ButtonBinding.TAKE_ALL,true, client) + 2;
|
||||||
if (!ButtonBinding.EXIT.isNotBound()) x = MidnightControlsRenderer.drawButtonTip(matrices, x, y, ButtonBinding.EXIT, true, client) + 2;
|
if (!ButtonBinding.EXIT.isNotBound()) x = MidnightControlsRenderer.drawButtonTip(context, x, y, ButtonBinding.EXIT, true, client) + 2;
|
||||||
if (MidnightControlsCompat.isReiPresent()) {
|
if (MidnightControlsCompat.isReiPresent()) {
|
||||||
x = 2;
|
x = 2;
|
||||||
y -= 24;
|
y -= 24;
|
||||||
@@ -74,9 +74,8 @@ public abstract class HandledScreenMixin implements HandledScreenAccessor {
|
|||||||
- client.textRenderer.getWidth(Text.translatable("midnightcontrols.action.quick_move"))
|
- client.textRenderer.getWidth(Text.translatable("midnightcontrols.action.quick_move"))
|
||||||
- MidnightControlsRenderer.getBindingIconWidth(ButtonBinding.TAKE) - MidnightControlsRenderer.getBindingIconWidth(ButtonBinding.QUICK_MOVE);
|
- MidnightControlsRenderer.getBindingIconWidth(ButtonBinding.TAKE) - MidnightControlsRenderer.getBindingIconWidth(ButtonBinding.QUICK_MOVE);
|
||||||
}
|
}
|
||||||
if (!ButtonBinding.TAKE.isNotBound()) x = MidnightControlsRenderer.drawButtonTip(matrices, x, y, ButtonBinding.TAKE, true, client);
|
if (!ButtonBinding.TAKE.isNotBound()) x = MidnightControlsRenderer.drawButtonTip(context, x, y, ButtonBinding.TAKE, true, client);
|
||||||
if (!ButtonBinding.QUICK_MOVE.isNotBound()) MidnightControlsRenderer.drawButtonTip(matrices, x, y, ButtonBinding.QUICK_MOVE, true, client);
|
if (!ButtonBinding.QUICK_MOVE.isNotBound()) MidnightControlsRenderer.drawButtonTip(context, x, y, ButtonBinding.QUICK_MOVE, true, client);
|
||||||
matrices.pop();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,12 +12,15 @@ package eu.midnightdust.midnightcontrols.client.mixin;
|
|||||||
import eu.midnightdust.midnightcontrols.MidnightControls;
|
import eu.midnightdust.midnightcontrols.MidnightControls;
|
||||||
import eu.midnightdust.midnightcontrols.MidnightControlsFeature;
|
import eu.midnightdust.midnightcontrols.MidnightControlsFeature;
|
||||||
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
|
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
|
||||||
|
import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
|
||||||
import eu.midnightdust.midnightcontrols.client.MidnightInput;
|
import eu.midnightdust.midnightcontrols.client.MidnightInput;
|
||||||
import eu.midnightdust.midnightcontrols.client.gui.MidnightControlsRenderer;
|
import eu.midnightdust.midnightcontrols.client.gui.MidnightControlsRenderer;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.network.ClientPlayerEntity;
|
import net.minecraft.client.network.ClientPlayerEntity;
|
||||||
import net.minecraft.client.network.ClientPlayerInteractionManager;
|
import net.minecraft.client.network.ClientPlayerInteractionManager;
|
||||||
|
import net.minecraft.client.render.BufferBuilderStorage;
|
||||||
import net.minecraft.client.render.GameRenderer;
|
import net.minecraft.client.render.GameRenderer;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.client.world.ClientWorld;
|
import net.minecraft.client.world.ClientWorld;
|
||||||
@@ -31,6 +34,7 @@ import net.minecraft.util.math.BlockPos;
|
|||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.Vec3d;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.lwjgl.glfw.GLFW;
|
||||||
import org.objectweb.asm.Opcodes;
|
import org.objectweb.asm.Opcodes;
|
||||||
import org.spongepowered.asm.mixin.Final;
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
@@ -61,6 +65,8 @@ public abstract class MinecraftClientMixin {
|
|||||||
@Shadow
|
@Shadow
|
||||||
private int itemUseCooldown;
|
private int itemUseCooldown;
|
||||||
|
|
||||||
|
@Shadow public abstract BufferBuilderStorage getBufferBuilders();
|
||||||
|
|
||||||
private BlockPos midnightcontrols$lastTargetPos;
|
private BlockPos midnightcontrols$lastTargetPos;
|
||||||
private Vec3d midnightcontrols$lastPos;
|
private Vec3d midnightcontrols$lastPos;
|
||||||
private Direction midnightcontrols$lastTargetSide;
|
private Direction midnightcontrols$lastTargetSide;
|
||||||
@@ -113,9 +119,13 @@ public abstract class MinecraftClientMixin {
|
|||||||
private void onRender(CallbackInfo ci) {
|
private void onRender(CallbackInfo ci) {
|
||||||
MidnightControlsClient.get().onRender((MinecraftClient) (Object) (this));
|
MidnightControlsClient.get().onRender((MinecraftClient) (Object) (this));
|
||||||
}
|
}
|
||||||
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/GameRenderer;render(FJZ)V", shift = At.Shift.AFTER))
|
|
||||||
private void renderVirtualCursor(boolean fullRender, CallbackInfo ci) {
|
@Inject(at = @At("TAIL"), method = "setScreen")
|
||||||
MidnightControlsRenderer.renderVirtualCursor(new MatrixStack(), (MinecraftClient) (Object) this);
|
private void setScreen(Screen screen, CallbackInfo info) {
|
||||||
|
if (MidnightControlsConfig.hideNormalMouse){
|
||||||
|
if (screen != null) GLFW.glfwSetInputMode(MinecraftClient.getInstance().getWindow().getHandle(), GLFW.GLFW_CURSOR, GLFW.GLFW_CURSOR_HIDDEN);
|
||||||
|
else GLFW.glfwSetInputMode(MinecraftClient.getInstance().getWindow().getHandle(), GLFW.GLFW_CURSOR, GLFW.GLFW_CURSOR_DISABLED);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "doItemUse()V", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/hit/HitResult;getType()Lnet/minecraft/util/hit/HitResult$Type;"), locals = LocalCapture.CAPTURE_FAILEXCEPTION, cancellable = true)
|
@Inject(method = "doItemUse()V", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/hit/HitResult;getType()Lnet/minecraft/util/hit/HitResult$Type;"), locals = LocalCapture.CAPTURE_FAILEXCEPTION, cancellable = true)
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import eu.midnightdust.midnightcontrols.client.controller.ButtonBinding;
|
|||||||
import eu.midnightdust.midnightcontrols.client.util.KeyBindingAccessor;
|
import eu.midnightdust.midnightcontrols.client.util.KeyBindingAccessor;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.option.KeyBinding;
|
import net.minecraft.client.option.KeyBinding;
|
||||||
import net.minecraft.client.option.StickyKeyBinding;
|
import net.minecraft.client.option.StickyKeyBinding;
|
||||||
@@ -51,10 +52,10 @@ public class ButtonBindingRingAction extends RingAction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawIcon(@NotNull MatrixStack matrices, @NotNull TextRenderer textRenderer, int x, int y, boolean hovered) {
|
public void drawIcon(@NotNull DrawContext context, @NotNull TextRenderer textRenderer, int x, int y, boolean hovered) {
|
||||||
List<OrderedText> lines = textRenderer.wrapLines(Text.translatable(this.getName()), MidnightRing.ELEMENT_SIZE);
|
List<OrderedText> lines = textRenderer.wrapLines(Text.translatable(this.getName()), MidnightRing.ELEMENT_SIZE);
|
||||||
for (int i = 0; i < lines.size(); ++i) {
|
for (int i = 0; i < lines.size(); ++i) {
|
||||||
drawCenteredTextWithShadow(matrices, textRenderer, lines.get(i), x + MidnightRing.ELEMENT_SIZE / 2, y + MidnightRing.ELEMENT_SIZE / 2 - textRenderer.fontHeight / 2 * (lines.size()-1) - textRenderer.fontHeight / 2 + textRenderer.fontHeight * i, 0xffffff);
|
context.drawCenteredTextWithShadow(textRenderer, lines.get(i), x + MidnightRing.ELEMENT_SIZE / 2, y + MidnightRing.ELEMENT_SIZE / 2 - textRenderer.fontHeight / 2 * (lines.size()-1) - textRenderer.fontHeight / 2 + textRenderer.fontHeight * i, 0xffffff);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,8 @@ package eu.midnightdust.midnightcontrols.client.ring;
|
|||||||
|
|
||||||
import com.electronwill.nightconfig.core.Config;
|
import com.electronwill.nightconfig.core.Config;
|
||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.gui.DrawableHelper;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import org.aperlambda.lambdacommon.utils.Nameable;
|
import org.aperlambda.lambdacommon.utils.Nameable;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@@ -28,7 +27,7 @@ import java.util.function.Supplier;
|
|||||||
* @version 1.5.0
|
* @version 1.5.0
|
||||||
* @since 1.4.0
|
* @since 1.4.0
|
||||||
*/
|
*/
|
||||||
public abstract class RingAction extends DrawableHelper implements Nameable {
|
public abstract class RingAction implements Nameable {
|
||||||
protected boolean activated = false;
|
protected boolean activated = false;
|
||||||
|
|
||||||
public RingAction() {
|
public RingAction() {
|
||||||
@@ -60,12 +59,12 @@ public abstract class RingAction extends DrawableHelper implements Nameable {
|
|||||||
|
|
||||||
public abstract void onAction(@NotNull RingButtonMode mode);
|
public abstract void onAction(@NotNull RingButtonMode mode);
|
||||||
|
|
||||||
public void render(@NotNull MatrixStack matrices, @NotNull TextRenderer textRenderer, int x, int y, boolean hovered, int index) {
|
public void render(@NotNull DrawContext context, @NotNull TextRenderer textRenderer, int x, int y, boolean hovered, int index) {
|
||||||
fill(matrices, x, y, x + MidnightRing.ELEMENT_SIZE, y + MidnightRing.ELEMENT_SIZE, hovered || RingPage.selected == index ? 0xbb777777 : 0xbb000000);
|
context.fill(x, y, x + MidnightRing.ELEMENT_SIZE, y + MidnightRing.ELEMENT_SIZE, hovered || RingPage.selected == index ? 0xbb777777 : 0xbb000000);
|
||||||
drawIcon(matrices, textRenderer, x, y, hovered);
|
drawIcon(context, textRenderer, x, y, hovered);
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void drawIcon(@NotNull MatrixStack matrices, @NotNull TextRenderer textRenderer, int x, int y, boolean hovered);
|
public abstract void drawIcon(@NotNull DrawContext context, @NotNull TextRenderer textRenderer, int x, int y, boolean hovered);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a factory for {@link RingAction}.
|
* Represents a factory for {@link RingAction}.
|
||||||
|
|||||||
@@ -9,21 +9,12 @@
|
|||||||
|
|
||||||
package eu.midnightdust.midnightcontrols.client.ring;
|
package eu.midnightdust.midnightcontrols.client.ring;
|
||||||
|
|
||||||
import com.electronwill.nightconfig.core.Config;
|
|
||||||
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
|
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
|
||||||
import eu.midnightdust.midnightcontrols.client.controller.ButtonBinding;
|
|
||||||
import eu.midnightdust.midnightcontrols.client.controller.InputManager;
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
|
||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.gui.DrawableHelper;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.ChatScreen;
|
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a ring page.
|
* Represents a ring page.
|
||||||
*
|
*
|
||||||
@@ -31,7 +22,7 @@ import java.util.Optional;
|
|||||||
* @version 1.5.0
|
* @version 1.5.0
|
||||||
* @since 1.4.0
|
* @since 1.4.0
|
||||||
*/
|
*/
|
||||||
public class RingPage extends DrawableHelper {
|
public class RingPage {
|
||||||
public static final RingPage DEFAULT = new RingPage("Default");
|
public static final RingPage DEFAULT = new RingPage("Default");
|
||||||
|
|
||||||
public final String name;
|
public final String name;
|
||||||
@@ -48,17 +39,17 @@ public class RingPage extends DrawableHelper {
|
|||||||
/**
|
/**
|
||||||
* Renders the ring page.
|
* Renders the ring page.
|
||||||
*
|
*
|
||||||
* @param matrices the matrices
|
* @param context the context
|
||||||
* @param width the screen width
|
* @param width the screen width
|
||||||
* @param height the screen height
|
* @param height the screen height
|
||||||
* @param mouseX the mouse X-coordinate
|
* @param mouseX the mouse X-coordinate
|
||||||
* @param mouseY the mouse Y-coordinate
|
* @param mouseY the mouse Y-coordinate
|
||||||
* @param tickDelta the tick delta
|
* @param tickDelta the tick delta
|
||||||
*/
|
*/
|
||||||
public void render(@NotNull MatrixStack matrices, @NotNull TextRenderer textRenderer, int width, int height, int mouseX, int mouseY, float tickDelta) {
|
public void render(@NotNull DrawContext context, @NotNull TextRenderer textRenderer, int width, int height, int mouseX, int mouseY, float tickDelta) {
|
||||||
int centerX = width / 2;
|
int centerX = width / 2;
|
||||||
int centerY = height / 2;
|
int centerY = height / 2;
|
||||||
if (MidnightControlsClient.get().ring.getMaxPages() > 1) drawCenteredTextWithShadow(matrices, textRenderer, name, centerX, 5, 0xffffff);
|
if (MidnightControlsClient.get().ring.getMaxPages() > 1) context.drawCenteredTextWithShadow(textRenderer, name, centerX, 5, 0xffffff);
|
||||||
|
|
||||||
int offset = MidnightRing.ELEMENT_SIZE + (MidnightRing.ELEMENT_SIZE / 2) + 5;
|
int offset = MidnightRing.ELEMENT_SIZE + (MidnightRing.ELEMENT_SIZE / 2) + 5;
|
||||||
|
|
||||||
@@ -67,7 +58,7 @@ public class RingPage extends DrawableHelper {
|
|||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
var ringAction = this.actions[i];
|
var ringAction = this.actions[i];
|
||||||
if (ringAction != null)
|
if (ringAction != null)
|
||||||
ringAction.render(matrices, textRenderer, x, y, isHovered(x, y, mouseX, mouseY), i);
|
ringAction.render(context, textRenderer, x, y, isHovered(x, y, mouseX, mouseY), i);
|
||||||
x += MidnightRing.ELEMENT_SIZE + 5;
|
x += MidnightRing.ELEMENT_SIZE + 5;
|
||||||
}
|
}
|
||||||
y += MidnightRing.ELEMENT_SIZE + 5;
|
y += MidnightRing.ELEMENT_SIZE + 5;
|
||||||
@@ -75,7 +66,7 @@ public class RingPage extends DrawableHelper {
|
|||||||
for (int i = 3; i < 5; i++) {
|
for (int i = 3; i < 5; i++) {
|
||||||
var ringAction = this.actions[i];
|
var ringAction = this.actions[i];
|
||||||
if (ringAction != null)
|
if (ringAction != null)
|
||||||
ringAction.render(matrices, textRenderer, x, y, isHovered(x, y, mouseX, mouseY), i);
|
ringAction.render(context, textRenderer, x, y, isHovered(x, y, mouseX, mouseY), i);
|
||||||
x += (MidnightRing.ELEMENT_SIZE + 5) * 2;
|
x += (MidnightRing.ELEMENT_SIZE + 5) * 2;
|
||||||
}
|
}
|
||||||
y += MidnightRing.ELEMENT_SIZE + 5;
|
y += MidnightRing.ELEMENT_SIZE + 5;
|
||||||
@@ -83,7 +74,7 @@ public class RingPage extends DrawableHelper {
|
|||||||
for (int i = 5; i < 8; i++) {
|
for (int i = 5; i < 8; i++) {
|
||||||
var ringAction = this.actions[i];
|
var ringAction = this.actions[i];
|
||||||
if (ringAction != null)
|
if (ringAction != null)
|
||||||
ringAction.render(matrices, textRenderer, x, y, isHovered(x, y, mouseX, mouseY), i);
|
ringAction.render(context, textRenderer, x, y, isHovered(x, y, mouseX, mouseY), i);
|
||||||
x += MidnightRing.ELEMENT_SIZE + 5;
|
x += MidnightRing.ELEMENT_SIZE + 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,33 +84,55 @@
|
|||||||
"midnightcontrols.hud_side.left": "Links",
|
"midnightcontrols.hud_side.left": "Links",
|
||||||
"midnightcontrols.hud_side.right": "Rechts",
|
"midnightcontrols.hud_side.right": "Rechts",
|
||||||
"midnightcontrols.menu.analog_movement": "Analoge Bewegung",
|
"midnightcontrols.menu.analog_movement": "Analoge Bewegung",
|
||||||
|
"midnightcontrols.menu.analog_movement.tooltip": "Aktiviert analoge Bewegung, wenn möglich.",
|
||||||
"midnightcontrols.menu.auto_switch_mode": "Automatischer Wechsel",
|
"midnightcontrols.menu.auto_switch_mode": "Automatischer Wechsel",
|
||||||
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "Ob der Eingabemodus automatisch auf Controller eingestellt werden soll, wenn einer verbunden wird.",
|
||||||
"midnightcontrols.menu.controller": "Controller",
|
"midnightcontrols.menu.controller": "Controller",
|
||||||
"midnightcontrols.menu.controller2": "Zweiter Controller",
|
"midnightcontrols.menu.controller2": "Zweiter Controller",
|
||||||
|
"midnightcontrols.menu.controller2.tooltip": "Zweiter Controller, zum Beispiel für Joy-Cons.",
|
||||||
"midnightcontrols.menu.controller_type": "Controller-Typ",
|
"midnightcontrols.menu.controller_type": "Controller-Typ",
|
||||||
|
"midnightcontrols.menu.controller_type.tooltip": "Der Controllertyp für den die Knöpfe angezeigt werden sollen.",
|
||||||
"midnightcontrols.menu.controls_mode": "Modus",
|
"midnightcontrols.menu.controls_mode": "Modus",
|
||||||
|
"midnightcontrols.menu.controls_mode.tooltip": "Der Steuerungsmodus.",
|
||||||
"midnightcontrols.menu.double_tap_to_sprint": "Doppel-Tipp zum Sprinten",
|
"midnightcontrols.menu.double_tap_to_sprint": "Doppel-Tipp zum Sprinten",
|
||||||
"midnightcontrols.menu.fast_block_placing": "Schnelles Bauen",
|
"midnightcontrols.menu.fast_block_placing": "Schnelles Bauen",
|
||||||
|
"midnightcontrols.menu.fast_block_placing.tooltip": "Während des Fliegens im Kreativmodus das schnelle Platzieren von Knöpfen aktivieren. §cWird von manchen Servern als cheaten eingestuft.",
|
||||||
"midnightcontrols.menu.fly_drifting": "Flug-Drifting",
|
"midnightcontrols.menu.fly_drifting": "Flug-Drifting",
|
||||||
|
"midnightcontrols.menu.fly_drifting.tooltip": "Aktiviert das Flug-Drifting von Vanilla Minecraft.",
|
||||||
"midnightcontrols.menu.fly_drifting_vertical": "Vertikales Flug-Drifting",
|
"midnightcontrols.menu.fly_drifting_vertical": "Vertikales Flug-Drifting",
|
||||||
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "Aktiviert das vertikale Flug-Drifting von Vanilla Minecraft",
|
||||||
"midnightcontrols.menu.hud_enable": "HUD aktivieren",
|
"midnightcontrols.menu.hud_enable": "HUD aktivieren",
|
||||||
|
"midnightcontrols.menu.hud_enable.tooltip": "(De-)Aktiviert die Knopfanzeige im Spiel",
|
||||||
"midnightcontrols.menu.hud_side": "HUD-Seite",
|
"midnightcontrols.menu.hud_side": "HUD-Seite",
|
||||||
|
"midnightcontrols.menu.hud_side.tooltip": "Die Position der Knopfanzeige.",
|
||||||
"midnightcontrols.menu.invert_right_x_axis": "X rechts umkehren",
|
"midnightcontrols.menu.invert_right_x_axis": "X rechts umkehren",
|
||||||
"midnightcontrols.menu.invert_right_y_axis": "Y rechts umkehren",
|
"midnightcontrols.menu.invert_right_y_axis": "Y rechts umkehren",
|
||||||
"midnightcontrols.menu.keyboard_controls": "Tastatureinstellungen...",
|
"midnightcontrols.menu.keyboard_controls": "Tastatureinstellungen...",
|
||||||
"midnightcontrols.menu.left_dead_zone": "Tote Zone des linken Sticks",
|
"midnightcontrols.menu.left_dead_zone": "Tote Zone des linken Sticks",
|
||||||
|
"midnightcontrols.menu.left_dead_zone.tooltip": "Die tote Zone für den linken Analogstick.",
|
||||||
"midnightcontrols.menu.mappings.open_input_str": "Öffne den Controller-Mapping Editor",
|
"midnightcontrols.menu.mappings.open_input_str": "Öffne den Controller-Mapping Editor",
|
||||||
"midnightcontrols.menu.max_left_x_value": "Maximalwert Linke X-Achse",
|
"midnightcontrols.menu.max_left_x_value": "Maximalwert Linke X-Achse",
|
||||||
|
"midnightcontrols.menu.max_left_x_value.tooltip": "Ändert den maximalen Wert der linken X-Achse. Nützlich, wenn deine Achse nicht bis zum Maximum geht.",
|
||||||
"midnightcontrols.menu.max_left_y_value": "Maximalwert Linke Y-Achse",
|
"midnightcontrols.menu.max_left_y_value": "Maximalwert Linke Y-Achse",
|
||||||
|
"midnightcontrols.menu.max_left_y_value.tooltip": "Ändert den maximalen Wert der linken Y-Achse. Nützlich, wenn deine Achse nicht bis zum Maximum geht.",
|
||||||
"midnightcontrols.menu.max_right_x_value": "Maximalwert Rechte X-Achse",
|
"midnightcontrols.menu.max_right_x_value": "Maximalwert Rechte X-Achse",
|
||||||
|
"midnightcontrols.menu.max_right_x_value.tooltip": "Ändert den maximalen Wert der rechten X-Achse. Nützlich, wenn deine Achse nicht bis zum Maximum geht.",
|
||||||
"midnightcontrols.menu.max_right_y_value": "Maximalwert Rechte Y-Achse",
|
"midnightcontrols.menu.max_right_y_value": "Maximalwert Rechte Y-Achse",
|
||||||
|
"midnightcontrols.menu.max_right_y_value.tooltip": "Ändert den maximalen Wert der rechten Y-Achse. Nützlich, wenn deine Achse nicht bis zum Maximum geht.",
|
||||||
"midnightcontrols.menu.mouse_speed": "Mausgeschwindigkeit",
|
"midnightcontrols.menu.mouse_speed": "Mausgeschwindigkeit",
|
||||||
|
"midnightcontrols.menu.mouse_speed.tooltip": "Die emulierte Mausgeschwindigkeit des Controllers.",
|
||||||
"midnightcontrols.menu.reacharound.horizontal": "Vorderes Blockplatzieren",
|
"midnightcontrols.menu.reacharound.horizontal": "Vorderes Blockplatzieren",
|
||||||
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "Aktiviert vorderes Platzieren von Blöcken, §cwird von manchen Servern als cheaten eingestuft§r.",
|
||||||
"midnightcontrols.menu.reacharound.vertical": "Vertikales Umgreifen",
|
"midnightcontrols.menu.reacharound.vertical": "Vertikales Umgreifen",
|
||||||
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "Aktiviert vertikales Platzieren von Blöcken, §cwird von manchen Servern als cheaten eingestuft§r.",
|
||||||
"midnightcontrols.menu.reload_controller_mappings": "Controller-Mappings neuladen",
|
"midnightcontrols.menu.reload_controller_mappings": "Controller-Mappings neuladen",
|
||||||
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "Lädt die Controller-Mappings neu.",
|
||||||
"midnightcontrols.menu.right_dead_zone": "Tote Zone des rechten Sticks",
|
"midnightcontrols.menu.right_dead_zone": "Tote Zone des rechten Sticks",
|
||||||
|
"midnightcontrols.menu.right_dead_zone.tooltip": "Die tote Zone für den rechten Analogstick.",
|
||||||
"midnightcontrols.menu.rotation_speed": "Rotationsgeschwindigkeit (X-Achse)",
|
"midnightcontrols.menu.rotation_speed": "Rotationsgeschwindigkeit (X-Achse)",
|
||||||
|
"midnightcontrols.menu.rotation_speed.tooltip": "Die Kamerarotationsgeschwindigkeit im Controllermodus. (X-Achse)",
|
||||||
"midnightcontrols.menu.y_axis_rotation_speed": "Rotationsgeschwindigkeit (Y-Achse)",
|
"midnightcontrols.menu.y_axis_rotation_speed": "Rotationsgeschwindigkeit (Y-Achse)",
|
||||||
|
"midnightcontrols.menu.y_axis_rotation_speed.tooltip": "Die Kamerarotationsgeschwindigkeit im Controllermodus. (Y-Achse)",
|
||||||
"midnightcontrols.menu.separate_controller_profile": "Separates Controller-Profil",
|
"midnightcontrols.menu.separate_controller_profile": "Separates Controller-Profil",
|
||||||
"midnightcontrols.menu.separator.controller": "Controller",
|
"midnightcontrols.menu.separator.controller": "Controller",
|
||||||
"midnightcontrols.menu.separator.general": "Generell",
|
"midnightcontrols.menu.separator.general": "Generell",
|
||||||
@@ -123,34 +145,12 @@
|
|||||||
"midnightcontrols.menu.title.mappings.string": "Mapping-Datei Editor",
|
"midnightcontrols.menu.title.mappings.string": "Mapping-Datei Editor",
|
||||||
"midnightcontrols.menu.title.visual": "Visuelle Optionen",
|
"midnightcontrols.menu.title.visual": "Visuelle Optionen",
|
||||||
"midnightcontrols.menu.unfocused_input": "Unfokussierte Eingabe",
|
"midnightcontrols.menu.unfocused_input": "Unfokussierte Eingabe",
|
||||||
|
"midnightcontrols.menu.unfocused_input.tooltip": "Erlaube Controllereingabe auch wenn das Fenster nicht fokussiert ist.",
|
||||||
"midnightcontrols.menu.virtual_mouse": "Virtuelle Maus",
|
"midnightcontrols.menu.virtual_mouse": "Virtuelle Maus",
|
||||||
|
"midnightcontrols.menu.virtual_mouse.tooltip": "Aktiviere die virtuelle Maus.",
|
||||||
"midnightcontrols.menu.virtual_mouse.skin": "Aussehen der Virtuellen Maus",
|
"midnightcontrols.menu.virtual_mouse.skin": "Aussehen der Virtuellen Maus",
|
||||||
"midnightcontrols.narrator.unbound": "%s entbunden",
|
"midnightcontrols.narrator.unbound": "%s entbunden",
|
||||||
"midnightcontrols.not_bound": "Nicht zugewiesen",
|
"midnightcontrols.not_bound": "Nicht zugewiesen",
|
||||||
"midnightcontrols.tooltip.analog_movement": "Aktiviert analoge Bewegung, wenn möglich.",
|
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "Ob der Eingabemodus automatisch auf Controller eingestellt werden soll, wenn einer verbunden wird.",
|
|
||||||
"midnightcontrols.tooltip.controller2": "Zweiter Controller, zum Beispiel für Joy-Cons.",
|
|
||||||
"midnightcontrols.tooltip.controller_type": "Der Controllertyp für den die Knöpfe angezeigt werden sollen.",
|
|
||||||
"midnightcontrols.tooltip.controls_mode": "Der Steuerungsmodus.",
|
|
||||||
"midnightcontrols.tooltip.fast_block_placing": "Während des Fliegens im Kreativmodus das schnelle Platzieren von Knöpfen aktivieren. §cWird von manchen Servern als cheaten eingestuft.",
|
|
||||||
"midnightcontrols.tooltip.fly_drifting": "Aktiviert das Flug-Drifting von Vanilla Minecraft.",
|
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "Aktiviert das vertikale Flug-Drifting von Vanilla Minecraft",
|
|
||||||
"midnightcontrols.tooltip.hud_enable": "(De-)Aktiviert die Knopfanzeige im Spiel",
|
|
||||||
"midnightcontrols.tooltip.hud_side": "Die Position der Knopfanzeige.",
|
|
||||||
"midnightcontrols.tooltip.left_dead_zone": "Die tote Zone für den linken Analogstick.",
|
|
||||||
"midnightcontrols.tooltip.max_left_x_value": "Ändert den maximalen Wert der linken X-Achse. Nützlich, wenn deine Achse nicht bis zum Maximum geht.",
|
|
||||||
"midnightcontrols.tooltip.max_left_y_value": "Ändert den maximalen Wert der linken Y-Achse. Nützlich, wenn deine Achse nicht bis zum Maximum geht.",
|
|
||||||
"midnightcontrols.tooltip.max_right_x_value": "Ändert den maximalen Wert der rechten X-Achse. Nützlich, wenn deine Achse nicht bis zum Maximum geht.",
|
|
||||||
"midnightcontrols.tooltip.max_right_y_value": "Ändert den maximalen Wert der rechten Y-Achse. Nützlich, wenn deine Achse nicht bis zum Maximum geht.",
|
|
||||||
"midnightcontrols.tooltip.mouse_speed": "Die emulierte Mausgeschwindigkeit des Controllers.",
|
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "Aktiviert vorderes Platzieren von Blöcken, §cwird von manchen Servern als cheaten eingestuft§r.",
|
|
||||||
"midnightcontrols.tooltip.reacharound.vertical": "Aktiviert vertikales Platzieren von Blöcken, §cwird von manchen Servern als cheaten eingestuft§r.",
|
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "Lädt die Controller-Mappings neu.",
|
|
||||||
"midnightcontrols.tooltip.right_dead_zone": "Die tote Zone für den rechten Analogstick.",
|
|
||||||
"midnightcontrols.tooltip.rotation_speed": "Die Kamerarotationsgeschwindigkeit im Controllermodus. (X-Achse)",
|
|
||||||
"midnightcontrols.tooltip.y_axis_rotation_speed": "Die Kamerarotationsgeschwindigkeit im Controllermodus. (Y-Achse)",
|
|
||||||
"midnightcontrols.tooltip.unfocused_input": "Erlaube Controllereingabe auch wenn das Fenster nicht fokussiert ist.",
|
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "Aktiviere die virtuelle Maus.",
|
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "Standard Hell",
|
"midnightcontrols.virtual_mouse.skin.default_light": "Standard Hell",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "Standard Dunkel",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "Standard Dunkel",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "Alternativ Hell",
|
"midnightcontrols.virtual_mouse.skin.second_light": "Alternativ Hell",
|
||||||
|
|||||||
@@ -125,37 +125,62 @@
|
|||||||
"midnightcontrols.hud_side.left": "Left",
|
"midnightcontrols.hud_side.left": "Left",
|
||||||
"midnightcontrols.hud_side.right": "Right",
|
"midnightcontrols.hud_side.right": "Right",
|
||||||
"midnightcontrols.menu.analog_movement": "Analog Movement",
|
"midnightcontrols.menu.analog_movement": "Analog Movement",
|
||||||
|
"midnightcontrols.menu.analog_movement.tooltip": "When possible, enables analog movement.",
|
||||||
"midnightcontrols.menu.auto_switch_mode": "Auto Switch Mode",
|
"midnightcontrols.menu.auto_switch_mode": "Auto Switch Mode",
|
||||||
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "Whether the controls mode should be switched to Controller automatically if one is connected.",
|
||||||
"midnightcontrols.menu.controller": "Controller",
|
"midnightcontrols.menu.controller": "Controller",
|
||||||
"midnightcontrols.menu.controller2": "Second Controller",
|
"midnightcontrols.menu.controller2": "Second Controller",
|
||||||
|
"midnightcontrols.menu.controller2.tooltip": "Second controller to use, which allows (for example) Joy-Cons support.",
|
||||||
"midnightcontrols.menu.controller_toggle_sneak": "Toggle Sneak on Controller",
|
"midnightcontrols.menu.controller_toggle_sneak": "Toggle Sneak on Controller",
|
||||||
"midnightcontrols.menu.controller_toggle_sprint": "Toggle Sprint on Controller",
|
"midnightcontrols.menu.controller_toggle_sprint": "Toggle Sprint on Controller",
|
||||||
"midnightcontrols.menu.controller_type": "Controller Type",
|
"midnightcontrols.menu.controller_type": "Controller Type",
|
||||||
|
"midnightcontrols.menu.controller_type.tooltip": "The controller type you're using (needed to display the correct buttons)",
|
||||||
"midnightcontrols.menu.controls_mode": "Mode",
|
"midnightcontrols.menu.controls_mode": "Mode",
|
||||||
|
"midnightcontrols.menu.controls_mode.tooltip": "The controls mode.",
|
||||||
"midnightcontrols.menu.double_tap_to_sprint": "Double-Tap to Sprint",
|
"midnightcontrols.menu.double_tap_to_sprint": "Double-Tap to Sprint",
|
||||||
|
"midnightcontrols.menu.double_tap_to_sprint.tooltip": "Toggles whether the Walk Forwards key makes the player sprint when double-tapped quickly",
|
||||||
"midnightcontrols.menu.fast_block_placing": "Fast Block Placing",
|
"midnightcontrols.menu.fast_block_placing": "Fast Block Placing",
|
||||||
|
"midnightcontrols.menu.fast_block_placing.tooltip": "While flying in creative mode, enables fast block placing depending on your speed. §cOn some servers this might be considered as cheating.",
|
||||||
"midnightcontrols.menu.fly_drifting": "Fly Drifting",
|
"midnightcontrols.menu.fly_drifting": "Fly Drifting",
|
||||||
|
"midnightcontrols.menu.fly_drifting.tooltip": "While flying, enables Vanilla drifting/inertia.",
|
||||||
"midnightcontrols.menu.fly_drifting_vertical": "Vertical Fly Drifting",
|
"midnightcontrols.menu.fly_drifting_vertical": "Vertical Fly Drifting",
|
||||||
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "While flying, enables Vanilla vertical drifting/intertia.",
|
||||||
"midnightcontrols.menu.hud_enable": "Enable HUD",
|
"midnightcontrols.menu.hud_enable": "Enable HUD",
|
||||||
|
"midnightcontrols.menu.hud_enable.tooltip": "Toggles the on-screen controller button indicator.",
|
||||||
"midnightcontrols.menu.hud_side": "HUD Side",
|
"midnightcontrols.menu.hud_side": "HUD Side",
|
||||||
|
"midnightcontrols.menu.hud_side.tooltip": "The position of the HUD.",
|
||||||
"midnightcontrols.menu.invert_right_x_axis": "Invert Right X",
|
"midnightcontrols.menu.invert_right_x_axis": "Invert Right X",
|
||||||
"midnightcontrols.menu.invert_right_y_axis": "Invert Right Y",
|
"midnightcontrols.menu.invert_right_y_axis": "Invert Right Y",
|
||||||
"midnightcontrols.menu.joystick_as_mouse": "Always use left stick as mouse",
|
"midnightcontrols.menu.joystick_as_mouse": "Always use left stick as mouse",
|
||||||
|
"midnightcontrols.menu.joystick_as_mouse.tooltip": "Make the joystick behave like a mouse in every menu.",
|
||||||
"midnightcontrols.menu.keyboard_controls": "Keyboard Controls...",
|
"midnightcontrols.menu.keyboard_controls": "Keyboard Controls...",
|
||||||
"midnightcontrols.menu.left_dead_zone": "Left Stick Dead Zone",
|
"midnightcontrols.menu.left_dead_zone": "Left Stick Dead Zone",
|
||||||
|
"midnightcontrols.menu.left_dead_zone.tooltip": "The dead zone for the controller's left analog stick.",
|
||||||
"midnightcontrols.menu.mappings.open_input_str": "Open Mappings File Editor",
|
"midnightcontrols.menu.mappings.open_input_str": "Open Mappings File Editor",
|
||||||
"midnightcontrols.menu.max_left_x_value": "Left X Axis Max Value",
|
"midnightcontrols.menu.max_left_x_value": "Left X Axis Max Value",
|
||||||
|
"midnightcontrols.menu.max_left_x_value.tooltip": "Changes what the mod considers the highest value for the left X axis. Useful if your axis does not use the full range and seems slow.",
|
||||||
"midnightcontrols.menu.max_left_y_value": "Left Y Axis Max Value",
|
"midnightcontrols.menu.max_left_y_value": "Left Y Axis Max Value",
|
||||||
|
"midnightcontrols.menu.max_left_y_value.tooltip": "Changes what the mod considers the highest value for the left Y axis. Useful if your axis does not use the full range and seems slow.",
|
||||||
"midnightcontrols.menu.max_right_x_value": "Right X Axis Max Value",
|
"midnightcontrols.menu.max_right_x_value": "Right X Axis Max Value",
|
||||||
|
"midnightcontrols.menu.max_right_x_value.tooltip": "Changes what the mod considers the highest value for the right X axis. Useful if your axis does not use the full range and seems slow.",
|
||||||
"midnightcontrols.menu.max_right_y_value": "Right Y Axis Max Value",
|
"midnightcontrols.menu.max_right_y_value": "Right Y Axis Max Value",
|
||||||
|
"midnightcontrols.menu.max_right_y_value.tooltip": "Changes what the mod considers the highest value for the right Y axis. Useful if your axis does not use the full range and seems slow.",
|
||||||
"midnightcontrols.menu.mouse_speed": "Mouse Speed",
|
"midnightcontrols.menu.mouse_speed": "Mouse Speed",
|
||||||
|
"midnightcontrols.menu.mouse_speed.tooltip": "The controller's emulated mouse speed.",
|
||||||
"midnightcontrols.menu.move_chat": "Move chat input box to top",
|
"midnightcontrols.menu.move_chat": "Move chat input box to top",
|
||||||
|
"midnightcontrols.menu.move_chat.tooltip": "Moves the chat input field to the top, for better input on devices with on-screen keyboards.",
|
||||||
"midnightcontrols.menu.reacharound.horizontal": "Front Block Placing",
|
"midnightcontrols.menu.reacharound.horizontal": "Front Block Placing",
|
||||||
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "Enables front block placing, §cmight be considered cheating on some servers§r.",
|
||||||
"midnightcontrols.menu.reacharound.vertical": "Vertical Reacharound",
|
"midnightcontrols.menu.reacharound.vertical": "Vertical Reacharound",
|
||||||
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "Enables vertical reacharound, §cmight be considered cheating on some servers§r.",
|
||||||
"midnightcontrols.menu.reload_controller_mappings": "Reload Controller Mappings",
|
"midnightcontrols.menu.reload_controller_mappings": "Reload Controller Mappings",
|
||||||
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "Reloads the controller mappings file.",
|
||||||
"midnightcontrols.menu.right_dead_zone": "Right Stick Dead Zone",
|
"midnightcontrols.menu.right_dead_zone": "Right Stick Dead Zone",
|
||||||
|
"midnightcontrols.menu.right_dead_zone.tooltip": "The dead zone for the controller's right analog stick.",
|
||||||
"midnightcontrols.menu.rotation_speed": "X Axis Rotation Speed",
|
"midnightcontrols.menu.rotation_speed": "X Axis Rotation Speed",
|
||||||
|
"midnightcontrols.menu.rotation_speed.tooltip": "The camera's X Axis rotation speed in controller mode.",
|
||||||
"midnightcontrols.menu.y_axis_rotation_speed": "Y Axis Rotation Speed",
|
"midnightcontrols.menu.y_axis_rotation_speed": "Y Axis Rotation Speed",
|
||||||
|
"midnightcontrols.menu.y_axis_rotation_speed.tooltip": "The camera's Y Axis rotation speed in controller mode.",
|
||||||
"midnightcontrols.menu.separate_controller_profile": "Separate Controller Profile",
|
"midnightcontrols.menu.separate_controller_profile": "Separate Controller Profile",
|
||||||
"midnightcontrols.menu.separator.controller": "Controller",
|
"midnightcontrols.menu.separator.controller": "Controller",
|
||||||
"midnightcontrols.menu.separator.general": "General",
|
"midnightcontrols.menu.separator.general": "General",
|
||||||
@@ -168,37 +193,14 @@
|
|||||||
"midnightcontrols.menu.title.mappings.string": "Mappings File Editor",
|
"midnightcontrols.menu.title.mappings.string": "Mappings File Editor",
|
||||||
"midnightcontrols.menu.title.visual": "Appearance Options",
|
"midnightcontrols.menu.title.visual": "Appearance Options",
|
||||||
"midnightcontrols.menu.unfocused_input": "Unfocused Input",
|
"midnightcontrols.menu.unfocused_input": "Unfocused Input",
|
||||||
|
"midnightcontrols.menu.unfocused_input.tooltip": "Allows controller input when the window is not focused.",
|
||||||
"midnightcontrols.menu.virtual_mouse": "Virtual Mouse",
|
"midnightcontrols.menu.virtual_mouse": "Virtual Mouse",
|
||||||
|
"midnightcontrols.menu.virtual_mouse.tooltip": "Enables the virtual mouse, which is useful during splitscreen.",
|
||||||
"midnightcontrols.menu.virtual_mouse.skin": "Virtual Mouse Skin",
|
"midnightcontrols.menu.virtual_mouse.skin": "Virtual Mouse Skin",
|
||||||
|
"midnightcontrols.menu.hide_cursor": "Hide Normal Mouse Cursor",
|
||||||
|
"midnightcontrols.menu.hide_cursor.tooltip": "Hides the normal mouse cursor, leaving only the virtual mouse visible.",
|
||||||
"midnightcontrols.narrator.unbound": "Unbound %s",
|
"midnightcontrols.narrator.unbound": "Unbound %s",
|
||||||
"midnightcontrols.not_bound": "Not bound",
|
"midnightcontrols.not_bound": "Not bound",
|
||||||
"midnightcontrols.tooltip.analog_movement": "When possible, enables analog movement.",
|
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "Whether the controls mode should be switched to Controller automatically if one is connected.",
|
|
||||||
"midnightcontrols.tooltip.controller2": "Second controller to use, which allows (for example) Joy-Cons support.",
|
|
||||||
"midnightcontrols.tooltip.controller_type": "The controller type you're using (needed to display the correct buttons)",
|
|
||||||
"midnightcontrols.tooltip.controls_mode": "The controls mode.",
|
|
||||||
"midnightcontrols.tooltip.double_tap_to_sprint": "Toggles whether the Walk Forwards key makes the player sprint when double-tapped quickly",
|
|
||||||
"midnightcontrols.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.",
|
|
||||||
"midnightcontrols.tooltip.fly_drifting": "While flying, enables Vanilla drifting/inertia.",
|
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "While flying, enables Vanilla vertical drifting/intertia.",
|
|
||||||
"midnightcontrols.tooltip.hud_enable": "Toggles the on-screen controller button indicator.",
|
|
||||||
"midnightcontrols.tooltip.hud_side": "The position of the HUD.",
|
|
||||||
"midnightcontrols.tooltip.joystick_as_mouse": "Make the joystick behave like a mouse in every menu.",
|
|
||||||
"midnightcontrols.tooltip.left_dead_zone": "The dead zone for the controller's left analog stick.",
|
|
||||||
"midnightcontrols.tooltip.max_left_x_value": "Changes what the mod considers the highest value for the left X axis. Useful if your axis does not use the full range and seems slow.",
|
|
||||||
"midnightcontrols.tooltip.max_left_y_value": "Changes what the mod considers the highest value for the left Y axis. Useful if your axis does not use the full range and seems slow.",
|
|
||||||
"midnightcontrols.tooltip.max_right_x_value": "Changes what the mod considers the highest value for the right X axis. Useful if your axis does not use the full range and seems slow.",
|
|
||||||
"midnightcontrols.tooltip.max_right_y_value": "Changes what the mod considers the highest value for the right Y axis. Useful if your axis does not use the full range and seems slow.",
|
|
||||||
"midnightcontrols.tooltip.mouse_speed": "The controller's emulated mouse speed.",
|
|
||||||
"midnightcontrols.tooltip.move_chat": "Moves the chat input field to the top, for better input on devices with on-screen keyboards.",
|
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "Enables front block placing, §cmight be considered cheating on some servers§r.",
|
|
||||||
"midnightcontrols.tooltip.reacharound.vertical": "Enables vertical reacharound, §cmight be considered cheating on some servers§r.",
|
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "Reloads the controller mappings file.",
|
|
||||||
"midnightcontrols.tooltip.right_dead_zone": "The dead zone for the controller's right analog stick.",
|
|
||||||
"midnightcontrols.tooltip.rotation_speed": "The camera's X Axis rotation speed in controller mode.",
|
|
||||||
"midnightcontrols.tooltip.y_axis_rotation_speed": "The camera's Y Axis rotation speed in controller mode.",
|
|
||||||
"midnightcontrols.tooltip.unfocused_input": "Allows controller input when the window is not focused.",
|
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "Enables the virtual mouse, which is useful during splitscreen.",
|
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "Default Light",
|
"midnightcontrols.virtual_mouse.skin.default_light": "Default Light",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "Default Dark",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "Default Dark",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "Second Light",
|
"midnightcontrols.virtual_mouse.skin.second_light": "Second Light",
|
||||||
|
|||||||
@@ -80,32 +80,54 @@
|
|||||||
"midnightcontrols.hud_side.left": "izquierda",
|
"midnightcontrols.hud_side.left": "izquierda",
|
||||||
"midnightcontrols.hud_side.right": "derecha",
|
"midnightcontrols.hud_side.right": "derecha",
|
||||||
"midnightcontrols.menu.analog_movement": "Movimiento analógico",
|
"midnightcontrols.menu.analog_movement": "Movimiento analógico",
|
||||||
|
"midnightcontrols.menu.analog_movement.tooltip": "Habilita el movimiento analógico cuando es posible.",
|
||||||
"midnightcontrols.menu.auto_switch_mode": "Cambio de modo automático",
|
"midnightcontrols.menu.auto_switch_mode": "Cambio de modo automático",
|
||||||
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "Si el modo de controles debe cambiarse a Controlador automáticamente si hay uno conectado.",
|
||||||
"midnightcontrols.menu.controller": "Controlador",
|
"midnightcontrols.menu.controller": "Controlador",
|
||||||
"midnightcontrols.menu.controller2": "Segundo controlador",
|
"midnightcontrols.menu.controller2": "Segundo controlador",
|
||||||
|
"midnightcontrols.menu.controller2.tooltip": "Segundo controlador a uso, que permite el soporte de Joy-Cons por ejemplo.",
|
||||||
"midnightcontrols.menu.controller_type": "Tipo de controlador",
|
"midnightcontrols.menu.controller_type": "Tipo de controlador",
|
||||||
|
"midnightcontrols.menu.controller_type.tooltip": "El tipo de controlador para mostrar los botones correctos.",
|
||||||
"midnightcontrols.menu.controls_mode": "Modo",
|
"midnightcontrols.menu.controls_mode": "Modo",
|
||||||
|
"midnightcontrols.menu.controls_mode.tooltip": "El modo de controles.",
|
||||||
"midnightcontrols.menu.fast_block_placing": "Colocación rápida de bloques",
|
"midnightcontrols.menu.fast_block_placing": "Colocación rápida de bloques",
|
||||||
|
"midnightcontrols.menu.fast_block_placing.tooltip": "Mientras vuela en modo creativo, permite la colocación rápida de bloques dependiendo su velocidad. §cEn algunos servidores, esto podría considerarse como trampa.",
|
||||||
"midnightcontrols.menu.fly_drifting": "Volar a la deriva",
|
"midnightcontrols.menu.fly_drifting": "Volar a la deriva",
|
||||||
|
"midnightcontrols.menu.fly_drifting.tooltip": "Mientras vuela, habilita la deriva/inercia de vainilla.",
|
||||||
"midnightcontrols.menu.fly_drifting_vertical": "Volar a la deriva vertical",
|
"midnightcontrols.menu.fly_drifting_vertical": "Volar a la deriva vertical",
|
||||||
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "Mientras vuela, habilita la deriva/inercia vertical de vainilla.",
|
||||||
"midnightcontrols.menu.hud_enable": "Habilitar HUD",
|
"midnightcontrols.menu.hud_enable": "Habilitar HUD",
|
||||||
|
"midnightcontrols.menu.hud_enable.tooltip": "Alterna el indicador del botón del controlador en pantalla.",
|
||||||
"midnightcontrols.menu.hud_side": "Lado de HUD",
|
"midnightcontrols.menu.hud_side": "Lado de HUD",
|
||||||
|
"midnightcontrols.menu.hud_side.tooltip": "La posición del HUD.",
|
||||||
"midnightcontrols.menu.invert_right_x_axis": "Invertir derecha X",
|
"midnightcontrols.menu.invert_right_x_axis": "Invertir derecha X",
|
||||||
"midnightcontrols.menu.invert_right_y_axis": "Invertir derecha Y",
|
"midnightcontrols.menu.invert_right_y_axis": "Invertir derecha Y",
|
||||||
"midnightcontrols.menu.keyboard_controls": "Controles del teclado...",
|
"midnightcontrols.menu.keyboard_controls": "Controles del teclado...",
|
||||||
"midnightcontrols.menu.left_dead_zone": "Zona muerta izquierda",
|
"midnightcontrols.menu.left_dead_zone": "Zona muerta izquierda",
|
||||||
|
"midnightcontrols.menu.left_dead_zone.tooltip": "La zona muerta de la palanca analógica izquierda del controlador.",
|
||||||
"midnightcontrols.menu.mappings.open_input_str": "Abrir el editor de archivo de asignaciones",
|
"midnightcontrols.menu.mappings.open_input_str": "Abrir el editor de archivo de asignaciones",
|
||||||
"midnightcontrols.menu.max_left_x_value": "Valor máximo del eje X izquierdo",
|
"midnightcontrols.menu.max_left_x_value": "Valor máximo del eje X izquierdo",
|
||||||
|
"midnightcontrols.menu.max_left_x_value.tooltip": "Cambia lo que el mod considera el valor más alto para el eje X izquierdo. Útil si su eje no usa el rango completo y parece lento.",
|
||||||
"midnightcontrols.menu.max_left_y_value": "Valor máximo del eje Y izquierdo",
|
"midnightcontrols.menu.max_left_y_value": "Valor máximo del eje Y izquierdo",
|
||||||
|
"midnightcontrols.menu.max_left_y_value.tooltip": "Cambia lo que el mod considera el valor más alto para el eje Y izquierdo. Útil si su eje no usa el rango completo y parece lento.",
|
||||||
"midnightcontrols.menu.max_right_x_value": "Valor máximo del eje X derecho",
|
"midnightcontrols.menu.max_right_x_value": "Valor máximo del eje X derecho",
|
||||||
|
"midnightcontrols.menu.max_right_x_value.tooltip": "Cambia lo que el mod considera el valor más alto para el eje X derecho. Útil si su eje no usa el rango completo y parece lento.",
|
||||||
"midnightcontrols.menu.max_right_y_value": "Valor máximo del eje Y derecho",
|
"midnightcontrols.menu.max_right_y_value": "Valor máximo del eje Y derecho",
|
||||||
|
"midnightcontrols.menu.max_right_y_value.tooltip": "Cambia lo que el mod considera el valor más alto para el eje Y derecho. Útil si su eje no usa el rango completo y parece lento.",
|
||||||
"midnightcontrols.menu.mouse_speed": "Velocidad del ratón",
|
"midnightcontrols.menu.mouse_speed": "Velocidad del ratón",
|
||||||
|
"midnightcontrols.menu.mouse_speed.tooltip": "La velocidad del ratón emulada del controlador.",
|
||||||
"midnightcontrols.menu.reacharound.horizontal": "Colocación de bloque frontal",
|
"midnightcontrols.menu.reacharound.horizontal": "Colocación de bloque frontal",
|
||||||
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "Habilita la colocación del bloque frontal, §cpodría considerarse trampa en algunos servidores§r.",
|
||||||
"midnightcontrols.menu.reacharound.vertical": "Alcance vertical",
|
"midnightcontrols.menu.reacharound.vertical": "Alcance vertical",
|
||||||
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "Habilita el alcance vertical, §cpodría considerarse trampa en algunos servidores§r.",
|
||||||
"midnightcontrols.menu.reload_controller_mappings": "Recargar asignaciones de controlador",
|
"midnightcontrols.menu.reload_controller_mappings": "Recargar asignaciones de controlador",
|
||||||
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "Vuelve a cargar el archivo de asignaciones del controlador.",
|
||||||
"midnightcontrols.menu.right_dead_zone": "Zona muerta derecha",
|
"midnightcontrols.menu.right_dead_zone": "Zona muerta derecha",
|
||||||
|
"midnightcontrols.menu.right_dead_zone.tooltip": "La zona muerta de la palanca analógica derecha del controlador.",
|
||||||
"midnightcontrols.menu.rotation_speed": "Velocidad de rotación (eje X)",
|
"midnightcontrols.menu.rotation_speed": "Velocidad de rotación (eje X)",
|
||||||
|
"midnightcontrols.menu.rotation_speed.tooltip": "La velocidad de rotación de la cámara en modo controlador. (eje X)",
|
||||||
"midnightcontrols.menu.y_axis_rotation_speed": "Velocidad de rotación (eje Y)",
|
"midnightcontrols.menu.y_axis_rotation_speed": "Velocidad de rotación (eje Y)",
|
||||||
|
"midnightcontrols.menu.y_axis_rotation_speed.tooltip": "La velocidad de rotación de la cámara en modo controlador. (eje Y)",
|
||||||
"midnightcontrols.menu.separator.controller": "Controlador",
|
"midnightcontrols.menu.separator.controller": "Controlador",
|
||||||
"midnightcontrols.menu.separator.general": "General",
|
"midnightcontrols.menu.separator.general": "General",
|
||||||
"midnightcontrols.menu.title": "midnightcontrols - Configuraciones",
|
"midnightcontrols.menu.title": "midnightcontrols - Configuraciones",
|
||||||
@@ -117,34 +139,12 @@
|
|||||||
"midnightcontrols.menu.title.mappings.string": "Editor de archivo de asignaciones",
|
"midnightcontrols.menu.title.mappings.string": "Editor de archivo de asignaciones",
|
||||||
"midnightcontrols.menu.title.visual": "Opciones de apariencia",
|
"midnightcontrols.menu.title.visual": "Opciones de apariencia",
|
||||||
"midnightcontrols.menu.unfocused_input": "Entrada desenfocada",
|
"midnightcontrols.menu.unfocused_input": "Entrada desenfocada",
|
||||||
|
"midnightcontrols.menu.unfocused_input.tooltip": "Habilita entrada del controlador cuando la ventana no está enfocada.",
|
||||||
"midnightcontrols.menu.virtual_mouse": "Ratón virtual",
|
"midnightcontrols.menu.virtual_mouse": "Ratón virtual",
|
||||||
|
"midnightcontrols.menu.virtual_mouse.tooltip": "Habilite el ratón virtual que es útil en el caso de una pantalla dividida.",
|
||||||
"midnightcontrols.menu.virtual_mouse.skin": "Piel de ratón virtual",
|
"midnightcontrols.menu.virtual_mouse.skin": "Piel de ratón virtual",
|
||||||
"midnightcontrols.narrator.unbound": "Resetear %s",
|
"midnightcontrols.narrator.unbound": "Resetear %s",
|
||||||
"midnightcontrols.not_bound": "No ligado",
|
"midnightcontrols.not_bound": "No ligado",
|
||||||
"midnightcontrols.tooltip.analog_movement": "Habilita el movimiento analógico cuando es posible.",
|
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "Si el modo de controles debe cambiarse a Controlador automáticamente si hay uno conectado.",
|
|
||||||
"midnightcontrols.tooltip.controller2": "Segundo controlador a uso, que permite el soporte de Joy-Cons por ejemplo.",
|
|
||||||
"midnightcontrols.tooltip.controller_type": "El tipo de controlador para mostrar los botones correctos.",
|
|
||||||
"midnightcontrols.tooltip.controls_mode": "El modo de controles.",
|
|
||||||
"midnightcontrols.tooltip.fast_block_placing": "Mientras vuela en modo creativo, permite la colocación rápida de bloques dependiendo su velocidad. §cEn algunos servidores, esto podría considerarse como trampa.",
|
|
||||||
"midnightcontrols.tooltip.fly_drifting": "Mientras vuela, habilita la deriva/inercia de vainilla.",
|
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "Mientras vuela, habilita la deriva/inercia vertical de vainilla.",
|
|
||||||
"midnightcontrols.tooltip.hud_enable": "Alterna el indicador del botón del controlador en pantalla.",
|
|
||||||
"midnightcontrols.tooltip.hud_side": "La posición del HUD.",
|
|
||||||
"midnightcontrols.tooltip.left_dead_zone": "La zona muerta de la palanca analógica izquierda del controlador.",
|
|
||||||
"midnightcontrols.tooltip.max_left_x_value": "Cambia lo que el mod considera el valor más alto para el eje X izquierdo. Útil si su eje no usa el rango completo y parece lento.",
|
|
||||||
"midnightcontrols.tooltip.max_left_y_value": "Cambia lo que el mod considera el valor más alto para el eje Y izquierdo. Útil si su eje no usa el rango completo y parece lento.",
|
|
||||||
"midnightcontrols.tooltip.max_right_x_value": "Cambia lo que el mod considera el valor más alto para el eje X derecho. Útil si su eje no usa el rango completo y parece lento.",
|
|
||||||
"midnightcontrols.tooltip.max_right_y_value": "Cambia lo que el mod considera el valor más alto para el eje Y derecho. Útil si su eje no usa el rango completo y parece lento.",
|
|
||||||
"midnightcontrols.tooltip.mouse_speed": "La velocidad del ratón emulada del controlador.",
|
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "Habilita la colocación del bloque frontal, §cpodría considerarse trampa en algunos servidores§r.",
|
|
||||||
"midnightcontrols.tooltip.reacharound.vertical": "Habilita el alcance vertical, §cpodría considerarse trampa en algunos servidores§r.",
|
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "Vuelve a cargar el archivo de asignaciones del controlador.",
|
|
||||||
"midnightcontrols.tooltip.right_dead_zone": "La zona muerta de la palanca analógica derecha del controlador.",
|
|
||||||
"midnightcontrols.tooltip.rotation_speed": "La velocidad de rotación de la cámara en modo controlador. (eje X)",
|
|
||||||
"midnightcontrols.tooltip.y_axis_rotation_speed": "La velocidad de rotación de la cámara en modo controlador. (eje Y)",
|
|
||||||
"midnightcontrols.tooltip.unfocused_input": "Habilita entrada del controlador cuando la ventana no está enfocada.",
|
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "Habilite el ratón virtual que es útil en el caso de una pantalla dividida.",
|
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "Ligera por defecto",
|
"midnightcontrols.virtual_mouse.skin.default_light": "Ligera por defecto",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "Oscura por defecto",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "Oscura por defecto",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "Ligera segundario",
|
"midnightcontrols.virtual_mouse.skin.second_light": "Ligera segundario",
|
||||||
|
|||||||
@@ -121,30 +121,30 @@
|
|||||||
"midnightcontrols.menu.virtual_mouse.skin": "Apparence souris virtuelle",
|
"midnightcontrols.menu.virtual_mouse.skin": "Apparence souris virtuelle",
|
||||||
"midnightcontrols.narrator.unbound": "Délier %s",
|
"midnightcontrols.narrator.unbound": "Délier %s",
|
||||||
"midnightcontrols.not_bound": "Non défini",
|
"midnightcontrols.not_bound": "Non défini",
|
||||||
"midnightcontrols.tooltip.analog_movement": "Active le mouvement analogique si possible.",
|
"midnightcontrols.menu.analog_movement.tooltip": "Active le mouvement analogique si possible.",
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "Détermine si le mode de contrôle doit automatiquement changer sur Manette si une manette est connectée et inversement.",
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "Détermine si le mode de contrôle doit automatiquement changer sur Manette si une manette est connectée et inversement.",
|
||||||
"midnightcontrols.tooltip.controller2": "Défini une deuxième manette, utile dans le cas d'utilisation de Joy-Cons.",
|
"midnightcontrols.menu.controller2.tooltip": "Défini une deuxième manette, utile dans le cas d'utilisation de Joy-Cons.",
|
||||||
"midnightcontrols.tooltip.controller_type": "Le type de contrôle n'influe que sur les boutons affichés.",
|
"midnightcontrols.menu.controller_type.tooltip": "Le type de contrôle n'influe que sur les boutons affichés.",
|
||||||
"midnightcontrols.tooltip.controls_mode": "Change le mode de contrôle.",
|
"midnightcontrols.menu.controls_mode.tooltip": "Change le mode de contrôle.",
|
||||||
"midnightcontrols.tooltip.fast_block_placing": "Active le placement rapide de blocs en vol.",
|
"midnightcontrols.menu.fast_block_placing.tooltip": "Active le placement rapide de blocs en vol.",
|
||||||
"midnightcontrols.tooltip.fly_drifting": "Pendant que le joueur vole, active le glissement Vanilla.",
|
"midnightcontrols.menu.fly_drifting.tooltip": "Pendant que le joueur vole, active le glissement Vanilla.",
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "Pendant que le joueur vole, active le glissement vertical Vanilla.",
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "Pendant que le joueur vole, active le glissement vertical Vanilla.",
|
||||||
"midnightcontrols.tooltip.hud_enable": "Détermine si l'indicateur des buttons de la manette doit être affiché ou non.",
|
"midnightcontrols.menu.hud_enable.tooltip": "Détermine si l'indicateur des buttons de la manette doit être affiché ou non.",
|
||||||
"midnightcontrols.tooltip.hud_side": "Change la position du HUD.",
|
"midnightcontrols.menu.hud_side.tooltip": "Change la position du HUD.",
|
||||||
"midnightcontrols.tooltip.left_dead_zone": "Zone morte de l'axe gauche de la manette.",
|
"midnightcontrols.menu.left_dead_zone.tooltip": "Zone morte de l'axe gauche de la manette.",
|
||||||
"midnightcontrols.tooltip.max_left_x_value": "Change ce que le mod considère comme valeur maximale pour l'axe X gauche. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
"midnightcontrols.menu.max_left_x_value.tooltip": "Change ce que le mod considère comme valeur maximale pour l'axe X gauche. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
||||||
"midnightcontrols.tooltip.max_left_y_value": "Change ce que le mod considère comme valeur maximale pour l'axe Y gauche. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
"midnightcontrols.menu.max_left_y_value.tooltip": "Change ce que le mod considère comme valeur maximale pour l'axe Y gauche. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
||||||
"midnightcontrols.tooltip.max_right_x_value": "Change ce que le mod considère comme valeur maximale pour l'axe X droit. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
"midnightcontrols.menu.max_right_x_value.tooltip": "Change ce que le mod considère comme valeur maximale pour l'axe X droit. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
||||||
"midnightcontrols.tooltip.max_right_y_value": "Change ce que le mod considère comme valeur maximale pour l'axe Y droit. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
"midnightcontrols.menu.max_right_y_value.tooltip": "Change ce que le mod considère comme valeur maximale pour l'axe Y droit. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
||||||
"midnightcontrols.tooltip.mouse_speed": "Change la vitesse de la souris émulée par la manette.",
|
"midnightcontrols.menu.mouse_speed.tooltip": "Change la vitesse de la souris émulée par la manette.",
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "Active le placement avant de blocs, §cpeut être considérer comme de la triche sur certains serveurs§r.",
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "Active le placement avant de blocs, §cpeut être considérer comme de la triche sur certains serveurs§r.",
|
||||||
"midnightcontrols.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.",
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "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.",
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "Recharge le fichier de configuration des manettes.",
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "Recharge le fichier de configuration des manettes.",
|
||||||
"midnightcontrols.tooltip.right_dead_zone": "Zone morte de l'axe droit de la manette.",
|
"midnightcontrols.menu.right_dead_zone.tooltip": "Zone morte de l'axe droit de la manette.",
|
||||||
"midnightcontrols.tooltip.rotation_speed": "Change la vitesse de rotation de la caméra. (X)",
|
"midnightcontrols.menu.rotation_speed.tooltip": "Change la vitesse de rotation de la caméra. (X)",
|
||||||
"midnightcontrols.tooltip.y_axis_rotation_speed": "Change la vitesse de rotation de la caméra. (Y)",
|
"midnightcontrols.menu.y_axis_rotation_speed.tooltip": "Change la vitesse de rotation de la caméra. (Y)",
|
||||||
"midnightcontrols.tooltip.unfocused_input": "Autorise les entrées manette quand la fenêtre n'est pas sélectionnée.",
|
"midnightcontrols.menu.unfocused_input.tooltip": "Autorise les entrées manette quand la fenêtre n'est pas sélectionnée.",
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "Active la souris virtuelle qui est pratique dans le cas d'un écran partagé.",
|
"midnightcontrols.menu.virtual_mouse.tooltip": "Active la souris virtuelle qui est pratique dans le cas d'un écran partagé.",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "défaut clair",
|
"midnightcontrols.virtual_mouse.skin.default_light": "défaut clair",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "défaut foncé",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "défaut foncé",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "second clair",
|
"midnightcontrols.virtual_mouse.skin.second_light": "second clair",
|
||||||
|
|||||||
@@ -121,30 +121,30 @@
|
|||||||
"midnightcontrols.menu.virtual_mouse.skin": "Apparence souris virtuelle",
|
"midnightcontrols.menu.virtual_mouse.skin": "Apparence souris virtuelle",
|
||||||
"midnightcontrols.narrator.unbound": "Délier %s",
|
"midnightcontrols.narrator.unbound": "Délier %s",
|
||||||
"midnightcontrols.not_bound": "Non défini",
|
"midnightcontrols.not_bound": "Non défini",
|
||||||
"midnightcontrols.tooltip.analog_movement": "Active le mouvement analogique si possible.",
|
"midnightcontrols.menu.analog_movement.tooltip": "Active le mouvement analogique si possible.",
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "Détermine si le mode de contrôle doit automatiquement changer sur Manette si une manette est connectée et inversement.",
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "Détermine si le mode de contrôle doit automatiquement changer sur Manette si une manette est connectée et inversement.",
|
||||||
"midnightcontrols.tooltip.controller2": "Défini une deuxième manette, utile dans le cas d'utilisation de Joy-Cons.",
|
"midnightcontrols.menu.controller2.tooltip": "Défini une deuxième manette, utile dans le cas d'utilisation de Joy-Cons.",
|
||||||
"midnightcontrols.tooltip.controller_type": "Le type de contrôle n'influe que sur les boutons affichés.",
|
"midnightcontrols.menu.controller_type.tooltip": "Le type de contrôle n'influe que sur les boutons affichés.",
|
||||||
"midnightcontrols.tooltip.controls_mode": "Change le mode de contrôle.",
|
"midnightcontrols.menu.controls_mode.tooltip": "Change le mode de contrôle.",
|
||||||
"midnightcontrols.tooltip.fast_block_placing": "Active le placement rapide de blocs en vol.",
|
"midnightcontrols.menu.fast_block_placing.tooltip": "Active le placement rapide de blocs en vol.",
|
||||||
"midnightcontrols.tooltip.fly_drifting": "Pendant que le joueur vole, active le glissement Vanilla.",
|
"midnightcontrols.menu.fly_drifting.tooltip": "Pendant que le joueur vole, active le glissement Vanilla.",
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "Pendant que le joueur vole, active le glissement vertical Vanilla.",
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "Pendant que le joueur vole, active le glissement vertical Vanilla.",
|
||||||
"midnightcontrols.tooltip.hud_enable": "Détermine si l'indicateur des buttons de la manette doit être affiché ou non.",
|
"midnightcontrols.menu.hud_enable.tooltip": "Détermine si l'indicateur des buttons de la manette doit être affiché ou non.",
|
||||||
"midnightcontrols.tooltip.hud_side": "Change la position du HUD.",
|
"midnightcontrols.menu.hud_side.tooltip": "Change la position du HUD.",
|
||||||
"midnightcontrols.tooltip.left_dead_zone": "Zone morte de l'axe gauche de la manette.",
|
"midnightcontrols.menu.left_dead_zone.tooltip": "Zone morte de l'axe gauche de la manette.",
|
||||||
"midnightcontrols.tooltip.max_left_x_value": "Change ce que le mod considère comme valeur maximale pour l'axe X gauche. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
"midnightcontrols.menu.max_left_x_value.tooltip": "Change ce que le mod considère comme valeur maximale pour l'axe X gauche. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
||||||
"midnightcontrols.tooltip.max_left_y_value": "Change ce que le mod considère comme valeur maximale pour l'axe Y gauche. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
"midnightcontrols.menu.max_left_y_value.tooltip": "Change ce que le mod considère comme valeur maximale pour l'axe Y gauche. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
||||||
"midnightcontrols.tooltip.max_right_x_value": "Change ce que le mod considère comme valeur maximale pour l'axe X droit. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
"midnightcontrols.menu.max_right_x_value.tooltip": "Change ce que le mod considère comme valeur maximale pour l'axe X droit. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
||||||
"midnightcontrols.tooltip.max_right_y_value": "Change ce que le mod considère comme valeur maximale pour l'axe Y droit. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
"midnightcontrols.menu.max_right_y_value.tooltip": "Change ce que le mod considère comme valeur maximale pour l'axe Y droit. Utile si votre axe n'utilise pas l'entièreté de l'ensemble des valeurs et paraît lent.",
|
||||||
"midnightcontrols.tooltip.mouse_speed": "Change la vitesse de la souris émulée par la manette.",
|
"midnightcontrols.menu.mouse_speed.tooltip": "Change la vitesse de la souris émulée par la manette.",
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "Active le placement avant de blocs, §cpeut être considérer comme de la triche sur certains serveurs§r.",
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "Active le placement avant de blocs, §cpeut être considérer comme de la triche sur certains serveurs§r.",
|
||||||
"midnightcontrols.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.",
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "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.",
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "Recharge le fichier de configuration des manettes.",
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "Recharge le fichier de configuration des manettes.",
|
||||||
"midnightcontrols.tooltip.right_dead_zone": "Zone morte de l'axe droit de la manette.",
|
"midnightcontrols.menu.right_dead_zone.tooltip": "Zone morte de l'axe droit de la manette.",
|
||||||
"midnightcontrols.tooltip.rotation_speed": "Change la vitesse de rotation de la caméra. (X)",
|
"midnightcontrols.menu.rotation_speed.tooltip": "Change la vitesse de rotation de la caméra. (X)",
|
||||||
"midnightcontrols.tooltip.y_axis_rotation_speed": "Change la vitesse de rotation de la caméra. (Y)",
|
"midnightcontrols.menu.y_axis_rotation_speed.tooltip": "Change la vitesse de rotation de la caméra. (Y)",
|
||||||
"midnightcontrols.tooltip.unfocused_input": "Autorise les entrées manette quand la fenêtre n'est pas sélectionnée.",
|
"midnightcontrols.menu.unfocused_input.tooltip": "Autorise les entrées manette quand la fenêtre n'est pas sélectionnée.",
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "Active la souris virtuelle qui est pratique dans le cas d'un écran partagé.",
|
"midnightcontrols.menu.virtual_mouse.tooltip": "Active la souris virtuelle qui est pratique dans le cas d'un écran partagé.",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "défaut clair",
|
"midnightcontrols.virtual_mouse.skin.default_light": "défaut clair",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "défaut foncé",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "défaut foncé",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "second clair",
|
"midnightcontrols.virtual_mouse.skin.second_light": "second clair",
|
||||||
|
|||||||
@@ -170,31 +170,31 @@
|
|||||||
"midnightcontrols.menu.virtual_mouse.skin": "Aspetto Mouse Virtuale",
|
"midnightcontrols.menu.virtual_mouse.skin": "Aspetto Mouse Virtuale",
|
||||||
"midnightcontrols.narrator.unbound": "Disimpostato %s",
|
"midnightcontrols.narrator.unbound": "Disimpostato %s",
|
||||||
"midnightcontrols.not_bound": "Non Impostato",
|
"midnightcontrols.not_bound": "Non Impostato",
|
||||||
"midnightcontrols.tooltip.analog_movement": "Quando possibile, attiva movimento analogo.",
|
"midnightcontrols.menu.analog_movement.tooltip": "Quando possibile, attiva movimento analogo.",
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "Quando la modalità controlli dovrebbe passare a Controller automaticamente se uno è connesso",
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "Quando la modalità controlli dovrebbe passare a Controller automaticamente se uno è connesso",
|
||||||
"midnightcontrols.tooltip.controller2": "Secondo controller da usare, che permette (per esempio) Supporto dei Joy-Cons.",
|
"midnightcontrols.menu.controller2.tooltip": "Secondo controller da usare, che permette (per esempio) Supporto dei Joy-Cons.",
|
||||||
"midnightcontrols.tooltip.controller_type": "Il tipo di controller che stai usando (usato per mostrare i pulsanti corretti)",
|
"midnightcontrols.menu.controller_type.tooltip": "Il tipo di controller che stai usando (usato per mostrare i pulsanti corretti)",
|
||||||
"midnightcontrols.tooltip.controls_mode": "Modalita controlli.",
|
"midnightcontrols.menu.controls_mode.tooltip": "Modalita controlli.",
|
||||||
"midnightcontrols.tooltip.double_tap_to_sprint": "Attiva quando il tasto \"Cammina Avanti\" fa correre il giocatore con doppio tap velocemente",
|
"midnightcontrols.menu.double_tap_to_sprint.tooltip": "Attiva quando il tasto \"Cammina Avanti\" fa correre il giocatore con doppio tap velocemente",
|
||||||
"midnightcontrols.tooltip.fast_block_placing": "Quando si vola in creativa, attiva il movimento veloce dei blocchi in base alla tua velocità. §cSu alcuni server potrebbe essere considerato un cheat.§r",
|
"midnightcontrols.menu.fast_block_placing.tooltip": "Quando si vola in creativa, attiva il movimento veloce dei blocchi in base alla tua velocità. §cSu alcuni server potrebbe essere considerato un cheat.§r",
|
||||||
"midnightcontrols.tooltip.fly_drifting": "Quando si vola, attiva L'inerzia del Vanilla",
|
"midnightcontrols.menu.fly_drifting.tooltip": "Quando si vola, attiva L'inerzia del Vanilla",
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "Quando si vola, attiva l'inerzia verticale Vanilla",
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "Quando si vola, attiva l'inerzia verticale Vanilla",
|
||||||
"midnightcontrols.tooltip.hud_enable": "Attiva gli indicatori dei pulsanti dei controller sullo schermo.",
|
"midnightcontrols.menu.hud_enable.tooltip": "Attiva gli indicatori dei pulsanti dei controller sullo schermo.",
|
||||||
"midnightcontrols.tooltip.hud_side": "La posizione della HUD",
|
"midnightcontrols.menu.hud_side.tooltip": "La posizione della HUD",
|
||||||
"midnightcontrols.tooltip.left_dead_zone": "La zona morta per lo stick sinistro del controller.",
|
"midnightcontrols.menu.left_dead_zone.tooltip": "La zona morta per lo stick sinistro del controller.",
|
||||||
"midnightcontrols.tooltip.max_left_x_value": "Cambia cosa la mod considera il più alto valore per l'asse X sinistro. Utile se il tuo asse non usa il range massimo e sembra lento",
|
"midnightcontrols.menu.max_left_x_value.tooltip": "Cambia cosa la mod considera il più alto valore per l'asse X sinistro. Utile se il tuo asse non usa il range massimo e sembra lento",
|
||||||
"midnightcontrols.tooltip.max_left_y_value": "Cambia cosa la mod considera il più alto valore per l'asse Y sinistro. Utile se il tuo asse non usa il range massimo e sembra lento",
|
"midnightcontrols.menu.max_left_y_value.tooltip": "Cambia cosa la mod considera il più alto valore per l'asse Y sinistro. Utile se il tuo asse non usa il range massimo e sembra lento",
|
||||||
"midnightcontrols.tooltip.max_right_x_value": "Cambia cosa la mod considera il più alto valore per l'asse X Destro. Utile se il tuo asse non usa il range massimo e sembra lento.",
|
"midnightcontrols.menu.max_right_x_value.tooltip": "Cambia cosa la mod considera il più alto valore per l'asse X Destro. Utile se il tuo asse non usa il range massimo e sembra lento.",
|
||||||
"midnightcontrols.tooltip.max_right_y_value": "Cambia cosa la mod considera il più alto valore per l'asse Y Destro. Utile se il tuo asse non usa il range massimo e sembra lento.",
|
"midnightcontrols.menu.max_right_y_value.tooltip": "Cambia cosa la mod considera il più alto valore per l'asse Y Destro. Utile se il tuo asse non usa il range massimo e sembra lento.",
|
||||||
"midnightcontrols.tooltip.mouse_speed": "La velocità del controller emulato.",
|
"midnightcontrols.menu.mouse_speed.tooltip": "La velocità del controller emulato.",
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "Attiva il piazzare blocchi davanti, Potrebbe essere considerato un cheat su alcuni server.",
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "Attiva il piazzare blocchi davanti, Potrebbe essere considerato un cheat su alcuni server.",
|
||||||
"midnightcontrols.tooltip.reacharound.vertical": "Attiva il reach verticale, potrebbe essere considerato cheating su alcuni server",
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "Attiva il reach verticale, potrebbe essere considerato cheating su alcuni server",
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "Riavvia il file dlle mappature del controller",
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "Riavvia il file dlle mappature del controller",
|
||||||
"midnightcontrols.tooltip.right_dead_zone": "La zona morta per lo stick destro del controller",
|
"midnightcontrols.menu.right_dead_zone.tooltip": "La zona morta per lo stick destro del controller",
|
||||||
"midnightcontrols.tooltip.rotation_speed": "L'asse X della velocità di rotazione della camera im modalità controller",
|
"midnightcontrols.menu.rotation_speed.tooltip": "L'asse X della velocità di rotazione della camera im modalità controller",
|
||||||
"midnightcontrols.tooltip.y_axis_rotation_speed": "L'asse Y della velocità di rotazione della camera im modalità controller",
|
"midnightcontrols.menu.y_axis_rotation_speed.tooltip": "L'asse Y della velocità di rotazione della camera im modalità controller",
|
||||||
"midnightcontrols.tooltip.unfocused_input": "Permette imput dei controller quando la finestra non è messa a fuoco",
|
"midnightcontrols.menu.unfocused_input.tooltip": "Permette imput dei controller quando la finestra non è messa a fuoco",
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "Attiva il mouse virtuale, che può essere utile nello schermo diviso.",
|
"midnightcontrols.menu.virtual_mouse.tooltip": "Attiva il mouse virtuale, che può essere utile nello schermo diviso.",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "Chiaro Default",
|
"midnightcontrols.virtual_mouse.skin.default_light": "Chiaro Default",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "Scuro Default",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "Scuro Default",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "Chiaro Secondario",
|
"midnightcontrols.virtual_mouse.skin.second_light": "Chiaro Secondario",
|
||||||
|
|||||||
@@ -127,29 +127,29 @@
|
|||||||
"midnightcontrols.menu.virtual_mouse.skin": "가상 마우스 스킨",
|
"midnightcontrols.menu.virtual_mouse.skin": "가상 마우스 스킨",
|
||||||
"midnightcontrols.narrator.unbound": "%s 해제됨",
|
"midnightcontrols.narrator.unbound": "%s 해제됨",
|
||||||
"midnightcontrols.not_bound": "바인딩되지 않음",
|
"midnightcontrols.not_bound": "바인딩되지 않음",
|
||||||
"midnightcontrols.tooltip.analog_movement": "가능한 경우 아날로그 움직임을 사용합니다.",
|
"midnightcontrols.menu.analog_movement.tooltip": "가능한 경우 아날로그 움직임을 사용합니다.",
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "컨트롤러가 연결되면 자동으로 컨트롤 모드가 컨트롤러로 전환됩니다.",
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "컨트롤러가 연결되면 자동으로 컨트롤 모드가 컨트롤러로 전환됩니다.",
|
||||||
"midnightcontrols.tooltip.controller2": "보조 컨트롤러를 사용하려면 Joy-Cons 지원을 허용하세요.",
|
"midnightcontrols.menu.controller2.tooltip": "보조 컨트롤러를 사용하려면 Joy-Cons 지원을 허용하세요.",
|
||||||
"midnightcontrols.tooltip.controller_type": "올바른 버튼을 표시할 컨트롤러 종류입니다.",
|
"midnightcontrols.menu.controller_type.tooltip": "올바른 버튼을 표시할 컨트롤러 종류입니다.",
|
||||||
"midnightcontrols.tooltip.controls_mode": "컨트롤 모드.",
|
"midnightcontrols.menu.controls_mode.tooltip": "컨트롤 모드.",
|
||||||
"midnightcontrols.tooltip.fast_block_placing": "크리에이티브 모드에서 비행하는 동안 사용자 속도에 따른 빠른 블록 배치를 사용합니다. §c일부 서버에선 치팅 행위로 취급될 수 있습니다.",
|
"midnightcontrols.menu.fast_block_placing.tooltip": "크리에이티브 모드에서 비행하는 동안 사용자 속도에 따른 빠른 블록 배치를 사용합니다. §c일부 서버에선 치팅 행위로 취급될 수 있습니다.",
|
||||||
"midnightcontrols.tooltip.fly_drifting": "비행하는 동안 바닐라처럼 관성을 적용합니다.",
|
"midnightcontrols.menu.fly_drifting.tooltip": "비행하는 동안 바닐라처럼 관성을 적용합니다.",
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "비행하는 동안 바닐라처럼 수직 관성을 적용합니다.",
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "비행하는 동안 바닐라처럼 수직 관성을 적용합니다.",
|
||||||
"midnightcontrols.tooltip.hud_enable": "화면 컨트롤러 버튼 표시기 토글",
|
"midnightcontrols.menu.hud_enable.tooltip": "화면 컨트롤러 버튼 표시기 토글",
|
||||||
"midnightcontrols.tooltip.hud_side": "HUD 위치.",
|
"midnightcontrols.menu.hud_side.tooltip": "HUD 위치.",
|
||||||
"midnightcontrols.tooltip.left_dead_zone": "컨트롤러 왼쪽 아날로그 스틱 데드 존.",
|
"midnightcontrols.menu.left_dead_zone.tooltip": "컨트롤러 왼쪽 아날로그 스틱 데드 존.",
|
||||||
"midnightcontrols.tooltip.max_left_x_value": "모드가 인식하는 왼쪽 X 축 최댓값을 변경합니다. 사용자의 축이 전체 범위를 사용하지 않고 느리게 보일 경우 유용합니다.",
|
"midnightcontrols.menu.max_left_x_value.tooltip": "모드가 인식하는 왼쪽 X 축 최댓값을 변경합니다. 사용자의 축이 전체 범위를 사용하지 않고 느리게 보일 경우 유용합니다.",
|
||||||
"midnightcontrols.tooltip.max_left_y_value": "모드가 인식하는 왼쪽 Y 축 최댓값을 변경합니다. 사용자의 축이 전체 범위를 사용하지 않고 느리게 보일 경우 유용합니다.",
|
"midnightcontrols.menu.max_left_y_value.tooltip": "모드가 인식하는 왼쪽 Y 축 최댓값을 변경합니다. 사용자의 축이 전체 범위를 사용하지 않고 느리게 보일 경우 유용합니다.",
|
||||||
"midnightcontrols.tooltip.max_right_x_value": "모드가 인식하는 오른쪽 X 축 최댓값을 변경합니다. 사용자의 축이 전체 범위를 사용하지 않고 느리게 보일 경우 유용합니다.",
|
"midnightcontrols.menu.max_right_x_value.tooltip": "모드가 인식하는 오른쪽 X 축 최댓값을 변경합니다. 사용자의 축이 전체 범위를 사용하지 않고 느리게 보일 경우 유용합니다.",
|
||||||
"midnightcontrols.tooltip.max_right_y_value": "모드가 인식하는 오른쪽 Y 축 최댓값을 변경합니다. 사용자의 축이 전체 범위를 사용하지 않고 느리게 보일 경우 유용합니다.",
|
"midnightcontrols.menu.max_right_y_value.tooltip": "모드가 인식하는 오른쪽 Y 축 최댓값을 변경합니다. 사용자의 축이 전체 범위를 사용하지 않고 느리게 보일 경우 유용합니다.",
|
||||||
"midnightcontrols.tooltip.mouse_speed": "컨트롤러의 에뮬레이트된 마우스 속도.",
|
"midnightcontrols.menu.mouse_speed.tooltip": "컨트롤러의 에뮬레이트된 마우스 속도.",
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "블록 전면 배치를 사용합니다. §c일부 서버에선 치팅 행위로 취급될 수 있습니다§r.",
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "블록 전면 배치를 사용합니다. §c일부 서버에선 치팅 행위로 취급될 수 있습니다§r.",
|
||||||
"midnightcontrols.tooltip.reacharound.vertical": "블록 수직 배치를 사용합니다. 블록 아래에 다른 블록을 배치할 수 있습니다. §c일부 서버에선 치팅 행위로 취급될 수 있습니다§r.",
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "블록 수직 배치를 사용합니다. 블록 아래에 다른 블록을 배치할 수 있습니다. §c일부 서버에선 치팅 행위로 취급될 수 있습니다§r.",
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "컨트롤러 매핑 파일을 다시 불러옵니다.",
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "컨트롤러 매핑 파일을 다시 불러옵니다.",
|
||||||
"midnightcontrols.tooltip.right_dead_zone": "컨트롤러 오른쪽 아날로그 스틱 데드 존",
|
"midnightcontrols.menu.right_dead_zone.tooltip": "컨트롤러 오른쪽 아날로그 스틱 데드 존",
|
||||||
"midnightcontrols.tooltip.rotation_speed": "컨트롤러 모드에서 적용되는 카메라 회전 속도.",
|
"midnightcontrols.menu.rotation_speed.tooltip": "컨트롤러 모드에서 적용되는 카메라 회전 속도.",
|
||||||
"midnightcontrols.tooltip.unfocused_input": "창이 활성화된 상태가 아니여도 컨트롤러 입력 허용.",
|
"midnightcontrols.menu.unfocused_input.tooltip": "창이 활성화된 상태가 아니여도 컨트롤러 입력 허용.",
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "분할 화면에선 도움 되는 가상 마우스를 사용합니다.",
|
"midnightcontrols.menu.virtual_mouse.tooltip": "분할 화면에선 도움 되는 가상 마우스를 사용합니다.",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "기본 라이트",
|
"midnightcontrols.virtual_mouse.skin.default_light": "기본 라이트",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "기본 다크",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "기본 다크",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "두 번째 라이트",
|
"midnightcontrols.virtual_mouse.skin.second_light": "두 번째 라이트",
|
||||||
|
|||||||
@@ -144,31 +144,31 @@
|
|||||||
"midnightcontrols.menu.virtual_mouse.skin": "Дизайн Виртуальной Мышки",
|
"midnightcontrols.menu.virtual_mouse.skin": "Дизайн Виртуальной Мышки",
|
||||||
"midnightcontrols.narrator.unbound": "Освобождённый %s",
|
"midnightcontrols.narrator.unbound": "Освобождённый %s",
|
||||||
"midnightcontrols.not_bound": "Не Назначанно",
|
"midnightcontrols.not_bound": "Не Назначанно",
|
||||||
"midnightcontrols.tooltip.analog_movement": "Включает аналоговое движение, когда это возможно.",
|
"midnightcontrols.menu.analog_movement.tooltip": "Включает аналоговое движение, когда это возможно.",
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "Автоматическое переключение на новый, только подключенный контроллер.",
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "Автоматическое переключение на новый, только подключенный контроллер.",
|
||||||
"midnightcontrols.tooltip.controller2": "Дополнительный контроллер, например для Джой-конов.",
|
"midnightcontrols.menu.controller2.tooltip": "Дополнительный контроллер, например для Джой-конов.",
|
||||||
"midnightcontrols.tooltip.controller_type": "Тип контроллера, чтобы правильно сопоставить иконки кнопок.",
|
"midnightcontrols.menu.controller_type.tooltip": "Тип контроллера, чтобы правильно сопоставить иконки кнопок.",
|
||||||
"midnightcontrols.tooltip.controls_mode": "Тип контроля над игрой.",
|
"midnightcontrols.menu.controls_mode.tooltip": "Тип контроля над игрой.",
|
||||||
"midnightcontrols.tooltip.double_tap_to_sprint": "При двойном перемещением на левый стик, персонаж начинает бежать.",
|
"midnightcontrols.menu.double_tap_to_sprint.tooltip": "При двойном перемещением на левый стик, персонаж начинает бежать.",
|
||||||
"midnightcontrols.tooltip.fast_block_placing": "Во время полета в творческом режиме позволяет быстро размещать блоки в зависимости от вашей скорости. §cНа некоторых серверах это может расцениваться как читерство.§r",
|
"midnightcontrols.menu.fast_block_placing.tooltip": "Во время полета в творческом режиме позволяет быстро размещать блоки в зависимости от вашей скорости. §cНа некоторых серверах это может расцениваться как читерство.§r",
|
||||||
"midnightcontrols.tooltip.fly_drifting": "Во время полета включает ванильную инерцию.",
|
"midnightcontrols.menu.fly_drifting.tooltip": "Во время полета включает ванильную инерцию.",
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "Во время полета включает ванильную вертикальную инерцию.",
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "Во время полета включает ванильную вертикальную инерцию.",
|
||||||
"midnightcontrols.tooltip.hud_enable": "Переключает видение иконок кнопок контроллера на экране.",
|
"midnightcontrols.menu.hud_enable.tooltip": "Переключает видение иконок кнопок контроллера на экране.",
|
||||||
"midnightcontrols.tooltip.hud_side": "Расположение интерфейса в определённую сторону.",
|
"midnightcontrols.menu.hud_side.tooltip": "Расположение интерфейса в определённую сторону.",
|
||||||
"midnightcontrols.tooltip.left_dead_zone": "Мертвая зона для левого аналогового стика контроллера.",
|
"midnightcontrols.menu.left_dead_zone.tooltip": "Мертвая зона для левого аналогового стика контроллера.",
|
||||||
"midnightcontrols.tooltip.max_left_x_value": "Изменяет то, что мод в итоге считает максимальным значением для левой оси X. Полезно, если ваша ось не использует весь диапазон и кажется медленной.",
|
"midnightcontrols.menu.max_left_x_value.tooltip": "Изменяет то, что мод в итоге считает максимальным значением для левой оси X. Полезно, если ваша ось не использует весь диапазон и кажется медленной.",
|
||||||
"midnightcontrols.tooltip.max_left_y_value": "Изменяет то, что мод в итоге считает максимальным значением для левой оси Y. Полезно, если ваша ось не использует весь диапазон и кажется медленной.",
|
"midnightcontrols.menu.max_left_y_value.tooltip": "Изменяет то, что мод в итоге считает максимальным значением для левой оси Y. Полезно, если ваша ось не использует весь диапазон и кажется медленной.",
|
||||||
"midnightcontrols.tooltip.max_right_x_value": "Изменяет то, что мод в итоге считает максимальным значением для правой оси X. Полезно, если ваша ось не использует весь диапазон и кажется медленной.",
|
"midnightcontrols.menu.max_right_x_value.tooltip": "Изменяет то, что мод в итоге считает максимальным значением для правой оси X. Полезно, если ваша ось не использует весь диапазон и кажется медленной.",
|
||||||
"midnightcontrols.tooltip.max_right_y_value": "Изменяет то, что мод в итоге считает максимальным значением для правой оси Y. Полезно, если ваша ось не использует весь диапазон и кажется медленной.",
|
"midnightcontrols.menu.max_right_y_value.tooltip": "Изменяет то, что мод в итоге считает максимальным значением для правой оси Y. Полезно, если ваша ось не использует весь диапазон и кажется медленной.",
|
||||||
"midnightcontrols.tooltip.mouse_speed": "Скорость мыши, эмулируемая контроллером.",
|
"midnightcontrols.menu.mouse_speed.tooltip": "Скорость мыши, эмулируемая контроллером.",
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "Позволяет размещать передний блок перед собой. §cМожет рассматриваться как читерство на некоторых серверах§r.",
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "Позволяет размещать передний блок перед собой. §cМожет рассматриваться как читерство на некоторых серверах§r.",
|
||||||
"midnightcontrols.tooltip.reacharound.vertical": "Обеспечивает вертикальный охват. §cМожет рассматриваться как мошенничество на некоторых серверах§r.",
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "Обеспечивает вертикальный охват. §cМожет рассматриваться как мошенничество на некоторых серверах§r.",
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "Перезагружает файл раскладки контроллеров.",
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "Перезагружает файл раскладки контроллеров.",
|
||||||
"midnightcontrols.tooltip.right_dead_zone": "Мертвая зона для правого аналогового стика контроллера.",
|
"midnightcontrols.menu.right_dead_zone.tooltip": "Мертвая зона для правого аналогового стика контроллера.",
|
||||||
"midnightcontrols.tooltip.rotation_speed": "Скорость вращения камеры по оси X в режиме контроллера.",
|
"midnightcontrols.menu.rotation_speed.tooltip": "Скорость вращения камеры по оси X в режиме контроллера.",
|
||||||
"midnightcontrols.tooltip.y_axis_rotation_speed": "Скорость вращения камеры по оси Y в режиме контроллера.",
|
"midnightcontrols.menu.y_axis_rotation_speed.tooltip": "Скорость вращения камеры по оси Y в режиме контроллера.",
|
||||||
"midnightcontrols.tooltip.unfocused_input": "Разрешить ввод с контроллера, даже если игра на сфокусирована.",
|
"midnightcontrols.menu.unfocused_input.tooltip": "Разрешить ввод с контроллера, даже если игра на сфокусирована.",
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "Включить виртуальную мышь, очень полезно при игре двоём на одном компьютере.",
|
"midnightcontrols.menu.virtual_mouse.tooltip": "Включить виртуальную мышь, очень полезно при игре двоём на одном компьютере.",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "Обычный Светлый",
|
"midnightcontrols.virtual_mouse.skin.default_light": "Обычный Светлый",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "Обычный Тёмный",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "Обычный Тёмный",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "Дополнительный Светлый",
|
"midnightcontrols.virtual_mouse.skin.second_light": "Дополнительный Светлый",
|
||||||
|
|||||||
@@ -112,23 +112,23 @@
|
|||||||
"midnightcontrols.menu.virtual_mouse.skin": "Sanal Fare Görünümü",
|
"midnightcontrols.menu.virtual_mouse.skin": "Sanal Fare Görünümü",
|
||||||
"midnightcontrols.narrator.unbound": "%s Atanmamış",
|
"midnightcontrols.narrator.unbound": "%s Atanmamış",
|
||||||
"midnightcontrols.not_bound": "Tuş ataması yok",
|
"midnightcontrols.not_bound": "Tuş ataması yok",
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "Eğer bir tanesi bağlandıysa, kontrol modu Oyun Kolu olarak değişmeli.",
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "Eğer bir tanesi bağlandıysa, kontrol modu Oyun Kolu olarak değişmeli.",
|
||||||
"midnightcontrols.tooltip.controller2": "Kullanılacak ikinci oyun kolu, örnek olarak Joy-Con desteği de mümkün.",
|
"midnightcontrols.menu.controller2.tooltip": "Kullanılacak ikinci oyun kolu, örnek olarak Joy-Con desteği de mümkün.",
|
||||||
"midnightcontrols.tooltip.controller_type": "Doğru tuşları göstermesi için oyun kolu türü.",
|
"midnightcontrols.menu.controller_type.tooltip": "Doğru tuşları göstermesi için oyun kolu türü.",
|
||||||
"midnightcontrols.tooltip.controls_mode": "Kontrol Modu",
|
"midnightcontrols.menu.controls_mode.tooltip": "Kontrol Modu",
|
||||||
"midnightcontrols.tooltip.fast_block_placing": "Yaratıcı modda uçarken, hızına bağlı olarak hızlı blok koymayı etkinleştirir. §cBazı sunucular bunun hile olduğunu düşünebilir.",
|
"midnightcontrols.menu.fast_block_placing.tooltip": "Yaratıcı modda uçarken, hızına bağlı olarak hızlı blok koymayı etkinleştirir. §cBazı sunucular bunun hile olduğunu düşünebilir.",
|
||||||
"midnightcontrols.tooltip.fly_drifting": "Uçarken, Vanilla'daki gibi ani duruşlarda kayma efektini etkinleştirir.",
|
"midnightcontrols.menu.fly_drifting.tooltip": "Uçarken, Vanilla'daki gibi ani duruşlarda kayma efektini etkinleştirir.",
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "Yukarı/aşağı uçarken, Vanilla'daki gibi ani duruşlarda kayma efektini etkinleştirir.",
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "Yukarı/aşağı uçarken, Vanilla'daki gibi ani duruşlarda kayma efektini etkinleştirir.",
|
||||||
"midnightcontrols.tooltip.hud_enable": "Ekranın üstünde oyun kolu tuşu göstergesini açar/kapatır.",
|
"midnightcontrols.menu.hud_enable.tooltip": "Ekranın üstünde oyun kolu tuşu göstergesini açar/kapatır.",
|
||||||
"midnightcontrols.tooltip.hud_side": "HUD'un konumu",
|
"midnightcontrols.menu.hud_side.tooltip": "HUD'un konumu",
|
||||||
"midnightcontrols.tooltip.mouse_speed": "Oyun kolunun taklit edilen fare hızı.",
|
"midnightcontrols.menu.mouse_speed.tooltip": "Oyun kolunun taklit edilen fare hızı.",
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "Hızlı blok koymayı etkinleştirir. §cBazı sunucular bunun hile olduğunu düşünebilir.§r.",
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "Hızlı blok koymayı etkinleştirir. §cBazı sunucular bunun hile olduğunu düşünebilir.§r.",
|
||||||
"midnightcontrols.tooltip.reacharound.vertical": "En alta blok koymayı etkinleştirir. §cBazı sunucular bunun hile olduğunu düşünebilir.§r.",
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "En alta blok koymayı etkinleştirir. §cBazı sunucular bunun hile olduğunu düşünebilir.§r.",
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "Oyun kolu için eşleştirme dosyasını yeniler.",
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "Oyun kolu için eşleştirme dosyasını yeniler.",
|
||||||
"midnightcontrols.tooltip.rotation_speed": "Oyun kolu modunda olan kamera dönme hızı (X)",
|
"midnightcontrols.menu.rotation_speed.tooltip": "Oyun kolu modunda olan kamera dönme hızı (X)",
|
||||||
"midnightcontrols.tooltip.y_axis_rotation_speed": "Oyun kolu modunda olan kamera dönme hızı (Y)",
|
"midnightcontrols.menu.y_axis_rotation_speed.tooltip": "Oyun kolu modunda olan kamera dönme hızı (Y)",
|
||||||
"midnightcontrols.tooltip.unfocused_input": "Oyun penceresinde değilken oyun kolu girişine izine verir.",
|
"midnightcontrols.menu.unfocused_input.tooltip": "Oyun penceresinde değilken oyun kolu girişine izine verir.",
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "Sanal fareyi etkinleştirir. Çift ekran oynanılacağı zaman işe yarar.",
|
"midnightcontrols.menu.virtual_mouse.tooltip": "Sanal fareyi etkinleştirir. Çift ekran oynanılacağı zaman işe yarar.",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "Varsayılan Aydınlık Tema",
|
"midnightcontrols.virtual_mouse.skin.default_light": "Varsayılan Aydınlık Tema",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "Varsayılan Karanlık Tema",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "Varsayılan Karanlık Tema",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "İkincil Aydınlık Tema",
|
"midnightcontrols.virtual_mouse.skin.second_light": "İkincil Aydınlık Tema",
|
||||||
|
|||||||
@@ -144,38 +144,38 @@
|
|||||||
"midnightcontrols.menu.virtual_mouse.skin": "Дизайн віртуальної мишки",
|
"midnightcontrols.menu.virtual_mouse.skin": "Дизайн віртуальної мишки",
|
||||||
"midnightcontrols.narrator.unbound": "Звільнений %s",
|
"midnightcontrols.narrator.unbound": "Звільнений %s",
|
||||||
"midnightcontrols.not_bound": "Не призначено",
|
"midnightcontrols.not_bound": "Не призначено",
|
||||||
"midnightcontrols.tooltip.analog_movement": "Включає аналоговий рух, коли це можливо.",
|
"midnightcontrols.menu.analog_movement.tooltip": "Включає аналоговий рух, коли це можливо.",
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "Автоматичне перемикання на новий, тільки підключений контролер.",
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "Автоматичне перемикання на новий, тільки підключений контролер.",
|
||||||
"midnightcontrols.tooltip.controller2": "Додатковий контролер, наприклад для джой-конів.",
|
"midnightcontrols.menu.controller2.tooltip": "Додатковий контролер, наприклад для джой-конів.",
|
||||||
"midnightcontrols.tooltip.controller_type": "Тип контролера, щоб правильно зіставити іконки кнопок.",
|
"midnightcontrols.menu.controller_type.tooltip": "Тип контролера, щоб правильно зіставити іконки кнопок.",
|
||||||
"midnightcontrols.tooltip.controls_mode": "Тип контролю за грою.",
|
"midnightcontrols.menu.controls_mode.tooltip": "Тип контролю за грою.",
|
||||||
"midnightcontrols.tooltip.double_tap_to_sprint": "При подвійному переміщенні на лівий стик, персонаж починає бігти.",
|
"midnightcontrols.menu.double_tap_to_sprint.tooltip": "При подвійному переміщенні на лівий стик, персонаж починає бігти.",
|
||||||
"midnightcontrols.tooltip.fast_block_placing": "Під час польоту в творчому режимі дозволяє швидко розміщувати блоки в залежності від вашої швидкості. §cНа деяких серверах це може розцінюватися як читерство.§r",
|
"midnightcontrols.menu.fast_block_placing.tooltip": "Під час польоту в творчому режимі дозволяє швидко розміщувати блоки в залежності від вашої швидкості. §cНа деяких серверах це може розцінюватися як читерство.§r",
|
||||||
"midnightcontrols.tooltip.fly_drifting": "Під час польоту включає ванільну інерцію.",
|
"midnightcontrols.menu.fly_drifting.tooltip": "Під час польоту включає ванільну інерцію.",
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "Під час польоту включає ванільну вертикальну інерцію.",
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "Під час польоту включає ванільну вертикальну інерцію.",
|
||||||
"midnightcontrols.tooltip.hud_enable": "Переключає бачення іконок кнопок контролера на екрані.",
|
"midnightcontrols.menu.hud_enable.tooltip": "Переключає бачення іконок кнопок контролера на екрані.",
|
||||||
"midnightcontrols.tooltip.hud_side": "Розташування інтерфейсу у певний бік.",
|
"midnightcontrols.menu.hud_side.tooltip": "Розташування інтерфейсу у певний бік.",
|
||||||
"midnightcontrols.tooltip.left_dead_zone": "Мертва зона для лівого аналогового стику контролера.",
|
"midnightcontrols.menu.left_dead_zone.tooltip": "Мертва зона для лівого аналогового стику контролера.",
|
||||||
"midnightcontrols.tooltip.max_left_x_value": "Змінює те, що мод в результаті вважає максимальним значенням для лівої осі X. Корисно, якщо ваша вісь не використовує весь діапазон і здається повільною.",
|
"midnightcontrols.menu.max_left_x_value.tooltip": "Змінює те, що мод в результаті вважає максимальним значенням для лівої осі X. Корисно, якщо ваша вісь не використовує весь діапазон і здається повільною.",
|
||||||
"midnightcontrols.tooltip.max_left_y_value": "Змінює те, що мод в результаті вважає максимальним значенням для лівої осі Y. Корисно, якщо ваша вісь не використовує весь діапазон і здається повільною.",
|
"midnightcontrols.menu.max_left_y_value.tooltip": "Змінює те, що мод в результаті вважає максимальним значенням для лівої осі Y. Корисно, якщо ваша вісь не використовує весь діапазон і здається повільною.",
|
||||||
"midnightcontrols.tooltip.max_right_x_value": "Змінює те, що мод в результаті вважає максимальним значенням для правої осі X. Корисно, якщо ваша вісь не використовує весь діапазон і здається повільною.",
|
"midnightcontrols.menu.max_right_x_value.tooltip": "Змінює те, що мод в результаті вважає максимальним значенням для правої осі X. Корисно, якщо ваша вісь не використовує весь діапазон і здається повільною.",
|
||||||
"midnightcontrols.tooltip.max_right_y_value": "Змінює те, що мод в результаті вважає максимальним значенням для правої осі Y. Корисно, якщо ваша вісь не використовує весь діапазон і здається повільною.",
|
"midnightcontrols.menu.max_right_y_value.tooltip": "Змінює те, що мод в результаті вважає максимальним значенням для правої осі Y. Корисно, якщо ваша вісь не використовує весь діапазон і здається повільною.",
|
||||||
"midnightcontrols.tooltip.mouse_speed": "Швидкість миші, що емульується контролером.",
|
"midnightcontrols.menu.mouse_speed.tooltip": "Швидкість миші, що емульується контролером.",
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "Дозволяє розміщувати передній блок перед собою. §cМоже розглядатися як читерство на деяких серверах§r.",
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "Дозволяє розміщувати передній блок перед собою. §cМоже розглядатися як читерство на деяких серверах§r.",
|
||||||
"midnightcontrols.tooltip.reacharound.vertical": "Забезпечує вертикальне охоплення. §cМоже розглядатися як шахрайство на деяких серверах§r.",
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "Забезпечує вертикальне охоплення. §cМоже розглядатися як шахрайство на деяких серверах§r.",
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "Перезавантажує файл розкладки контролерів.",
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "Перезавантажує файл розкладки контролерів.",
|
||||||
"midnightcontrols.tooltip.right_dead_zone": "Мертва зона для правого аналогового стику контролера.",
|
"midnightcontrols.menu.right_dead_zone.tooltip": "Мертва зона для правого аналогового стику контролера.",
|
||||||
"midnightcontrols.tooltip.rotation_speed": "Швидкість обертання камери по осі X в режимі контролера.",
|
"midnightcontrols.menu.rotation_speed.tooltip": "Швидкість обертання камери по осі X в режимі контролера.",
|
||||||
"midnightcontrols.tooltip.y_axis_rotation_speed": "Швидкість обертання камери по осі Y в режимі контролера.",
|
"midnightcontrols.menu.y_axis_rotation_speed.tooltip": "Швидкість обертання камери по осі Y в режимі контролера.",
|
||||||
"midnightcontrols.tooltip.unfocused_input": "Дозволити введення з контролера, навіть якщо гра сфокусована.",
|
"midnightcontrols.menu.unfocused_input.tooltip": "Дозволити введення з контролера, навіть якщо гра сфокусована.",
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "Включити віртуальну мишу дуже корисно при грі двом на одному комп'ютері.",
|
"midnightcontrols.menu.virtual_mouse.tooltip": "Включити віртуальну мишу дуже корисно при грі двом на одному комп'ютері.",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "Звичайний світлий",
|
"midnightcontrols.virtual_mouse.skin.default_light": "Звичайний світлий",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "Звичайний темний",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "Звичайний темний",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "Додатковий світлий",
|
"midnightcontrols.virtual_mouse.skin.second_light": "Додатковий світлий",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_dark": "Додатковий темний",
|
"midnightcontrols.virtual_mouse.skin.second_dark": "Додатковий темний",
|
||||||
"modmenu.descriptionTranslation.midnightcontrols": "Додавання підтримки контролера та покращення елементів керування в цілому.\nРозгалужений від LambdaControls, підтримка якого, на жаль, припинена..",
|
"modmenu.descriptionTranslation.midnightcontrols": "Додавання підтримки контролера та покращення елементів керування в цілому.\nРозгалужений від LambdaControls, підтримка якого, на жаль, припинена..",
|
||||||
"midnightcontrols.menu.joystick_as_mouse": "Завжди використовуйте лівий стік як мишку",
|
"midnightcontrols.menu.joystick_as_mouse": "Завжди використовуйте лівий стік як мишку",
|
||||||
"midnightcontrols.tooltip.joystick_as_mouse": "Джойстик поводиться як миша в кожному меню.",
|
"midnightcontrols.menu.joystick_as_mouse.tooltip": "Джойстик поводиться як миша в кожному меню.",
|
||||||
"midnightcontrols.menu.controller_toggle_sneak": "Перемикач присідання на контролері",
|
"midnightcontrols.menu.controller_toggle_sneak": "Перемикач присідання на контролері",
|
||||||
"midnightcontrols.menu.controller_toggle_sprint": "Перемикач бігу на контролері",
|
"midnightcontrols.menu.controller_toggle_sprint": "Перемикач бігу на контролері",
|
||||||
"midnightcontrols.menu.move_chat": "Перемістити поле введення чату вгору",
|
"midnightcontrols.menu.move_chat": "Перемістити поле введення чату вгору",
|
||||||
|
|||||||
@@ -121,30 +121,30 @@
|
|||||||
"midnightcontrols.menu.virtual_mouse.skin": "虚拟鼠标指针样式",
|
"midnightcontrols.menu.virtual_mouse.skin": "虚拟鼠标指针样式",
|
||||||
"midnightcontrols.narrator.unbound": "取消绑定 %s",
|
"midnightcontrols.narrator.unbound": "取消绑定 %s",
|
||||||
"midnightcontrols.not_bound": "未绑定",
|
"midnightcontrols.not_bound": "未绑定",
|
||||||
"midnightcontrols.tooltip.analog_movement": "若游戏机制允许,则可根据推动摇杆的力度与幅度决定移动的速度。",
|
"midnightcontrols.menu.analog_movement.tooltip": "若游戏机制允许,则可根据推动摇杆的力度与幅度决定移动的速度。",
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "如果已有手柄连接,则自动切换为手柄操作模式。",
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "如果已有手柄连接,则自动切换为手柄操作模式。",
|
||||||
"midnightcontrols.tooltip.controller2": "使用额外的手柄,比如将一左一右的两个 Joy-Con 合为一个功能完全的手柄。",
|
"midnightcontrols.menu.controller2.tooltip": "使用额外的手柄,比如将一左一右的两个 Joy-Con 合为一个功能完全的手柄。",
|
||||||
"midnightcontrols.tooltip.controller_type": "选择手柄类型,以显示对应的按键图标。",
|
"midnightcontrols.menu.controller_type.tooltip": "选择手柄类型,以显示对应的按键图标。",
|
||||||
"midnightcontrols.tooltip.controls_mode": "操作模式",
|
"midnightcontrols.menu.controls_mode.tooltip": "操作模式",
|
||||||
"midnightcontrols.tooltip.fast_block_placing": "在创造模式中处于飞行状态时,可以根据你飞行的速度快速放置方块。\n§c在部分服务器可能会被认定为作弊。",
|
"midnightcontrols.menu.fast_block_placing.tooltip": "在创造模式中处于飞行状态时,可以根据你飞行的速度快速放置方块。\n§c在部分服务器可能会被认定为作弊。",
|
||||||
"midnightcontrols.tooltip.fly_drifting": "处于飞行状态时,启用原版的水平方向飞行惯性(缓停滑行)。",
|
"midnightcontrols.menu.fly_drifting.tooltip": "处于飞行状态时,启用原版的水平方向飞行惯性(缓停滑行)。",
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "处于飞行状态时,启用原版的垂直方向飞行惯性(缓停滑行)。",
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "处于飞行状态时,启用原版的垂直方向飞行惯性(缓停滑行)。",
|
||||||
"midnightcontrols.tooltip.hud_enable": "显示手柄按键操作提示。",
|
"midnightcontrols.menu.hud_enable.tooltip": "显示手柄按键操作提示。",
|
||||||
"midnightcontrols.tooltip.hud_side": "HUD的位置位于画面的哪一侧。",
|
"midnightcontrols.menu.hud_side.tooltip": "HUD的位置位于画面的哪一侧。",
|
||||||
"midnightcontrols.tooltip.left_dead_zone": "左摇杆配置的死区。\n死区决定摇杆要偏离中心位置多远才能让摇杆的输入有效。",
|
"midnightcontrols.menu.left_dead_zone.tooltip": "左摇杆配置的死区。\n死区决定摇杆要偏离中心位置多远才能让摇杆的输入有效。",
|
||||||
"midnightcontrols.tooltip.max_left_x_value": "更改左摇杆X轴最大值的识别范围。\n若感觉即便推满摇杆也未达到最大的输入值,导致在识别摇杆输入的精确值的情况下,左右移动较为缓慢等问题,本项可能会有所帮助。",
|
"midnightcontrols.menu.max_left_x_value.tooltip": "更改左摇杆X轴最大值的识别范围。\n若感觉即便推满摇杆也未达到最大的输入值,导致在识别摇杆输入的精确值的情况下,左右移动较为缓慢等问题,本项可能会有所帮助。",
|
||||||
"midnightcontrols.tooltip.max_left_y_value": "更改左摇杆Y轴最大值的识别范围。\n若感觉即便推满摇杆也未达到最大的输入值,导致在识别摇杆输入的精确值的情况下,前后移动较为缓慢等问题,本项可能会有所帮助。",
|
"midnightcontrols.menu.max_left_y_value.tooltip": "更改左摇杆Y轴最大值的识别范围。\n若感觉即便推满摇杆也未达到最大的输入值,导致在识别摇杆输入的精确值的情况下,前后移动较为缓慢等问题,本项可能会有所帮助。",
|
||||||
"midnightcontrols.tooltip.max_right_x_value": "更改右摇杆X轴最大值的识别范围。\n若感觉即便推满摇杆也未达到最大的输入值,导致镜头左右旋转较为缓慢等问题,本项可能会有所帮助。",
|
"midnightcontrols.menu.max_right_x_value.tooltip": "更改右摇杆X轴最大值的识别范围。\n若感觉即便推满摇杆也未达到最大的输入值,导致镜头左右旋转较为缓慢等问题,本项可能会有所帮助。",
|
||||||
"midnightcontrols.tooltip.max_right_y_value": "更改右摇杆Y轴最大值的识别范围。\n若感觉即便推满摇杆也未达到最大的输入值,导致镜头上下旋转较为缓慢等问题,本项可能会有所帮助。",
|
"midnightcontrols.menu.max_right_y_value.tooltip": "更改右摇杆Y轴最大值的识别范围。\n若感觉即便推满摇杆也未达到最大的输入值,导致镜头上下旋转较为缓慢等问题,本项可能会有所帮助。",
|
||||||
"midnightcontrols.tooltip.mouse_speed": "手柄模拟的鼠标的移动速度。",
|
"midnightcontrols.menu.mouse_speed.tooltip": "手柄模拟的鼠标的移动速度。",
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "启用水平方向方块放置辅助,可在脚下方块的前方放置方块。\n§c在部分服务器可能会被认定为作弊。",
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "启用水平方向方块放置辅助,可在脚下方块的前方放置方块。\n§c在部分服务器可能会被认定为作弊。",
|
||||||
"midnightcontrols.tooltip.reacharound.vertical": "启用垂直方向方块放置辅助,可在脚下方块的下方放置方块。\n§c在部分服务器可能会被认定为作弊。",
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "启用垂直方向方块放置辅助,可在脚下方块的下方放置方块。\n§c在部分服务器可能会被认定为作弊。",
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "重新加载手柄的按键映射文件。",
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "重新加载手柄的按键映射文件。",
|
||||||
"midnightcontrols.tooltip.right_dead_zone": "右摇杆配置的死区。\n死区决定摇杆要偏离中心位置多远才能让摇杆的输入有效。",
|
"midnightcontrols.menu.right_dead_zone.tooltip": "右摇杆配置的死区。\n死区决定摇杆要偏离中心位置多远才能让摇杆的输入有效。",
|
||||||
"midnightcontrols.tooltip.rotation_speed": "手柄操作模式下的镜头旋转速度。(X)",
|
"midnightcontrols.menu.rotation_speed.tooltip": "手柄操作模式下的镜头旋转速度。(X)",
|
||||||
"midnightcontrols.tooltip.y_axis_rotation_speed": "手柄操作模式下的镜头旋转速度。(Y)",
|
"midnightcontrols.menu.y_axis_rotation_speed.tooltip": "手柄操作模式下的镜头旋转速度。(Y)",
|
||||||
"midnightcontrols.tooltip.unfocused_input": "即使游戏窗口处于非活动状态,也允许手柄进行按键输入。",
|
"midnightcontrols.menu.unfocused_input.tooltip": "即使游戏窗口处于非活动状态,也允许手柄进行按键输入。",
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "启用虚拟鼠标,在分屏的情况下很有用。",
|
"midnightcontrols.menu.virtual_mouse.tooltip": "启用虚拟鼠标,在分屏的情况下很有用。",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "默认样式(白色)",
|
"midnightcontrols.virtual_mouse.skin.default_light": "默认样式(白色)",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "默认样式(黑色)",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "默认样式(黑色)",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "额外样式(白色)",
|
"midnightcontrols.virtual_mouse.skin.second_light": "额外样式(白色)",
|
||||||
|
|||||||
@@ -172,33 +172,33 @@
|
|||||||
"midnightcontrols.menu.virtual_mouse.skin": "虛擬滑鼠指標樣式",
|
"midnightcontrols.menu.virtual_mouse.skin": "虛擬滑鼠指標樣式",
|
||||||
"midnightcontrols.narrator.unbound": "取消綁定 %s",
|
"midnightcontrols.narrator.unbound": "取消綁定 %s",
|
||||||
"midnightcontrols.not_bound": "未綁定",
|
"midnightcontrols.not_bound": "未綁定",
|
||||||
"midnightcontrols.tooltip.analog_movement": "若遊戲機制允許,則可根據推動搖桿的力度與幅度決定移動的速度。",
|
"midnightcontrols.menu.analog_movement.tooltip": "若遊戲機制允許,則可根據推動搖桿的力度與幅度決定移動的速度。",
|
||||||
"midnightcontrols.tooltip.auto_switch_mode": "如果已有搖桿連接,則自動切換為搖桿操作模式。",
|
"midnightcontrols.menu.auto_switch_mode.tooltip": "如果已有搖桿連接,則自動切換為搖桿操作模式。",
|
||||||
"midnightcontrols.tooltip.controller2": "使用額外的搖桿,例如將左右兩個的 Joy-Con 合為一個功能完全的搖桿。",
|
"midnightcontrols.menu.controller2.tooltip": "使用額外的搖桿,例如將左右兩個的 Joy-Con 合為一個功能完全的搖桿。",
|
||||||
"midnightcontrols.tooltip.controller_type": "選擇搖桿類型,以顯示對應的按鍵圖標。",
|
"midnightcontrols.menu.controller_type.tooltip": "選擇搖桿類型,以顯示對應的按鍵圖標。",
|
||||||
"midnightcontrols.tooltip.controls_mode": "操作模式",
|
"midnightcontrols.menu.controls_mode.tooltip": "操作模式",
|
||||||
"midnightcontrols.tooltip.double_tap_to_sprint": "切換是否啟用向前行走按鍵,快速按兩次走路讓玩家奔跑",
|
"midnightcontrols.menu.double_tap_to_sprint.tooltip": "切換是否啟用向前行走按鍵,快速按兩次走路讓玩家奔跑",
|
||||||
"midnightcontrols.tooltip.fast_block_placing": "在創造模式中處於飛行狀態時,可以根據你飛行的速度快速放置方塊。\n§c在部分伺服器可能會被認定為作弊§r。",
|
"midnightcontrols.menu.fast_block_placing.tooltip": "在創造模式中處於飛行狀態時,可以根據你飛行的速度快速放置方塊。\n§c在部分伺服器可能會被認定為作弊§r。",
|
||||||
"midnightcontrols.tooltip.fly_drifting": "處於飛行狀態時,啟用原版的水平方向飛行慣性(緩停滑行)。",
|
"midnightcontrols.menu.fly_drifting.tooltip": "處於飛行狀態時,啟用原版的水平方向飛行慣性(緩停滑行)。",
|
||||||
"midnightcontrols.tooltip.fly_drifting_vertical": "處於飛行狀態時,啟用原版的垂直方向飛行慣性(緩停滑行)。",
|
"midnightcontrols.menu.fly_drifting_vertical.tooltip": "處於飛行狀態時,啟用原版的垂直方向飛行慣性(緩停滑行)。",
|
||||||
"midnightcontrols.tooltip.hud_enable": "顯示搖桿按鍵操作提示。",
|
"midnightcontrols.menu.hud_enable.tooltip": "顯示搖桿按鍵操作提示。",
|
||||||
"midnightcontrols.tooltip.hud_side": "HUD 的位置位於畫面的哪一側。",
|
"midnightcontrols.menu.hud_side.tooltip": "HUD 的位置位於畫面的哪一側。",
|
||||||
"midnightcontrols.tooltip.joystick_as_mouse": "讓搖桿在每個介面有滑鼠的功能。",
|
"midnightcontrols.menu.joystick_as_mouse.tooltip": "讓搖桿在每個介面有滑鼠的功能。",
|
||||||
"midnightcontrols.tooltip.left_dead_zone": "左搖桿設定的死區。\n死區決定搖桿要偏離中心位置多遠才能讓搖桿的輸入有效。",
|
"midnightcontrols.menu.left_dead_zone.tooltip": "左搖桿設定的死區。\n死區決定搖桿要偏離中心位置多遠才能讓搖桿的輸入有效。",
|
||||||
"midnightcontrols.tooltip.max_left_x_value": "更改左搖桿 X 軸最大值的識別範圍。\n若感覺即便推滿搖桿也未達到最大的輸入值,導致在識別搖桿輸入的精確值的情況下,左右移動較為緩慢等問題,本項可能會有所幫助。",
|
"midnightcontrols.menu.max_left_x_value.tooltip": "更改左搖桿 X 軸最大值的識別範圍。\n若感覺即便推滿搖桿也未達到最大的輸入值,導致在識別搖桿輸入的精確值的情況下,左右移動較為緩慢等問題,本項可能會有所幫助。",
|
||||||
"midnightcontrols.tooltip.max_left_y_value": "更改左搖桿 Y 軸最大值的識別範圍。\n若感覺即便推滿搖桿也未達到最大的輸入值,導致在識別搖桿輸入的精確值的情況下,前後移動較為緩慢等問題,本項可能會有所幫助。",
|
"midnightcontrols.menu.max_left_y_value.tooltip": "更改左搖桿 Y 軸最大值的識別範圍。\n若感覺即便推滿搖桿也未達到最大的輸入值,導致在識別搖桿輸入的精確值的情況下,前後移動較為緩慢等問題,本項可能會有所幫助。",
|
||||||
"midnightcontrols.tooltip.max_right_x_value": "更改右搖桿 X 軸最大值的識別範圍。\n若感覺即便推滿搖桿也未達到最大的輸入值,導致鏡頭左右旋轉較為緩慢等問題,本項可能會有所幫助。",
|
"midnightcontrols.menu.max_right_x_value.tooltip": "更改右搖桿 X 軸最大值的識別範圍。\n若感覺即便推滿搖桿也未達到最大的輸入值,導致鏡頭左右旋轉較為緩慢等問題,本項可能會有所幫助。",
|
||||||
"midnightcontrols.tooltip.max_right_y_value": "更改右搖桿 Y 軸最大值的識別範圍。\n若感覺即便推滿搖桿也未達到最大的輸入值,導致鏡頭上下旋轉較為緩慢等問題,本項可能會有所幫助。",
|
"midnightcontrols.menu.max_right_y_value.tooltip": "更改右搖桿 Y 軸最大值的識別範圍。\n若感覺即便推滿搖桿也未達到最大的輸入值,導致鏡頭上下旋轉較為緩慢等問題,本項可能會有所幫助。",
|
||||||
"midnightcontrols.tooltip.mouse_speed": "搖桿模擬的滑鼠指標的移動速度。",
|
"midnightcontrols.menu.mouse_speed.tooltip": "搖桿模擬的滑鼠指標的移動速度。",
|
||||||
"midnightcontrols.tooltip.move_chat": "將聊天輸入欄位移至頂部,以便在使用虛擬鍵盤的裝置上更好地輸入。",
|
"midnightcontrols.menu.move_chat.tooltip": "將聊天輸入欄位移至頂部,以便在使用虛擬鍵盤的裝置上更好地輸入。",
|
||||||
"midnightcontrols.tooltip.reacharound.horizontal": "啟用水平方向方塊放置輔助,可在腳下方塊的前方放置方塊。\n§c在部分伺服器可能會被認定為作弊§r。",
|
"midnightcontrols.menu.reacharound.horizontal.tooltip": "啟用水平方向方塊放置輔助,可在腳下方塊的前方放置方塊。\n§c在部分伺服器可能會被認定為作弊§r。",
|
||||||
"midnightcontrols.tooltip.reacharound.vertical": "啟用垂直方向方塊放置輔助,可在腳下方塊的下方放置方塊。\n§c在部分伺服器可能會被認定為作弊§r。",
|
"midnightcontrols.menu.reacharound.vertical.tooltip": "啟用垂直方向方塊放置輔助,可在腳下方塊的下方放置方塊。\n§c在部分伺服器可能會被認定為作弊§r。",
|
||||||
"midnightcontrols.tooltip.reload_controller_mappings": "重新加載搖桿的按鍵映射文件。",
|
"midnightcontrols.menu.reload_controller_mappings.tooltip": "重新加載搖桿的按鍵映射文件。",
|
||||||
"midnightcontrols.tooltip.right_dead_zone": "右搖桿設定的死區。\n死區決定搖桿要偏離中心位置多遠才能讓搖桿的輸入有效。",
|
"midnightcontrols.menu.right_dead_zone.tooltip": "右搖桿設定的死區。\n死區決定搖桿要偏離中心位置多遠才能讓搖桿的輸入有效。",
|
||||||
"midnightcontrols.tooltip.rotation_speed": "搖桿操作模式下的鏡頭旋轉速度。(X)",
|
"midnightcontrols.menu.rotation_speed.tooltip": "搖桿操作模式下的鏡頭旋轉速度。(X)",
|
||||||
"midnightcontrols.tooltip.y_axis_rotation_speed": "搖桿操作模式下的鏡頭旋轉速度。(Y)",
|
"midnightcontrols.menu.y_axis_rotation_speed.tooltip": "搖桿操作模式下的鏡頭旋轉速度。(Y)",
|
||||||
"midnightcontrols.tooltip.unfocused_input": "即使遊戲窗口處於非活動狀態,也允許搖桿進行按鍵輸入。",
|
"midnightcontrols.menu.unfocused_input.tooltip": "即使遊戲窗口處於非活動狀態,也允許搖桿進行按鍵輸入。",
|
||||||
"midnightcontrols.tooltip.virtual_mouse": "啟用虛擬滑鼠指標,在分屏的情況下很有用。",
|
"midnightcontrols.menu.virtual_mouse.tooltip": "啟用虛擬滑鼠指標,在分屏的情況下很有用。",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_light": "預設樣式(白色)",
|
"midnightcontrols.virtual_mouse.skin.default_light": "預設樣式(白色)",
|
||||||
"midnightcontrols.virtual_mouse.skin.default_dark": "預設樣式(黑色)",
|
"midnightcontrols.virtual_mouse.skin.default_dark": "預設樣式(黑色)",
|
||||||
"midnightcontrols.virtual_mouse.skin.second_light": "額外樣式(白色)",
|
"midnightcontrols.virtual_mouse.skin.second_light": "額外樣式(白色)",
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
"depends": {
|
"depends": {
|
||||||
"fabricloader": ">=0.11.3",
|
"fabricloader": ">=0.11.3",
|
||||||
"fabric": ">=0.71.0",
|
"fabric": ">=0.71.0",
|
||||||
"minecraft": "~1.19.3",
|
"minecraft": "~1.20",
|
||||||
"spruceui": ">=3.2.0",
|
"spruceui": ">=3.2.0",
|
||||||
"java": ">=17"
|
"java": ">=17"
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user