mirror of
https://github.com/TeamMidnightDust/MidnightControls.git
synced 2025-12-13 15:25:08 +01:00
Changes from LambdaControls: - Support for Steam Deck and Dualsense - Support for L4, L5, R4, R5 buttons - Updated Libraries - New Logo and Name - Lots of Bugfixes - MidnightConfig backend
42 lines
1.7 KiB
Java
42 lines
1.7 KiB
Java
/*
|
|
* Copyright © 2021 LambdAurora <aurora42lambda@gmail.com>
|
|
*
|
|
* This file is part of midnightcontrols.
|
|
*
|
|
* Licensed under the MIT license. For more information,
|
|
* see the LICENSE file.
|
|
*/
|
|
|
|
package eu.midnightdust.midnightcontrols.client.gui;
|
|
|
|
import eu.midnightdust.midnightcontrols.client.controller.Controller;
|
|
import dev.lambdaurora.spruceui.option.SpruceSimpleActionOption;
|
|
import dev.lambdaurora.spruceui.widget.SpruceButtonWidget;
|
|
import net.minecraft.client.MinecraftClient;
|
|
import net.minecraft.client.toast.SystemToast;
|
|
import net.minecraft.text.LiteralText;
|
|
import net.minecraft.text.TranslatableText;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
import java.util.function.Consumer;
|
|
|
|
/**
|
|
* Represents the option to reload the controller mappings.
|
|
*/
|
|
public class ReloadControllerMappingsOption {
|
|
private static final String KEY = "midnightcontrols.menu.reload_controller_mappings";
|
|
|
|
public static SpruceSimpleActionOption newOption(@Nullable Consumer<SpruceButtonWidget> before) {
|
|
return SpruceSimpleActionOption.of(KEY, btn -> {
|
|
var client = MinecraftClient.getInstance();
|
|
if (before != null)
|
|
before.accept(btn);
|
|
Controller.updateMappings();
|
|
if (client.currentScreen instanceof MidnightControlsSettingsScreen)
|
|
client.currentScreen.init(client, client.getWindow().getScaledWidth(), client.getWindow().getScaledHeight());
|
|
client.getToastManager().add(SystemToast.create(client, SystemToast.Type.TUTORIAL_HINT,
|
|
new TranslatableText("midnightcontrols.controller.mappings.updated"), LiteralText.EMPTY));
|
|
}, new TranslatableText("midnightcontrols.tooltip.reload_controller_mappings"));
|
|
}
|
|
}
|