diff --git a/build.gradle b/build.gradle index 7c95d58..a347986 100644 --- a/build.gradle +++ b/build.gradle @@ -118,6 +118,7 @@ dependencies { modImplementation "io.github.kosmx:bendy-lib:${project.bendylib_version}" modImplementation "dev.isxander:yet-another-config-lib:${project.yacl_version}" modImplementation "maven.modrinth:inventory-tabs-updated:${project.inventorytabs_version}" + modImplementation "maven.modrinth:bedrockify:${project.bedrockify_version}" // Required for Inventory Tabs modApi("me.shedaniel.cloth:cloth-config-fabric:${project.clothconfig_version}") { exclude(group: "net.fabricmc.fabric-api") diff --git a/gradle.properties b/gradle.properties index cdab2cd..cae7193 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ yarn_mappings=1.19.2+build.9 loader_version=0.14.9 # Mod Properties -mod_version = 1.6.1-dev +mod_version = 1.7.0 maven_group = eu.midnightdust archives_base_name = midnightcontrols modrinth_id=bXX9h73M @@ -27,6 +27,7 @@ libgui_version=6.0.0+1.19 inventorytabs_version=inventorytabs-0.9.beta-1.19.x clothconfig_version=7.0.72 yacl_version=0.1.2 +bedrockify_version=1.5+mc1.19.1-2 # 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 diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/ControllerType.java b/src/main/java/eu/midnightdust/midnightcontrols/client/ControllerType.java index 20aecd0..ed86533 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/ControllerType.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/ControllerType.java @@ -32,7 +32,8 @@ public enum ControllerType implements Nameable { XBOX(5), STEAM_DECK(6), STEAM_CONTROLLER(7), - OUYA(8); + OUYA(8), + NUMBERED(9); private final int id; private final Text text; diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsConfig.java b/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsConfig.java index 35faa03..5048d75 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsConfig.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsConfig.java @@ -17,6 +17,7 @@ import eu.midnightdust.midnightcontrols.MidnightControlsFeature; import eu.midnightdust.midnightcontrols.client.controller.ButtonBinding; import eu.midnightdust.midnightcontrols.client.controller.Controller; import eu.midnightdust.midnightcontrols.client.controller.InputManager; +import net.minecraft.client.MinecraftClient; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.lwjgl.glfw.GLFW; @@ -42,6 +43,8 @@ public class MidnightControlsConfig extends MidnightConfig { // Gameplay @Entry(name = "midnightcontrols.menu.analog_movement") public static boolean analogMovement = true; @Entry(name = "midnightcontrols.menu.double_tap_to_sprint") public static boolean doubleTapToSprint = true; + @Entry(name = "midnightcontrols.menu.controller_toggle_sneak") public static boolean controllerToggleSneak = MinecraftClient.getInstance().options.getSneakToggled().getValue(); + @Entry(name = "midnightcontrols.menu.controller_toggle_sprint") public static boolean controllerToggleSprint = MinecraftClient.getInstance().options.getSprintToggled().getValue(); @Entry(name = "midnightcontrols.menu.fast_block_placing") public static boolean fastBlockPlacing = false; // Disabled by default as this behaviour can be considered cheating on multiplayer servers. @Entry(name = "midnightcontrols.menu.fly_drifting") public static boolean flyDrifting = true; // Enabled by default as disabling this behaviour can be considered cheating on multiplayer servers. It can also conflict with some other mods. @Entry(name = "midnightcontrols.menu.fly_drifting_vertical") public static boolean verticalFlyDrifting = true; // Enabled by default as disabling this behaviour can be considered cheating on multiplayer servers. @@ -66,7 +69,8 @@ public class MidnightControlsConfig extends MidnightConfig { @Entry(name = "Mouse screens") public static List mouseScreens = Lists.newArrayList("me.jellysquid.mods.sodium.client.gui", "net.coderbot.iris.gui", "net.minecraft.client.gui.screen.advancement", "net.minecraft.client.gui.screen.pack.PackScreen", "net.minecraft.class_5375", "net.minecraft.class_457", "net.minecraft.class_408", "me.flashyreese.mods.reeses_sodium_options.client.gui", "dev.emi.emi.screen", - "hardcorequesting.client.interfaces.GuiQuestBook", "hardcorequesting.client.interfaces.GuiReward", "hardcorequesting.client.interfaces.EditTrackerScreen"); + "hardcorequesting.client.interfaces.GuiQuestBook", "hardcorequesting.client.interfaces.GuiReward", "hardcorequesting.client.interfaces.EditTrackerScreen", + "me.shedaniel.clothconfig2.gui.ClothConfigScreen"); @Entry(name = "Keybindings") public static Map BINDING = new HashMap<>(); private static final Pattern BUTTON_BINDING_PATTERN = Pattern.compile("(-?\\d+)\\+?"); @@ -298,6 +302,8 @@ public class MidnightControlsConfig extends MidnightConfig { hudSide = HudSide.LEFT; analogMovement = true; doubleTapToSprint = true; + controllerToggleSneak = MinecraftClient.getInstance().options.getSneakToggled().getValue(); + controllerToggleSprint = MinecraftClient.getInstance().options.getSprintToggled().getValue(); fastBlockPlacing = false; flyDrifting = true; verticalFlyDrifting = true; @@ -319,7 +325,7 @@ public class MidnightControlsConfig extends MidnightConfig { controllerID = 0; secondControllerID = -1; controllerType = ControllerType.DEFAULT; - mouseScreens = Lists.newArrayList("me.jellysquid.mods.sodium.client.gui", "net.coderbot.iris.gui", "net.minecraft.client.gui.screen.advancement", "net.minecraft.client.gui.screen.pack.PackScreen", "net.minecraft.class_5375", "net.minecraft.class_457", "net.minecraft.class_408", "me.flashyreese.mods.reeses_sodium_options.client.gui", "dev.emi.emi.screen"); + mouseScreens = Lists.newArrayList("me.jellysquid.mods.sodium.client.gui", "net.coderbot.iris.gui", "net.minecraft.client.gui.screen.advancement", "net.minecraft.client.gui.screen.pack.PackScreen", "net.minecraft.class_5375", "net.minecraft.class_457", "net.minecraft.class_408", "me.flashyreese.mods.reeses_sodium_options.client.gui", "dev.emi.emi.screen", "me.shedaniel.clothconfig2.gui.ClothConfigScreen"); BINDING = new HashMap<>(); maxAnalogValues = new double[]{1, 1, 1, 1}; triggerFix = true; diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/compat/BedrockifyCompat.java b/src/main/java/eu/midnightdust/midnightcontrols/client/compat/BedrockifyCompat.java new file mode 100644 index 0000000..1f8bba9 --- /dev/null +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/compat/BedrockifyCompat.java @@ -0,0 +1,34 @@ +/* + * Copyright © 2022 Motschen + * + * This file is part of midnightcontrols. + * + * Licensed under the MIT license. For more information, + * see the LICENSE file. + */ + +package eu.midnightdust.midnightcontrols.client.compat; + +import eu.midnightdust.midnightcontrols.client.MidnightControlsClient; +import me.juancarloscp52.bedrockify.client.BedrockifyClient; +import me.juancarloscp52.bedrockify.client.BedrockifyClientSettings; +import net.minecraft.client.gui.screen.Screen; +import org.aperlambda.lambdacommon.utils.LambdaReflection; +import org.jetbrains.annotations.NotNull; + +import java.util.Optional; + +/** + * Represents HQM compatibility handler. + * + * @author Motschen + * @version 1.7.0 + * @since 1.7.0 + */ +public class BedrockifyCompat implements CompatHandler { + + @Override + public void handle(@NotNull MidnightControlsClient mod) { + BedrockifyClient.getInstance().settings.disableFlyingMomentum = false; + } +} diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/compat/MidnightControlsCompat.java b/src/main/java/eu/midnightdust/midnightcontrols/client/compat/MidnightControlsCompat.java index 5b8883b..0a28703 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/compat/MidnightControlsCompat.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/compat/MidnightControlsCompat.java @@ -53,6 +53,10 @@ public class MidnightControlsCompat { mod.log("Adding HQM compatibility..."); HANDLERS.add(new HQMCompat()); } + if (FabricLoader.getInstance().isModLoaded("bedrockify")) { + mod.log("Adding Bedrockify compatibility..."); + HANDLERS.add(new BedrockifyCompat()); + } HANDLERS.forEach(handler -> handler.handle(mod)); InputManager.loadButtonBindings(); } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/ButtonBinding.java b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/ButtonBinding.java index 17ecacd..240dfc4 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/ButtonBinding.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/ButtonBinding.java @@ -88,7 +88,8 @@ public class ButtonBinding { .action(InputHandlers.handleInventorySlotPad(0)).onlyInInventory().cooldown().register(); public static final ButtonBinding SNEAK = new Builder("sneak").buttons(GLFW_GAMEPAD_BUTTON_RIGHT_THUMB) .actions(InputHandlers::handleToggleSneak).onlyInGame().cooldown().register(); - public static final ButtonBinding SPRINT = new Builder("sprint").buttons(GLFW_GAMEPAD_BUTTON_LEFT_THUMB).onlyInGame().register(); + public static final ButtonBinding SPRINT = new Builder("sprint").buttons(GLFW_GAMEPAD_BUTTON_LEFT_THUMB) + .actions(InputHandlers::handleToggleSprint).onlyInGame().register(); public static final ButtonBinding SWAP_HANDS = new Builder("swap_hands").buttons(GLFW_GAMEPAD_BUTTON_X).onlyInGame().cooldown().register(); public static final ButtonBinding TAB_LEFT = new Builder("tab_back").buttons(GLFW_GAMEPAD_BUTTON_LEFT_BUMPER) .action(InputHandlers.handleHotbar(false)).filter(Predicates.or(InputHandlers::inInventory, InputHandlers::inAdvancements).or((client, binding) -> client.currentScreen != null && client.currentScreen.getClass().toString().contains("sodium"))).cooldown().register(); diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/InputHandlers.java b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/InputHandlers.java index 51ab043..4c830c6 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/InputHandlers.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/InputHandlers.java @@ -11,6 +11,7 @@ package eu.midnightdust.midnightcontrols.client.controller; import eu.midnightdust.midnightcontrols.client.ButtonState; import eu.midnightdust.midnightcontrols.client.MidnightControlsClient; +import eu.midnightdust.midnightcontrols.client.MidnightControlsConfig; import eu.midnightdust.midnightcontrols.client.MidnightInput; import eu.midnightdust.midnightcontrols.client.compat.InventoryTabsCompat; import eu.midnightdust.midnightcontrols.client.compat.MidnightControlsCompat; @@ -254,9 +255,28 @@ public class InputHandlers { boolean sneakToggled = client.options.getSneakToggled().getValue(); if (client.player.getAbilities().flying && sneakToggled) client.options.getSneakToggled().setValue(false); + else if (MidnightControlsConfig.controllerToggleSneak != sneakToggled) + client.options.getSneakToggled().setValue(!sneakToggled); binding.setPressed(button.pressed); if (client.player.getAbilities().flying && sneakToggled) client.options.getSneakToggled().setValue(true); + else if (MidnightControlsConfig.controllerToggleSneak != sneakToggled) + client.options.getSneakToggled().setValue(sneakToggled); + }); + return true; + } + public static boolean handleToggleSprint(@NotNull MinecraftClient client, @NotNull ButtonBinding button, float value, @NotNull ButtonState action) { + button.asKeyBinding().ifPresent(binding -> { + boolean sprintToggled = client.options.getSprintToggled().getValue(); + if (client.player.getAbilities().flying && sprintToggled) + client.options.getSprintToggled().setValue(false); + else if (MidnightControlsConfig.controllerToggleSneak != sprintToggled) + client.options.getSprintToggled().setValue(!sprintToggled); + binding.setPressed(button.pressed); + if (client.player.getAbilities().flying && sprintToggled) + client.options.getSprintToggled().setValue(true); + else if (MidnightControlsConfig.controllerToggleSneak != sprintToggled) + client.options.getSprintToggled().setValue(sprintToggled); }); return true; } diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/MovementHandler.java b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/MovementHandler.java index 5683d67..b7d45dd 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/controller/MovementHandler.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/controller/MovementHandler.java @@ -62,7 +62,7 @@ public final class MovementHandler implements PressAction { player.input.pressingLeft = this.pressingLeft; player.input.pressingRight = this.pressingRight; - // Do a implicit square here + // Do an implicit square here movementR = this.slowdownFactor * (Math.pow(this.movementSideways, 2) + Math.pow(this.movementForward, 2)); movementR = MathHelper.clamp(movementR, 0.f, 1.f); movementTheta = Math.atan2(this.movementForward, this.movementSideways); diff --git a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsSettingsScreen.java b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsSettingsScreen.java index a455dda..2497bc8 100644 --- a/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsSettingsScreen.java +++ b/src/main/java/eu/midnightdust/midnightcontrols/client/gui/MidnightControlsSettingsScreen.java @@ -63,6 +63,8 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { private final SpruceOption analogMovementOption; private final SpruceOption doubleTapToSprintOption; private final SpruceOption autoJumpOption; + private final SpruceOption controllerToggleSneakOption; + private final SpruceOption controllerToggleSprintOption; private final SpruceOption fastBlockPlacingOption; private final SpruceOption frontBlockPlacingOption; private final SpruceOption verticalReacharoundOption; @@ -199,6 +201,12 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { () -> this.client.options.getAutoJump().getValue(), newValue -> this.client.options.getAutoJump().setValue(newValue), null); + this.controllerToggleSneakOption = new SpruceToggleBooleanOption("midnightcontrols.menu.controller_toggle_sneak", + () -> MidnightControlsConfig.controllerToggleSneak, value -> MidnightControlsConfig.controllerToggleSneak = value, + null); + this.controllerToggleSprintOption = new SpruceToggleBooleanOption("midnightcontrols.menu.controller_toggle_sprint", + () -> MidnightControlsConfig.controllerToggleSprint, value -> MidnightControlsConfig.controllerToggleSprint = value, + null); this.fastBlockPlacingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.fast_block_placing", () -> MidnightControlsConfig.fastBlockPlacing, value -> MidnightControlsConfig.fastBlockPlacing = value, Text.translatable("midnightcontrols.tooltip.fast_block_placing")); this.frontBlockPlacingOption = new SpruceToggleBooleanOption("midnightcontrols.menu.reacharound.horizontal", () -> MidnightControlsConfig.horizontalReacharound, @@ -329,6 +337,8 @@ public class MidnightControlsSettingsScreen extends SpruceScreen { list.setBackground(new MidnightControlsBackground(130)); list.addSingleOptionEntry(this.analogMovementOption); list.addSingleOptionEntry(this.doubleTapToSprintOption); + list.addSingleOptionEntry(this.controllerToggleSneakOption); + list.addSingleOptionEntry(this.controllerToggleSprintOption); if (MidnightControls.isExtrasLoaded) list.addSingleOptionEntry(this.fastBlockPlacingOption); if (MidnightControls.isExtrasLoaded) list.addSingleOptionEntry(this.frontBlockPlacingOption); if (MidnightControls.isExtrasLoaded) list.addSingleOptionEntry(this.verticalReacharoundOption); diff --git a/src/main/resources/assets/midnightcontrols/lang/de_de.json b/src/main/resources/assets/midnightcontrols/lang/de_de.json index 0abd3e8..603b487 100644 --- a/src/main/resources/assets/midnightcontrols/lang/de_de.json +++ b/src/main/resources/assets/midnightcontrols/lang/de_de.json @@ -77,6 +77,7 @@ "midnightcontrols.controller.mappings.error.write": "Fehler beim Schreiben der Controller Mappings.", "midnightcontrols.controller.mappings.updated": "Mappings aktualisiert!", "midnightcontrols.controller_type.default": "Standard", + "midnightcontrols.controller_type.numbered": "Nummerierter Controller", "midnightcontrols.controls_mode.default": "Tastatur/Maus", "midnightcontrols.controls_mode.controller": "Controller", "midnightcontrols.controls_mode.touchscreen": "Touchscreen (In Arbeit)", diff --git a/src/main/resources/assets/midnightcontrols/lang/en_us.json b/src/main/resources/assets/midnightcontrols/lang/en_us.json index 2f09330..15f998e 100644 --- a/src/main/resources/assets/midnightcontrols/lang/en_us.json +++ b/src/main/resources/assets/midnightcontrols/lang/en_us.json @@ -1,5 +1,24 @@ { "midnightcontrols.midnightconfig.title": "MidnightControls Advanced Config", + "midnightcontrols.midnightconfig.enum.VirtualMouseSkin.DEFAULT_LIGHT": "Default Light", + "midnightcontrols.midnightconfig.enum.VirtualMouseSkin.DEFAULT_DARK": "Default Dark", + "midnightcontrols.midnightconfig.enum.VirtualMouseSkin.SECOND_LIGHT": "Second Light", + "midnightcontrols.midnightconfig.enum.VirtualMouseSkin.SECOND_DARK": "Second Dark", + "midnightcontrols.midnightconfig.enum.ControllerType.DEFAULT": "Default", + "midnightcontrols.midnightconfig.enum.ControllerType.DUALSHOCK": "DualShock", + "midnightcontrols.midnightconfig.enum.ControllerType.DUALSENSE": "DualSense", + "midnightcontrols.midnightconfig.enum.ControllerType.SWITCH": "Switch/Wii Controller", + "midnightcontrols.midnightconfig.enum.ControllerType.XBOX": "Xbox One/Series Controller", + "midnightcontrols.midnightconfig.enum.ControllerType.XBOX_360": "Xbox 360 Controller", + "midnightcontrols.midnightconfig.enum.ControllerType.STEAM_CONTROLLER": "Steam Controller", + "midnightcontrols.midnightconfig.enum.ControllerType.STEAM_DECK": "Steam Deck", + "midnightcontrols.midnightconfig.enum.ControllerType.OUYA": "OUYA Controller", + "midnightcontrols.midnightconfig.enum.ControllerType.NUMBERED": "Numbered Controller", + "midnightcontrols.midnightconfig.enum.ControlsMode.DEFAULT": "Keyboard/Mouse", + "midnightcontrols.midnightconfig.enum.ControlsMode.CONTROLLER": "Controller", + "midnightcontrols.midnightconfig.enum.ControlsMode.TOUCHSCREEN": "Touchscreen (WIP)", + "midnightcontrols.midnightconfig.enum.HudSide.LEFT": "Left", + "midnightcontrols.midnightconfig.enum.HudSide.RIGHT": "Right", "key.midnightcontrols.look_down": "Look down", "key.midnightcontrols.look_left": "Look left", "key.midnightcontrols.look_right": "Look right", @@ -99,6 +118,7 @@ "midnightcontrols.controller_type.steam_controller": "Steam Controller", "midnightcontrols.controller_type.steam_deck": "Steam Deck", "midnightcontrols.controller_type.ouya": "OUYA Controller", + "midnightcontrols.controller_type.numbered": "Numbered Controller", "midnightcontrols.controls_mode.default": "Keyboard/Mouse", "midnightcontrols.controls_mode.controller": "Controller", "midnightcontrols.controls_mode.touchscreen": "Touchscreen (WIP)", @@ -108,6 +128,8 @@ "midnightcontrols.menu.auto_switch_mode": "Auto Switch Mode", "midnightcontrols.menu.controller": "Controller", "midnightcontrols.menu.controller2": "Second Controller", + "midnightcontrols.menu.controller_toggle_sneak": "Toggle Sneak on Controller", + "midnightcontrols.menu.controller_toggle_sprint": "Toggle Sprint on Controller", "midnightcontrols.menu.controller_type": "Controller Type", "midnightcontrols.menu.controls_mode": "Mode", "midnightcontrols.menu.double_tap_to_sprint": "Double-Tap to Sprint", diff --git a/src/main/resources/assets/midnightcontrols/textures/gui/controller_axis.png b/src/main/resources/assets/midnightcontrols/textures/gui/controller_axis.png index e0b4c07..607ac55 100644 Binary files a/src/main/resources/assets/midnightcontrols/textures/gui/controller_axis.png and b/src/main/resources/assets/midnightcontrols/textures/gui/controller_axis.png differ diff --git a/src/main/resources/assets/midnightcontrols/textures/gui/controller_buttons.png b/src/main/resources/assets/midnightcontrols/textures/gui/controller_buttons.png index 0a6f3ce..4b6a375 100644 Binary files a/src/main/resources/assets/midnightcontrols/textures/gui/controller_buttons.png and b/src/main/resources/assets/midnightcontrols/textures/gui/controller_buttons.png differ diff --git a/src/main/resources/assets/midnightcontrols/textures/gui/controller_expanded.png b/src/main/resources/assets/midnightcontrols/textures/gui/controller_expanded.png index ef322e6..8f19f87 100644 Binary files a/src/main/resources/assets/midnightcontrols/textures/gui/controller_expanded.png and b/src/main/resources/assets/midnightcontrols/textures/gui/controller_expanded.png differ diff --git a/src/main/resources/resourcepacks/bedrock/assets/midnightcontrols/textures/gui/controller_axis.png b/src/main/resources/resourcepacks/bedrock/assets/midnightcontrols/textures/gui/controller_axis.png index 6933f6e..d10b27f 100644 Binary files a/src/main/resources/resourcepacks/bedrock/assets/midnightcontrols/textures/gui/controller_axis.png and b/src/main/resources/resourcepacks/bedrock/assets/midnightcontrols/textures/gui/controller_axis.png differ diff --git a/src/main/resources/resourcepacks/bedrock/assets/midnightcontrols/textures/gui/controller_buttons.png b/src/main/resources/resourcepacks/bedrock/assets/midnightcontrols/textures/gui/controller_buttons.png index 086df70..135cd2e 100644 Binary files a/src/main/resources/resourcepacks/bedrock/assets/midnightcontrols/textures/gui/controller_buttons.png and b/src/main/resources/resourcepacks/bedrock/assets/midnightcontrols/textures/gui/controller_buttons.png differ diff --git a/src/main/resources/resourcepacks/legacy/assets/midnightcontrols/textures/gui/controller_axis.png b/src/main/resources/resourcepacks/legacy/assets/midnightcontrols/textures/gui/controller_axis.png index fccf05b..bc1ba2b 100644 Binary files a/src/main/resources/resourcepacks/legacy/assets/midnightcontrols/textures/gui/controller_axis.png and b/src/main/resources/resourcepacks/legacy/assets/midnightcontrols/textures/gui/controller_axis.png differ diff --git a/src/main/resources/resourcepacks/legacy/assets/midnightcontrols/textures/gui/controller_buttons.png b/src/main/resources/resourcepacks/legacy/assets/midnightcontrols/textures/gui/controller_buttons.png index 7c1902a..43201a4 100644 Binary files a/src/main/resources/resourcepacks/legacy/assets/midnightcontrols/textures/gui/controller_buttons.png and b/src/main/resources/resourcepacks/legacy/assets/midnightcontrols/textures/gui/controller_buttons.png differ