Skip to content

Commit fb7d052

Browse files
committed
feat: migrate to official mappings (mojmap)
1 parent 95e41bd commit fb7d052

113 files changed

Lines changed: 1713 additions & 1729 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build.gradle

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,7 @@ subprojects {
3939
// The following line declares the mojmap mappings, you may use other mappings as well
4040
//mappings loom.officialMojangMappings()
4141
// The following line declares the yarn mappings you may select this one as well.
42-
mappings loom.layered {
43-
it.mappings("net.fabricmc:yarn:$rootProject.yarn_mappings:v2")
44-
it.mappings("dev.architectury:yarn-mappings-patch-neoforge:$rootProject.yarn_mappings_patch_neoforge_version")
45-
}
42+
mappings loom.officialMojangMappings()
4643
}
4744
}
4845

common/src/main/java/eu/midnightdust/midnightcontrols/ControlsMode.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,11 @@
99

1010
package eu.midnightdust.midnightcontrols;
1111

12-
import net.minecraft.text.Text;
13-
import net.minecraft.text.object.AtlasTextObjectContents;
14-
import net.minecraft.util.Atlases;
15-
import net.minecraft.util.StringIdentifiable;
1612
import org.jetbrains.annotations.NotNull;
1713

1814
import java.util.Arrays;
1915
import java.util.Optional;
16+
import net.minecraft.util.StringRepresentable;
2017

2118
import static eu.midnightdust.midnightcontrols.MidnightControls.id;
2219

