mirror of
https://github.com/TeamMidnightDust/MidnightControls.git
synced 2025-12-13 23:25:10 +01:00
More mod compatibility & Add missing contributor names
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* Copyright © 2022 Motschen <motschen@midnightdust.eu>
|
||||
*
|
||||
* 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 eu.midnightdust.midnightcontrols.client.MidnightControlsConfig;
|
||||
import eu.midnightdust.midnightcontrols.client.controller.ButtonBinding;
|
||||
import eu.midnightdust.midnightcontrols.client.controller.ButtonCategory;
|
||||
import eu.midnightdust.midnightcontrols.client.controller.InputManager;
|
||||
import eu.midnightdust.midnightcontrols.client.mixin.KeyBindingIDAccessor;
|
||||
import net.minecraft.client.option.KeyBinding;
|
||||
import org.aperlambda.lambdacommon.Identifier;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.lwjgl.glfw.GLFW;
|
||||
|
||||
/**
|
||||
* Represents a compatibility handler for VoxelMap.
|
||||
*
|
||||
* @author Motschen
|
||||
* @version 1.8.0
|
||||
* @since 1.8.0
|
||||
*/
|
||||
public class VoxelMapCompat implements CompatHandler {
|
||||
|
||||
private final KeyBinding voxelMapZoomKey = KeyBindingIDAccessor.getKEYS_BY_ID().getOrDefault("key.minimap.zoom", null);
|
||||
private final KeyBinding voxelmapFullscreenKey = KeyBindingIDAccessor.getKEYS_BY_ID().getOrDefault("key.minimap.togglefullscreen", null);
|
||||
private final KeyBinding voxelmapMenuKey = KeyBindingIDAccessor.getKEYS_BY_ID().getOrDefault("key.minimap.voxelmapmenu", null);;
|
||||
private final KeyBinding voxelmapWaypointMenuKey = KeyBindingIDAccessor.getKEYS_BY_ID().getOrDefault("key.minimap.waypointmenu", null);;
|
||||
private final KeyBinding voxelmapWaypointKey = KeyBindingIDAccessor.getKEYS_BY_ID().getOrDefault("key.minimap.waypointhotkey", null);
|
||||
private final KeyBinding voxelmapMobToggleKey = KeyBindingIDAccessor.getKEYS_BY_ID().getOrDefault("key.minimap.togglemobs", null);
|
||||
private final KeyBinding voxelmapWaypointToggleKey = KeyBindingIDAccessor.getKEYS_BY_ID().getOrDefault("key.minimap.toggleingamewaypoints", null);
|
||||
private static final ButtonCategory VOXELMAP_CATEGORY = InputManager.registerCategory(new Identifier("minecraft","controls.minimap.title"));
|
||||
|
||||
|
||||
@Override
|
||||
public void handle(@NotNull MidnightControlsClient mod) {
|
||||
if (MidnightControlsConfig.debug && KeyBindingIDAccessor.getKEYS_BY_ID() != null) KeyBindingIDAccessor.getKEYS_BY_ID().forEach((a, b) -> System.out.println(a + " - " + b));
|
||||
new ButtonBinding.Builder("key.minimap.zoom")
|
||||
.buttons(GLFW.GLFW_GAMEPAD_BUTTON_DPAD_DOWN, GLFW.GLFW_GAMEPAD_BUTTON_X)
|
||||
.onlyInGame()
|
||||
.cooldown(true)
|
||||
.category(VOXELMAP_CATEGORY)
|
||||
.linkKeybind(voxelMapZoomKey)
|
||||
.register();
|
||||
new ButtonBinding.Builder("key.minimap.togglefullscreen")
|
||||
.buttons(GLFW.GLFW_GAMEPAD_BUTTON_DPAD_DOWN, GLFW.GLFW_GAMEPAD_BUTTON_Y)
|
||||
.onlyInGame()
|
||||
.cooldown(true)
|
||||
.category(VOXELMAP_CATEGORY)
|
||||
.linkKeybind(voxelmapFullscreenKey)
|
||||
.register();
|
||||
new ButtonBinding.Builder("key.minimap.voxelmapmenu")
|
||||
.buttons(GLFW.GLFW_GAMEPAD_BUTTON_DPAD_DOWN, GLFW.GLFW_GAMEPAD_BUTTON_START)
|
||||
.onlyInGame()
|
||||
.cooldown(true)
|
||||
.category(VOXELMAP_CATEGORY)
|
||||
.linkKeybind(voxelmapMenuKey)
|
||||
.register();
|
||||
new ButtonBinding.Builder("key.minimap.waypointmenu")
|
||||
.buttons(GLFW.GLFW_GAMEPAD_BUTTON_DPAD_DOWN, GLFW.GLFW_GAMEPAD_BUTTON_GUIDE)
|
||||
.onlyInGame()
|
||||
.cooldown(true)
|
||||
.category(VOXELMAP_CATEGORY)
|
||||
.linkKeybind(voxelmapWaypointMenuKey)
|
||||
.register();
|
||||
new ButtonBinding.Builder("key.minimap.waypointhotkey")
|
||||
.buttons(GLFW.GLFW_GAMEPAD_BUTTON_DPAD_DOWN, GLFW.GLFW_GAMEPAD_BUTTON_BACK)
|
||||
.onlyInGame()
|
||||
.cooldown(true)
|
||||
.category(VOXELMAP_CATEGORY)
|
||||
.linkKeybind(voxelmapWaypointKey)
|
||||
.register();
|
||||
new ButtonBinding.Builder("key.minimap.togglemobs")
|
||||
.buttons(GLFW.GLFW_GAMEPAD_BUTTON_DPAD_DOWN, GLFW.GLFW_GAMEPAD_BUTTON_A)
|
||||
.onlyInGame()
|
||||
.cooldown(true)
|
||||
.category(VOXELMAP_CATEGORY)
|
||||
.linkKeybind(voxelmapMobToggleKey)
|
||||
.register();
|
||||
new ButtonBinding.Builder("key.minimap.toggleingamewaypoints")
|
||||
.buttons(GLFW.GLFW_GAMEPAD_BUTTON_DPAD_DOWN, GLFW.GLFW_GAMEPAD_BUTTON_B)
|
||||
.onlyInGame()
|
||||
.cooldown(true)
|
||||
.category(VOXELMAP_CATEGORY)
|
||||
.linkKeybind(voxelmapWaypointToggleKey)
|
||||
.register();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user