Skip to content

Commit 2214135

Browse files
Improve ime whitelist
1 parent effa043 commit 2214135

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

src/main/java/com/cleanroommc/client/IMEHandler.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
11
package com.cleanroommc.client;
22

33
import com.cleanroommc.client.ime.CocoaIMEHandler;
4+
import com.cleanroommc.client.ime.DummyIMEHandler;
45
import com.cleanroommc.client.ime.WindowsIMEHandler;
56
import net.minecraftforge.fml.common.FMLLog;
67
import org.lwjgl.glfw.GLFW;
78

89
import java.util.function.Consumer;
910

1011
public class IMEHandler {
11-
private static Consumer<Boolean> instance;
12+
private static final Consumer<Boolean> instance;
1213
static {
1314
switch (GLFW.glfwGetPlatform()) {
1415
case GLFW.GLFW_PLATFORM_WIN32 -> instance = new WindowsIMEHandler();
1516
case GLFW.GLFW_PLATFORM_COCOA -> instance = new CocoaIMEHandler();
16-
default -> FMLLog.log.warn("Unsupported platform: {}", GLFW.glfwGetPlatform());
17+
default -> {
18+
instance = new DummyIMEHandler();
19+
FMLLog.log.warn("Unsupported platform: {}", GLFW.glfwGetPlatform());
20+
}
1721
}
1822
}
1923
public static void setIME(boolean active) {

src/main/java/net/minecraftforge/client/ForgeClientHandler.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,13 @@
3232
import net.minecraftforge.fluids.FluidRegistry;
3333
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
3434

35+
import java.util.Arrays;
36+
import java.util.Set;
37+
import java.util.stream.Collectors;
38+
3539
public class ForgeClientHandler
3640
{
41+
private static final Set<String> classList = Arrays.stream(ForgeModContainer.inputMethodGuiWhiteList).collect(Collectors.toSet());
3742
@SubscribeEvent
3843
public static void registerModels(ModelRegistryEvent event)
3944
{
@@ -76,11 +81,6 @@ public static void didChangeGui(GuiOpenEvent event) {
7681

7782
private static boolean guiInWhiteList(GuiScreen gui) {
7883
String current = gui.getClass().getName();
79-
for (String guiClazz : ForgeModContainer.inputMethodGuiWhiteList) {
80-
if (guiClazz.equals(current)) {
81-
return true;
82-
}
83-
}
84-
return false;
84+
return classList.contains(current);
8585
}
8686
}

0 commit comments

Comments
 (0)