diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3a4186b..adc3ab0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,7 +13,7 @@ quilt_mappings = "1" fabric_loader = "0.14.19" fabric_api = "0.81.2+1.20" mixin_extras = "0.2.0-beta.8" -yet_another_config_lib = "3.0.0-beta.4+1.20" +yet_another_config_lib = "3.0.0-beta.5+1.20" mod_menu = "7.0.0-beta.2" hid4java = "0.7.0" quilt_json5 = "1.0.3" diff --git a/src/main/java/dev/isxander/controlify/config/gui/ControllerConfigGui.java b/src/main/java/dev/isxander/controlify/config/gui/ControllerConfigGui.java index e87fcfa..4fb126b 100644 --- a/src/main/java/dev/isxander/controlify/config/gui/ControllerConfigGui.java +++ b/src/main/java/dev/isxander/controlify/config/gui/ControllerConfigGui.java @@ -70,7 +70,7 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.horizontal_look_sensitivity")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.horizontal_look_sensitivity.tooltip")) + .text(Component.translatable("controlify.gui.horizontal_look_sensitivity.tooltip")) .build()) .binding(def.horizontalLookSensitivity, () -> config.horizontalLookSensitivity, v -> config.horizontalLookSensitivity = v) .controller(opt -> FloatSliderControllerBuilder.create(opt) @@ -79,7 +79,7 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.vertical_look_sensitivity")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.vertical_look_sensitivity.tooltip")) + .text(Component.translatable("controlify.gui.vertical_look_sensitivity.tooltip")) .build()) .binding(def.verticalLookSensitivity, () -> config.verticalLookSensitivity, v -> config.verticalLookSensitivity = v) .controller(opt -> FloatSliderControllerBuilder.create(opt) @@ -88,7 +88,7 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.vmouse_sensitivity")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.vmouse_sensitivity.tooltip")) + .text(Component.translatable("controlify.gui.vmouse_sensitivity.tooltip")) .build()) .binding(def.virtualMouseSensitivity, () -> config.virtualMouseSensitivity, v -> config.virtualMouseSensitivity = v) .controller(opt -> FloatSliderControllerBuilder.create(opt) @@ -97,7 +97,7 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.reduce_aiming_sensitivity")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.reduce_aiming_sensitivity.tooltip")) + .text(Component.translatable("controlify.gui.reduce_aiming_sensitivity.tooltip")) .webpImage(screenshot("reduce-aim-sensitivity.webp")) .build()) .binding(def.reduceAimingSensitivity, () -> config.reduceAimingSensitivity, v -> config.reduceAimingSensitivity = v) @@ -114,7 +114,7 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.toggle_sprint")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.toggle_sprint.tooltip")) + .text(Component.translatable("controlify.gui.toggle_sprint.tooltip")) .build()) .binding(def.toggleSprint, () -> config.toggleSprint, v -> config.toggleSprint = v) .controller(opt -> BooleanControllerBuilder.create(opt) @@ -124,7 +124,7 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.toggle_sneak")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.toggle_sneak.tooltip")) + .text(Component.translatable("controlify.gui.toggle_sneak.tooltip")) .build()) .binding(def.toggleSneak, () -> config.toggleSneak, v -> config.toggleSneak = v) .controller(opt -> BooleanControllerBuilder.create(opt) @@ -134,7 +134,7 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.auto_jump")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.auto_jump.tooltip")) + .text(Component.translatable("controlify.gui.auto_jump.tooltip")) .build()) .binding(def.autoJump, () -> config.autoJump, v -> config.autoJump = v) .controller(opt -> BooleanControllerBuilder.create(opt) @@ -149,7 +149,7 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.show_ingame_guide")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.show_ingame_guide.tooltip")) + .text(Component.translatable("controlify.gui.show_ingame_guide.tooltip")) .image(screenshot("ingame-button-guide.png"), 961, 306) .build()) .binding(def.showIngameGuide, () -> config.showIngameGuide, v -> config.showIngameGuide = v) @@ -158,7 +158,7 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.show_screen_guide")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.show_screen_guide.tooltip")) + .text(Component.translatable("controlify.gui.show_screen_guide.tooltip")) .webpImage(screenshot("screen-button-guide.webp")) .build()) .binding(def.showScreenGuide, () -> config.showScreenGuide, v -> config.showScreenGuide = v) @@ -167,7 +167,7 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.chat_screen_offset")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.chat_screen_offset.tooltip")) + .text(Component.translatable("controlify.gui.chat_screen_offset.tooltip")) .build()) .binding(def.chatKeyboardHeight, () -> config.chatKeyboardHeight, v -> config.chatKeyboardHeight = v) .controller(opt -> FloatSliderControllerBuilder.create(opt) @@ -186,8 +186,8 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.axis_deadzone", Component.translatable("controlify.gui.left_stick"))) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.axis_deadzone.tooltip", Component.translatable("controlify.gui.left_stick"))) - .description(Component.translatable("controlify.gui.stickdrift_warning").withStyle(ChatFormatting.RED)) + .text(Component.translatable("controlify.gui.axis_deadzone.tooltip", Component.translatable("controlify.gui.left_stick"))) + .text(Component.translatable("controlify.gui.stickdrift_warning").withStyle(ChatFormatting.RED)) .build()) .binding( Math.max(gpCfgDef.leftStickDeadzoneX, gpCfgDef.leftStickDeadzoneY), @@ -201,8 +201,8 @@ public class ControllerConfigGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.axis_deadzone", Component.translatable("controlify.gui.right_stick"))) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.axis_deadzone.tooltip", Component.translatable("controlify.gui.right_stick"))) - .description(Component.translatable("controlify.gui.stickdrift_warning").withStyle(ChatFormatting.RED)) + .text(Component.translatable("controlify.gui.axis_deadzone.tooltip", Component.translatable("controlify.gui.right_stick"))) + .text(Component.translatable("controlify.gui.stickdrift_warning").withStyle(ChatFormatting.RED)) .build()) .binding( Math.max(gpCfgDef.rightStickDeadzoneX, gpCfgDef.rightStickDeadzoneY), @@ -234,8 +234,8 @@ public class ControllerConfigGui { group.option(Option.createBuilder() .name(Component.translatable("controlify.gui.joystick_axis_deadzone", axis.name())) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.joystick_axis_deadzone.tooltip", axis.name())) - .description(Component.translatable("controlify.gui.stickdrift_warning").withStyle(ChatFormatting.RED)) + .text(Component.translatable("controlify.gui.joystick_axis_deadzone.tooltip", axis.name())) + .text(Component.translatable("controlify.gui.stickdrift_warning").withStyle(ChatFormatting.RED)) .build()) .binding(jsCfgDef.getDeadzone(i), () -> jsCfg.getDeadzone(i), v -> jsCfg.setDeadzone(i, v)) .controller(opt -> FloatSliderControllerBuilder.create(opt) @@ -248,7 +248,7 @@ public class ControllerConfigGui { group.option(Option.createBuilder() .name(Component.translatable("controlify.gui.button_activation_threshold")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.button_activation_threshold.tooltip")) + .text(Component.translatable("controlify.gui.button_activation_threshold.tooltip")) .build()) .binding(def.buttonActivationThreshold, () -> config.buttonActivationThreshold, v -> config.buttonActivationThreshold = v) .controller(opt -> FloatSliderControllerBuilder.create(opt) @@ -259,7 +259,7 @@ public class ControllerConfigGui { group.option(ButtonOption.createBuilder() .name(Component.translatable("controlify.gui.auto_calibration")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.auto_calibration.tooltip")) + .text(Component.translatable("controlify.gui.auto_calibration.tooltip")) .build()) .action((screen, button) -> Minecraft.getInstance().setScreen(new ControllerDeadzoneCalibrationScreen(controller, screen))) .build()); @@ -329,7 +329,7 @@ public class ControllerConfigGui { var vibrationGroup = OptionGroup.createBuilder() .name(Component.translatable("controlify.gui.group.vibration")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.group.vibration.tooltip")) + .text(Component.translatable("controlify.gui.group.vibration.tooltip")) .build()); if (canRumble) { List> strengthOptions = new ArrayList<>(); @@ -337,7 +337,7 @@ public class ControllerConfigGui { vibrationGroup.option(allowVibrationOption = Option.createBuilder() .name(Component.translatable("controlify.gui.allow_vibrations")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.allow_vibrations.tooltip")) + .text(Component.translatable("controlify.gui.allow_vibrations.tooltip")) .build()) .binding(def.allowVibrations, () -> config.allowVibrations, v -> config.allowVibrations = v) .listener((opt, allowVibration) -> strengthOptions.forEach(so -> so.setAvailable(allowVibration))) @@ -347,7 +347,7 @@ public class ControllerConfigGui { var option = Option.createBuilder() .name(Component.translatable("controlify.vibration_strength." + source.id().getNamespace() + "." + source.id().getPath())) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.vibration_strength." + source.id().getNamespace() + "." + source.id().getPath() + ".tooltip")) + .text(Component.translatable("controlify.vibration_strength." + source.id().getNamespace() + "." + source.id().getPath() + ".tooltip")) .build()) .binding( def.getRumbleStrength(source), @@ -399,14 +399,14 @@ public class ControllerConfigGui { var gyroGroup = OptionGroup.createBuilder() .name(Component.translatable("controlify.gui.group.gyro")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.group.gyro.tooltip")) + .text(Component.translatable("controlify.gui.group.gyro.tooltip")) .build()) .collapsed(!hasGyro); if (hasGyro) { gyroGroup.option(gyroSensitivity = Option.createBuilder() .name(Component.translatable("controlify.gui.gyro_look_sensitivity")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.gyro_look_sensitivity.tooltip")) + .text(Component.translatable("controlify.gui.gyro_look_sensitivity.tooltip")) .build()) .binding(gpCfgDef.gyroLookSensitivity, () -> gpCfg.gyroLookSensitivity, v -> gpCfg.gyroLookSensitivity = v) .controller(opt -> FloatSliderControllerBuilder.create(opt) @@ -422,7 +422,7 @@ public class ControllerConfigGui { var opt = Option.createBuilder() .name(Component.translatable("controlify.gui.gyro_requires_button")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.gyro_requires_button.tooltip")) + .text(Component.translatable("controlify.gui.gyro_requires_button.tooltip")) .build()) .binding(gpCfgDef.gyroRequiresButton, () -> gpCfg.gyroRequiresButton, v -> gpCfg.gyroRequiresButton = v) .controller(TickBoxControllerBuilder::create) @@ -435,7 +435,7 @@ public class ControllerConfigGui { var opt = Option.createBuilder() .name(Component.translatable("controlify.gui.flick_stick")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.flick_stick.tooltip")) + .text(Component.translatable("controlify.gui.flick_stick.tooltip")) .build()) .binding(gpCfgDef.flickStick, () -> gpCfg.flickStick, v -> gpCfg.flickStick = v) .controller(TickBoxControllerBuilder::create) diff --git a/src/main/java/dev/isxander/controlify/config/gui/GlobalSettingsGui.java b/src/main/java/dev/isxander/controlify/config/gui/GlobalSettingsGui.java index fa2be3c..87348af 100644 --- a/src/main/java/dev/isxander/controlify/config/gui/GlobalSettingsGui.java +++ b/src/main/java/dev/isxander/controlify/config/gui/GlobalSettingsGui.java @@ -11,6 +11,7 @@ import net.minecraft.ChatFormatting; import net.minecraft.Util; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; public class GlobalSettingsGui { public static Screen createGlobalSettingsScreen(Screen parent) { @@ -22,8 +23,8 @@ public class GlobalSettingsGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.load_vibration_natives")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.load_vibration_natives.tooltip")) - .description(Component.translatable("controlify.gui.load_vibration_natives.tooltip.warning").withStyle(ChatFormatting.RED)) + .text(Component.translatable("controlify.gui.load_vibration_natives.tooltip")) + .text(Component.translatable("controlify.gui.load_vibration_natives.tooltip.warning").withStyle(ChatFormatting.RED)) .build()) .binding(true, () -> globalSettings.loadVibrationNatives, v -> globalSettings.loadVibrationNatives = v) .controller(opt -> BooleanControllerBuilder.create(opt).yesNoFormatter()) @@ -32,9 +33,10 @@ public class GlobalSettingsGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.reach_around")) .description(state -> OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.reach_around.tooltip")) - .description(Component.translatable("controlify.gui.reach_around.tooltip.parity").withStyle(ChatFormatting.GRAY)) - .description(state == ReachAroundMode.EVERYWHERE ? Component.translatable("controlify.gui.reach_around.tooltip.warning").withStyle(ChatFormatting.RED) : Component.empty()) + .webpImage(screenshot("reach-around-placement.webp")) + .text(Component.translatable("controlify.gui.reach_around.tooltip")) + .text(Component.translatable("controlify.gui.reach_around.tooltip.parity").withStyle(ChatFormatting.GRAY)) + .text(state == ReachAroundMode.EVERYWHERE ? Component.translatable("controlify.gui.reach_around.tooltip.warning").withStyle(ChatFormatting.RED) : Component.empty()) .build()) .binding(GlobalSettings.DEFAULT.reachAround, () -> globalSettings.reachAround, v -> globalSettings.reachAround = v) .controller(opt -> EnumControllerBuilder.create(opt).enumClass(ReachAroundMode.class)) @@ -42,7 +44,7 @@ public class GlobalSettingsGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.ui_sounds")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.ui_sounds.tooltip")) + .text(Component.translatable("controlify.gui.ui_sounds.tooltip")) .build()) .binding(GlobalSettings.DEFAULT.uiSounds, () -> globalSettings.uiSounds, v -> globalSettings.uiSounds = v) .controller(TickBoxControllerBuilder::create) @@ -50,7 +52,7 @@ public class GlobalSettingsGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.notify_low_battery")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.notify_low_battery.tooltip")) + .text(Component.translatable("controlify.gui.notify_low_battery.tooltip")) .build()) .binding(GlobalSettings.DEFAULT.notifyLowBattery, () -> globalSettings.notifyLowBattery, v -> globalSettings.notifyLowBattery = v) .controller(TickBoxControllerBuilder::create) @@ -58,7 +60,7 @@ public class GlobalSettingsGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.out_of_focus_input")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.out_of_focus_input.tooltip")) + .text(Component.translatable("controlify.gui.out_of_focus_input.tooltip")) .build()) .binding(GlobalSettings.DEFAULT.outOfFocusInput, () -> globalSettings.outOfFocusInput, v -> globalSettings.outOfFocusInput = v) .controller(TickBoxControllerBuilder::create) @@ -66,7 +68,7 @@ public class GlobalSettingsGui { .option(Option.createBuilder() .name(Component.translatable("controlify.gui.keyboard_movement")) .description(OptionDescription.createBuilder() - .description(Component.translatable("controlify.gui.keyboard_movement.tooltip")) + .text(Component.translatable("controlify.gui.keyboard_movement.tooltip")) .build()) .binding(GlobalSettings.DEFAULT.keyboardMovement, () -> globalSettings.keyboardMovement, v -> globalSettings.keyboardMovement = v) .controller(TickBoxControllerBuilder::create) @@ -78,4 +80,8 @@ public class GlobalSettingsGui { .build()) .build().generateScreen(parent); } + + private static ResourceLocation screenshot(String filename) { + return Controlify.id("textures/screenshots/" + filename); + } } diff --git a/src/main/resources/assets/controlify/textures/screenshots/reach-around-placement.webp b/src/main/resources/assets/controlify/textures/screenshots/reach-around-placement.webp new file mode 100644 index 0000000..c4c2ba2 Binary files /dev/null and b/src/main/resources/assets/controlify/textures/screenshots/reach-around-placement.webp differ diff --git a/src/main/resources/assets/controlify/textures/screenshots/reduce-aim-sensitivity.webp b/src/main/resources/assets/controlify/textures/screenshots/reduce-aim-sensitivity.webp index 0415843..ba96bc5 100644 Binary files a/src/main/resources/assets/controlify/textures/screenshots/reduce-aim-sensitivity.webp and b/src/main/resources/assets/controlify/textures/screenshots/reduce-aim-sensitivity.webp differ