mirror of
https://github.com/TeamMidnightDust/MidnightControls.git
synced 2025-12-13 15:25:08 +01:00
- Update to 1.19 - Make buttons for Item/Stack Grabbing and Quick Moving configurable - Add Keybinds for moving between Fabric Creative Inventory Pages
41 lines
1.6 KiB
Java
41 lines
1.6 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.Text;
|
|
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,
|
|
Text.translatable("midnightcontrols.controller.mappings.updated"), Text.empty()));
|
|
}, Text.translatable("midnightcontrols.tooltip.reload_controller_mappings"));
|
|
}
|
|
}
|