@@ -27,7 +24,7 @@
2724
* @version 1.7.0
2825
* @since 1.0.0
2926
*/
30-
public enum ControlsMode implements StringIdentifiable {
27+
public enum ControlsMode implements StringRepresentable {
3128
DEFAULT("icon/keyboard_mouse"),
3229
CONTROLLER("icon/controller"),
3330
TOUCHSCREEN("icon/touchscreen");
@@ -80,7 +77,7 @@ public static Optional<ControlsMode> byId(@NotNull String id) {
8077
}
8178

8279
@Override
83-
public String asString() {
80+
public String getSerializedName() {
8481
return getTranslationKey();
8582
}
8683
}

common/src/main/java/eu/midnightdust/midnightcontrols/MidnightControls.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
package eu.midnightdust.midnightcontrols;
1111

1212
import eu.midnightdust.lib.util.PlatformFunctions;
13-
import net.minecraft.util.Identifier;
13+
import net.minecraft.resources.Identifier;
1414
import org.apache.logging.log4j.LogManager;
1515
import org.apache.logging.log4j.Logger;
1616

@@ -31,7 +31,7 @@ public static void init() {
3131
log("Initializing MidnightControls...");
3232
}
3333
public static Identifier id(String path) {
34-
return Identifier.of(MidnightControlsConstants.NAMESPACE, path);
34+
return Identifier.fromNamespaceAndPath(MidnightControlsConstants.NAMESPACE, path);
3535
}
3636

3737
/**

common/src/main/java/eu/midnightdust/midnightcontrols/MidnightControlsConstants.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
package eu.midnightdust.midnightcontrols;
1111

1212

13-
import net.minecraft.util.Identifier;
14-
1513
import static eu.midnightdust.midnightcontrols.MidnightControls.id;
1614

15+
import net.minecraft.resources.Identifier;
16+
1717
/**
1818
* Represents the constants used by MidnightControls.
1919
*

common/src/main/java/eu/midnightdust/midnightcontrols/client/MidnightControlsClient.java

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
package eu.midnightdust.midnightcontrols.client;
1111

12+
import com.mojang.blaze3d.platform.InputConstants;
1213
import eu.midnightdust.lib.util.PlatformFunctions;
1314
import eu.midnightdust.midnightcontrols.ControlsMode;
1415
import eu.midnightdust.midnightcontrols.MidnightControls;
@@ -27,16 +28,9 @@
2728
import eu.midnightdust.midnightcontrols.client.ring.MidnightRing;
2829
import eu.midnightdust.midnightcontrols.client.util.platform.NetworkUtil;
2930
import eu.midnightdust.midnightcontrols.client.virtualkeyboard.MouseClickInterceptor;
30-
import net.minecraft.client.gui.screen.Screen;
3131
import eu.midnightdust.midnightcontrols.client.touch.TouchInput;
3232
import eu.midnightdust.midnightcontrols.client.util.RainbowColor;
3333
import eu.midnightdust.midnightcontrols.packet.ControlsModePayload;
34-
import net.minecraft.client.MinecraftClient;
35-
import net.minecraft.client.option.KeyBinding;
36-
import net.minecraft.client.toast.SystemToast;
37-
import net.minecraft.client.util.InputUtil;
38-
import net.minecraft.text.Text;
39-
import net.minecraft.util.Identifier;
4034
import org.jetbrains.annotations.NotNull;
4135
import org.lwjgl.glfw.GLFW;
4236

@@ -45,6 +39,12 @@
4539
import java.util.Timer;
4640
import java.util.TimerTask;
4741
import java.util.concurrent.atomic.AtomicReference;
42+
import net.minecraft.client.KeyMapping;
43+
import net.minecraft.client.Minecraft;
44+
import net.minecraft.client.gui.components.toasts.SystemToast;
45+
import net.minecraft.client.gui.screens.Screen;
46+
import net.minecraft.network.chat.Component;
47+
import net.minecraft.resources.Identifier;
4848

4949
/**
5050
* Represents the midnightcontrols client mod.
@@ -55,22 +55,22 @@
5555
*/
5656
public class MidnightControlsClient extends MidnightControls {
5757
public static boolean lateInitDone = false;
58-
public static final KeyBinding.Category MIDNIGHTCONTROLS_CATEGORY = KeyBinding.Category.create(Identifier.of("midnightcontrols", "keybinds"));
59-
public static final KeyBinding BINDING_LOOK_UP = InputManager.makeKeyBinding(id("look_up"),
60-
InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_KP_8, MIDNIGHTCONTROLS_CATEGORY);
61-
public static final KeyBinding BINDING_LOOK_RIGHT = InputManager.makeKeyBinding(id("look_right"),
62-
InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_KP_6, MIDNIGHTCONTROLS_CATEGORY);
63-
public static final KeyBinding BINDING_LOOK_DOWN = InputManager.makeKeyBinding(id("look_down"),
64-
InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_KP_2, MIDNIGHTCONTROLS_CATEGORY);
65-
public static final KeyBinding BINDING_LOOK_LEFT = InputManager.makeKeyBinding(id("look_left"),
66-
InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_KP_4, MIDNIGHTCONTROLS_CATEGORY);
67-
public static final KeyBinding BINDING_RING = InputManager.makeKeyBinding(id("ring"),
68-
InputUtil.Type.KEYSYM, InputUtil.UNKNOWN_KEY.getCode(), MIDNIGHTCONTROLS_CATEGORY);
58+
public static final KeyMapping.Category MIDNIGHTCONTROLS_CATEGORY = KeyMapping.Category.register(Identifier.fromNamespaceAndPath("midnightcontrols", "keybinds"));
59+
public static final KeyMapping BINDING_LOOK_UP = InputManager.makeKeyBinding(id("look_up"),
60+
InputConstants.Type.KEYSYM, GLFW.GLFW_KEY_KP_8, MIDNIGHTCONTROLS_CATEGORY);
61+
public static final KeyMapping BINDING_LOOK_RIGHT = InputManager.makeKeyBinding(id("look_right"),
62+
InputConstants.Type.KEYSYM, GLFW.GLFW_KEY_KP_6, MIDNIGHTCONTROLS_CATEGORY);
63+
public static final KeyMapping BINDING_LOOK_DOWN = InputManager.makeKeyBinding(id("look_down"),
64+
InputConstants.Type.KEYSYM, GLFW.GLFW_KEY_KP_2, MIDNIGHTCONTROLS_CATEGORY);
65+
public static final KeyMapping BINDING_LOOK_LEFT = InputManager.makeKeyBinding(id("look_left"),
66+
InputConstants.Type.KEYSYM, GLFW.GLFW_KEY_KP_4, MIDNIGHTCONTROLS_CATEGORY);
67+
public static final KeyMapping BINDING_RING = InputManager.makeKeyBinding(id("ring"),
68+
InputConstants.Type.KEYSYM, InputConstants.UNKNOWN.getValue(), MIDNIGHTCONTROLS_CATEGORY);
6969
public static final Identifier CONTROLLER_BUTTONS = id("textures/gui/controller_buttons.png");
7070
public static final Identifier CONTROLLER_EXPANDED = id("textures/gui/controller_expanded.png");
7171
public static final Identifier CONTROLLER_AXIS = id("textures/gui/controller_axis.png");
7272
public static final File MAPPINGS_FILE = new File("config/gamecontrollercustommappings.txt");
73-
public static MinecraftClient client = MinecraftClient.getInstance();
73+
public static Minecraft client = Minecraft.getInstance();
7474
public static final MidnightInput input = new MidnightInput();
7575
public static final MidnightRing ring = new MidnightRing();
7676
public static final MidnightReacharound reacharound = new MidnightReacharound();
@@ -80,7 +80,7 @@ public class MidnightControlsClient extends MidnightControls {
8080
private static ControlsMode previousControlsMode;
8181

8282
public static void initClient() {
83-
client = MinecraftClient.getInstance();
83+
client = Minecraft.getInstance();
8484
ring.registerAction("buttonbinding", ButtonBindingRingAction.FACTORY);
8585

8686
int delay = 0; // delay for 0 sec.
@@ -90,7 +90,7 @@ public static void initClient() {
9090
public void run() {
9191
try {
9292
if (lateInitDone && client.isRunning()) {
93-
if (MidnightControlsConfig.controlsMode != ControlsMode.DEFAULT && (client.isWindowFocused() || MidnightControlsConfig.unfocusedInput)) {
93+
if (MidnightControlsConfig.controlsMode != ControlsMode.DEFAULT && (client.isWindowActive() || MidnightControlsConfig.unfocusedInput)) {
9494
if (MidnightControlsConfig.controlsMode == ControlsMode.CONTROLLER) input.tickCameraStick();
9595
input.updateCamera();
9696
}
@@ -107,7 +107,7 @@ public void run() {
107107
/**
108108
* This method is called when Minecraft is initializing.
109109
*/
110-
public static void onMcInit(@NotNull MinecraftClient client) {
110+
public static void onMcInit(@NotNull Minecraft client) {
111111
ButtonBinding.init(client.options);
112112
MidnightControlsConfig.load();
113113
if (MidnightControlsConfig.configVersion < 2) {
@@ -124,10 +124,10 @@ public static void onMcInit(@NotNull MinecraftClient client) {
124124
GLFW.glfwSetJoystickCallback((jid, event) -> {
125125
if (event == GLFW.GLFW_CONNECTED) {
126126
var controller = Controller.byId(jid);
127-
client.getToastManager().add(new SystemToast(SystemToast.Type.PERIODIC_NOTIFICATION, Text.translatable("midnightcontrols.controller.connected", jid),
128-
Text.literal(controller.getName())));
127+
client.getToastManager().addToast(new SystemToast(SystemToast.SystemToastId.PERIODIC_NOTIFICATION, Component.translatable("midnightcontrols.controller.connected", jid),
128+
Component.literal(controller.getName())));
129129
} else if (event == GLFW.GLFW_DISCONNECTED) {
130-
client.getToastManager().add(new SystemToast(SystemToast.Type.PERIODIC_NOTIFICATION, Text.translatable("midnightcontrols.controller.disconnected", jid),
130+
client.getToastManager().addToast(new SystemToast(SystemToast.SystemToastId.PERIODIC_NOTIFICATION, Component.translatable("midnightcontrols.controller.disconnected", jid),
131131
null));
132132
}
133133

@@ -142,13 +142,13 @@ public static void onMcInit(@NotNull MinecraftClient client) {
142142
*/
143143
public static void initKeybindings() {
144144
if (lateInitDone) return;
145-
if (KeyBindingIDAccessor.getKEYS_BY_ID() == null || KeyBindingIDAccessor.getKEYS_BY_ID().isEmpty()) return;
146-
if (PlatformFunctions.isModLoaded("voxelmap") && !KeyBindingIDAccessor.getKEYS_BY_ID().containsKey("key.minimap.toggleingamewaypoints")) return;
147-
if (PlatformFunctions.isModLoaded("wynntils") && KeyBindingIDAccessor.getKEYS_BY_ID().entrySet().stream().noneMatch(b -> Objects.equals(b.getValue().getCategory(), "Wynntils"))) return;
148-
for (int i = 0; i < KeyBindingIDAccessor.getKEYS_BY_ID().size(); ++i) {
149-
KeyBinding keyBinding = KeyBindingIDAccessor.getKEYS_BY_ID().entrySet().stream().toList().get(i).getValue();
150-
if (MidnightControlsConfig.excludedKeybindings.stream().noneMatch(excluded -> keyBinding.getId().startsWith(excluded))) {
151-
if (!keyBinding.getId().contains(MidnightControlsConstants.NAMESPACE)) {
145+
if (KeyBindingIDAccessor.getALL() == null || KeyBindingIDAccessor.getALL().isEmpty()) return;
146+
if (PlatformFunctions.isModLoaded("voxelmap") && !KeyBindingIDAccessor.getALL().containsKey("key.minimap.toggleingamewaypoints")) return;
147+
if (PlatformFunctions.isModLoaded("wynntils") && KeyBindingIDAccessor.getALL().entrySet().stream().noneMatch(b -> Objects.equals(b.getValue().getCategory(), "Wynntils"))) return;
148+
for (int i = 0; i < KeyBindingIDAccessor.getALL().size(); ++i) {
149+
KeyMapping keyBinding = KeyBindingIDAccessor.getALL().entrySet().stream().toList().get(i).getValue();
150+
if (MidnightControlsConfig.excludedKeybindings.stream().noneMatch(excluded -> keyBinding.getName().startsWith(excluded))) {
151+
if (!keyBinding.getName().contains(MidnightControlsConstants.NAMESPACE)) {
152152
AtomicReference<ButtonCategory> category = new AtomicReference<>();
153153
InputManager.streamCategories().forEach(buttonCategory -> {
154154
if (buttonCategory.getIdentifier().equals(keyBinding.getCategory().id()))
@@ -158,9 +158,9 @@ public static void initKeybindings() {
158158
category.set(new ButtonCategory(keyBinding.getCategory().id()));
159159
InputManager.registerCategory(category.get());
160160
}
161-
ButtonBinding buttonBinding = new ButtonBinding.Builder(keyBinding.getId()).category(category.get()).linkKeybind(keyBinding).register();
161+
ButtonBinding buttonBinding = new ButtonBinding.Builder(keyBinding.getName()).category(category.get()).linkKeybind(keyBinding).register();
162162
if (MidnightControlsConfig.debug) {
163-
MidnightControls.log(keyBinding.getId());
163+
MidnightControls.log(keyBinding.getName());
164164
MidnightControls.log(String.valueOf(buttonBinding));
165165
}
166166
}
@@ -175,21 +175,21 @@ public static void initKeybindings() {
175175
*
176176
* @param client the client instance
177177
*/
178-
public static void onTick(@NotNull MinecraftClient client) {
178+
public static void onTick(@NotNull Minecraft client) {
179179
initKeybindings();
180180
input.tick();
181181
reacharound.tick();
182-
if (MidnightControlsConfig.controlsMode == ControlsMode.CONTROLLER && (client.isWindowFocused() || MidnightControlsConfig.unfocusedInput))
182+
if (MidnightControlsConfig.controlsMode == ControlsMode.CONTROLLER && (client.isWindowActive() || MidnightControlsConfig.unfocusedInput))
183183
input.tickController();
184184

185-
if (BINDING_RING.wasPressed()) {
185+
if (BINDING_RING.consumeClick()) {
186186
ring.loadFromUnbound();
187187
client.setScreen(new RingScreen());
188188
}
189-
if (client.world != null && MidnightControlsConfig.enableHints && !MidnightControlsConfig.autoSwitchMode && MidnightControlsConfig.controlsMode == ControlsMode.DEFAULT && MidnightControlsConfig.getController().isGamepad()) {
190-
client.getToastManager().add(SystemToast.create(client, SystemToast.Type.PERIODIC_NOTIFICATION, Text.translatable("midnightcontrols.controller.tutorial.title"),
191-
Text.translatable("midnightcontrols.controller.tutorial.description", Text.translatable("options.title"), Text.translatable("controls.title"),
192-
Text.translatable("midnightcontrols.menu.title.controller"))));
189+
if (client.level != null && MidnightControlsConfig.enableHints && !MidnightControlsConfig.autoSwitchMode && MidnightControlsConfig.controlsMode == ControlsMode.DEFAULT && MidnightControlsConfig.getController().isGamepad()) {
190+
client.getToastManager().addToast(SystemToast.multiline(client, SystemToast.SystemToastId.PERIODIC_NOTIFICATION, Component.translatable("midnightcontrols.controller.tutorial.title"),
191+
Component.translatable("midnightcontrols.controller.tutorial.description", Component.translatable("options.title"), Component.translatable("controls.title"),
192+
Component.translatable("midnightcontrols.menu.title.controller"))));
193193
MidnightControlsConfig.enableHints = false;
194194
MidnightControlsConfig.save();
195195
}
@@ -201,14 +201,14 @@ public static void onTick(@NotNull MinecraftClient client) {
201201
* Called when opening a screen.
202202
*/
203203
public static void onScreenOpen(Screen screen) {
204-
client = MinecraftClient.getInstance();
204+
client = Minecraft.getInstance();
205205
if (screen == null && MidnightControlsConfig.controlsMode == ControlsMode.TOUCHSCREEN) {
206206
screen = new TouchscreenOverlay();
207-
screen.init(client.getWindow().getScaledWidth(), client.getWindow().getScaledHeight());
208-
client.skipGameRender = false;
209-
client.currentScreen = screen;
207+
screen.init(client.getWindow().getGuiScaledWidth(), client.getWindow().getGuiScaledHeight());
208+
client.noRender = false;
209+
client.screen = screen;
210210
} else if (screen != null) {
211-
MidnightControlsClient.input.onScreenOpen(client.getWindow().getWidth(), client.getWindow().getHeight());
211+
MidnightControlsClient.input.onScreenOpen(client.getWindow().getScreenWidth(), client.getWindow().getScreenHeight());
212212
}
213213
}
214214

0 commit comments

Comments
 (0)