Giter VIP home page Giter VIP logo

imblocker's Introduction

IMBlocker: 智能屏蔽输入法

English version

简介

IMBlocker 是一款 Minecraft 模组,能够在游戏中自动切换输入法开关状态。

在 Minecraft 游戏过程中,我们不得不关闭输入法以进行各种游戏操作,又不得不开启输入法以聊天/搜索。频繁切换输入法十分麻烦。

IMBlocker 模组能够识别当前游戏状态,并自动启用/禁用输入法。

原理

  • Minecraft 的输入处理机制
    • 在 Minecraft 游戏中,一次键盘输入会先后处理游戏按键响应和文字输入响应
    • 游戏按键响应处理与我们无关,因此忽略
    • 文字输入响应会交由 Minecraft 当前显示的 GUI 屏幕处理,屏幕一般会转而调用某个文本框来处理输入字符
    • 如果不存在屏幕,或者屏幕判断不该调用文本框,或者文本框拒绝接收这一字符,那么文字不会被“输入”到任何地方
    • 无论文字是否会被输入,文字输入响应过程都会执行
    • 我们几乎无法事先确定游戏会不会接受我们输入文字
  • IMBlocker 的输入状态识别
    • 我们收集所有文本框对象
    • 使用ASM修改文本框的构造函数以实现这一点
    • 如果有文本框允许输入,则认为游戏接受我们输入文字
  • 例外情况
    • 有些GUI屏幕(比如书与笔和告示牌)直接处理输入字符,而不是转移给文本框来处理
    • 我们无法捕捉这些输入,因此我们将这些屏幕(Screen)放入白名单
  • 问题
    • 有可能出现假阳性,也就是文本框认为自己能接受输入,但游戏不会把输入传给这个文本框
    • 非Windows环境下没有可用的方法禁用/启用输入法
    • 欢迎提出建议或反馈

致谢

感谢 TimmyOVO 制作的 InputMethodBlocker ,启发我制作这个mod

注意,原贴中代码地址已失效,目前 Github 上的仓库为 InputMethodBlocker

imblocker's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

imblocker's Issues

1.21

请求更新至1.21

【征集兼容性问题报告】解决文本框不识别的问题 - 白名单/黑名单建议

如果在使用IMBlocker的过程中发现有文本框不能识别的情况,可以按以下方式解决:

  1. 修改设置,将enableScreenRecovering改为true
  2. 打开包含不能识别的文本框的GUI屏幕
  3. 查看设置中recoveredScreens项目的内容
  4. 如果有多条内容,从中选出看起来像 2. 中打开的屏幕的那一条
  5. 将该部分内容(应该类似于modid:com.xxx.xxx.XxxScreen)添加到screenWhitelist项目中
  6. 修改设置,将enableScreenRecovering改为false
  7. 确认在打开 2. 中屏幕时是否会开启输入法
  8. (可选)将recoveredScreens项目的内容清空,方便下次查看

只有3.0.2及以后的版本可以按以上方式操作,只要保存文件,不需要重启也能更新设置。如果在解决过程中遇到问题欢迎提问。

如果你通过以上方式发现不能识别的情况并成功解决,请将你找到的屏幕内容回复在这个issue下,我会将常见的条目加入到mod中。

回复格式:

mod名称:植物魔法
modid:botania
GUI屏幕:vazkii.botania.ExampleScreen
触发方法:快捷键,默认是k/右键点某个方块
屏幕内容描述:给方块命名,让方块头顶显示浮动文字

1.20.6

请求更新至1.20.6

模组底层实现原理的建议

(注:Fabric1.19.4最新版本的模组中,类TextFieldMixin注入了不存在的方法onClick导致此类注入时抛出异常注入失败,因此该版本的模组在原版所有的TextFieldWidget组件都无法正常工作。经调查,当前版本中此处注入的方法名应该为mouseClicked

实现原理建议:此模组的功能建议使用监听焦点组件的变化来实现,焦点是一个GUI系统中用于定向键盘输入的关键属性,在一个标准的GUI系统中,如果此系统被操作系统赋予了焦点,那么其中有且只有一个焦点组件,在没有全局键盘监听的情况下,键盘输入最终只会在这一个组件上产生效果。而文本框组件则是典型的focusableWidget,只有当其获得焦点时才能向其中输入文字,因此监听所有文本框组件的焦点变化可以准确地决定当前输入法的状态。下面以Fabric1.19.4来说明大概的实现方式:

首先Fabric本身并没有提供监听焦点变化的API,如果要监听文本框的焦点变化只能通过Mixin注入监听器到文本框类setFocused方法的尾部;不同Fabric模组的文本框组件类不同,要适配不同模组需要一一注入;Fabric中一个Screen隐藏时不会移除其中获得了焦点的组件的焦点,因此需要注入焦点移除的代码到MinecraftClient.setScreen()方法中。

我已在原版的文本框组件中应用了基于此原理的实现,效果很好,相关的实现部分如下:

IMCheckState

    // check overall state
    private static void syncState() {
        IMManager.makeState(focusedInputWidget != null || <screen in white list>);
    }
    
    public static void focusGained(Object widget) {
    	focusedInputWidget = widget;
    }
    
    public static void focusLost(Object widget) {
    	if(focusedInputWidget == widget) {
    		focusedInputWidget = null;
    	}
    }

TextFieldMixin

    @Inject(method = "setFocused", at = @At("TAIL"))
    public void focusChanged(boolean isFocused, CallbackInfo ci) {
    	if(isFocused) {
    		IMCheckState.focusGained(this);
    	}else {
    		IMCheckState.focusLost(this);
    	}
    }

MinecraftClientMixin

    @Inject(method = "setScreen", at = @At("HEAD"))
    public void onScreenClosed(Screen screen, CallbackInfo ci) {
    	IMCheckState.focusedInputWidget = null;
    }

使用焦点监听实现后,模组的规模将大幅缩小,并且当文本框内部实现发生变化时需要改动的代码也大幅减少。

更新:setFocused方法的混淆名method_25365与混淆名为class_339的类中某个方法的混淆名重名,构建时会映射失败,如果要注入setFocused方法还需在构建出来的mod中手动修改client-fabric-refmap.json文件。REI模组的文本框组件也需要手动映射setFocused方法的混淆名,与原版setFocused混淆名相同。

关于移植mod到fabric和更高版本

看到了上一份issues,移植到fabric和更高版本确实是个不错的想法,如果你不介意,我是否可以以此mod为核心理念来制作一个新的fabric mod呢,我会同样发布在GitHub上并使用与您一致的3.0开源协议

4.0.5+1.18.2版本错误

"depends": {
    "fabricloader": ">=0.14.21",
    "fabric-api": "*",
    "minecraft": "~1.20",
    "java": ">=17"
  },

如图,1.18.2的里面写的导致不支持1.18.2,fabric会报错

支持LabyMod Chat

LabyMod 4可以安装Fabric模组 安装IMBlocker可以解决卡输入法的问题
但是LabyMod Chat屏幕不被认为可输入 因此只能打英文
有什么获取屏幕ID的方法吗

跟进1.20.4的兼容

在1.20.4版本中,此模组将输入法锁死为英文,无论如何调整都无法输入中文

独一无二的版本后缀

请你为每个版本的更新的jar文件添加独一无二的后缀。
这对整合包作者非常有用,我们需要直观的区分每个版本的文件。
Like IMBlocker-1.1.0

1.20.2兼容

两个电脑测试1.20的4.0.5和4.0.8,均无法正常使用

IMBlocker-v4.0.0-alpha5-mc1.20版本会和reply mod冲突

错误日志:

Time: 2023-07-01 00:48:18
Description: Unexpected error

java.lang.NullPointerException: Cannot invoke "com.replaymod.lib.de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension.getHeight()" because "this.lastRenderSize" is null
at com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiScrollable.scrollY(AbstractGuiScrollable.java:165)
at com.replaymod.replay.gui.screen.GuiReplayViewer$GuiReplayList.typeKey(GuiReplayViewer.java:439)
at com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiScreen$MinecraftGuiScreen.lambda$charTyped$1(AbstractGuiScreen.java:286)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.lambda$invokeHandlers$7(ComposedGuiElement.java:82)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.AbstractComposedGuiElement.forEach(AbstractComposedGuiElement.java:58)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.invokeHandlers(ComposedGuiElement.java:78)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.lambda$invokeHandlers$6(ComposedGuiElement.java:81)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.AbstractComposedGuiElement.forEach(AbstractComposedGuiElement.java:68)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.invokeHandlers(ComposedGuiElement.java:78)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.lambda$invokeHandlers$5(ComposedGuiElement.java:74)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.forEach(ComposedGuiElement.java:42)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.invokeHandlers(ComposedGuiElement.java:74)
at com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiScreen$MinecraftGuiScreen.charTyped(AbstractGuiScreen.java:286)
at io.github.reserveword.imblocker.FabricScreenInfo.charTyped(FabricScreenInfo.java:36)
at io.github.reserveword.imblocker.IMCheckState.checkNonPrintable(IMCheckState.java:127)
at io.github.reserveword.imblocker.IMCheckState.clientTick(IMCheckState.java:154)
at io.github.reserveword.imblocker.IMBlockerFabric.lambda$onInitializeClient$0(IMBlockerFabric.java:25)
at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
at MC//net.minecraft.client.MinecraftClient.handler$bda000$fabric-lifecycle-events-v1$onStartTick(MinecraftClient.java:8017)
at MC//net.minecraft.client.MinecraftClient.tick(MinecraftClient.java)
at MC//net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1181)
at MC//net.minecraft.client.MinecraftClient.run(MinecraftClient.java:802)
at net.minecraft.client.main.Main.main(Main.java:250)
at app//net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468)
at app//net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at app//net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at [email protected]/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at [email protected]/java.lang.reflect.Method.invoke(Method.java:568)
at app//oolloo.jlw.Wrapper.invokeMain(Wrapper.java:60)
at app//oolloo.jlw.Wrapper.main(Wrapper.java:53)

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head --
Thread: Render thread
Stacktrace:
at com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiScrollable.scrollY(AbstractGuiScrollable.java:165)
at com.replaymod.replay.gui.screen.GuiReplayViewer$GuiReplayList.typeKey(GuiReplayViewer.java:439)
at com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiScreen$MinecraftGuiScreen.lambda$charTyped$1(AbstractGuiScreen.java:286)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.lambda$invokeHandlers$7(ComposedGuiElement.java:82)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.AbstractComposedGuiElement.forEach(AbstractComposedGuiElement.java:58)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.invokeHandlers(ComposedGuiElement.java:78)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.lambda$invokeHandlers$6(ComposedGuiElement.java:81)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.AbstractComposedGuiElement.forEach(AbstractComposedGuiElement.java:68)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.invokeHandlers(ComposedGuiElement.java:78)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.lambda$invokeHandlers$5(ComposedGuiElement.java:74)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.forEach(ComposedGuiElement.java:42)
at com.replaymod.lib.de.johni0702.minecraft.gui.element.ComposedGuiElement.invokeHandlers(ComposedGuiElement.java:74)
at com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiScreen$MinecraftGuiScreen.charTyped(AbstractGuiScreen.java:286)
at io.github.reserveword.imblocker.FabricScreenInfo.charTyped(FabricScreenInfo.java:36)
at io.github.reserveword.imblocker.IMCheckState.checkNonPrintable(IMCheckState.java:127)
at io.github.reserveword.imblocker.IMCheckState.clientTick(IMCheckState.java:154)
at io.github.reserveword.imblocker.IMBlockerFabric.lambda$onInitializeClient$0(IMBlockerFabric.java:25)
at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
at MC//net.minecraft.client.MinecraftClient.handler$bda000$fabric-lifecycle-events-v1$onStartTick(MinecraftClient.java:8017)

-- Last reload --
Details:
Reload number: 1
Reload reason: initial
Finished: Yes
Packs: vanilla, fabric, file/XKRD红显3.0for1.20.zip, replaymod_lang
Stacktrace:
at MC//net.minecraft.client.resource.ResourceReloadLogger.addReloadSection(ResourceReloadLogger.java:49)
at MC//net.minecraft.client.MinecraftClient.addDetailsToCrashReport(MinecraftClient.java:2413)
at MC//net.minecraft.client.MinecraftClient.run(MinecraftClient.java:826)
at net.minecraft.client.main.Main.main(Main.java:250)
at app//net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468)
at app//net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at app//net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at [email protected]/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at [email protected]/java.lang.reflect.Method.invoke(Method.java:568)
at app//oolloo.jlw.Wrapper.invokeMain(Wrapper.java:60)
at app//oolloo.jlw.Wrapper.main(Wrapper.java:53)

-- System Details --
Details:
Minecraft Version: 1.20.1
Minecraft Version ID: 1.20.1
Operating System: Windows 10 (amd64) version 10.0
Java Version: 17.0.1, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation
Memory: 277387816 bytes (264 MiB) / 788529152 bytes (752 MiB) up to 15359541248 bytes (14648 MiB)
CPUs: 16
Processor Vendor: AuthenticAMD
Processor Name: AMD Ryzen 7 5800H with Radeon Graphics
Identifier: AuthenticAMD Family 25 Model 80 Stepping 0
Microarchitecture: Zen 3
Frequency (GHz): 3.19
Number of physical packages: 1
Number of physical CPUs: 8
Number of logical CPUs: 16
Graphics card #0 name: NVIDIA GeForce RTX 3070 Laptop GPU
Graphics card #0 vendor: NVIDIA (0x10de)
Graphics card #0 VRAM (MB): 4095.00
Graphics card #0 deviceId: 0x24dd
Graphics card #0 versionInfo: DriverVersion=31.0.15.3623
Graphics card #1 name: OrayIddDriver Device
Graphics card #1 vendor: Shanghai Best Oray Information Technology Co., Ltd.
Graphics card #1 VRAM (MB): 0.00
Graphics card #1 deviceId: unknown
Graphics card #1 versionInfo: DriverVersion=17.1.58.818
Memory slot #0 capacity (MB): 32768.00
Memory slot #0 clockSpeed (GHz): 3.20
Memory slot #0 type: DDR4
Memory slot #1 capacity (MB): 32768.00
Memory slot #1 clockSpeed (GHz): 3.20
Memory slot #1 type: DDR4
Virtual memory max (MB): 130924.06
Virtual memory used (MB): 58332.42
Swap memory total (MB): 65536.00
Swap memory used (MB): 313.64
JVM Flags: 6 total; -XX:+UseG1GC -XX:-UseAdaptiveSizePolicy -XX:-OmitStackTraceInFastThrow -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmn256m -Xmx14643m
Fabric Mods:
antighost: AntiGhost 1.20-fabric0.83.0-1.1.5
crowdin-translate: CrowdinTranslate 1.4+1.19.3
appleskin: AppleSkin 2.5.0+mc1.20
cloth-config: Cloth Config v11 11.0.99
cloth-basic-math: cloth-basic-math 0.6.1
architectury: Architectury 9.0.8
betterstats: Better Statistics Screen 2.10.3+1.20.1
bobby: Bobby 5.0.0
com_typesafe_config: config 1.4.2
fabric-api-base: Fabric API Base 0.4.29+b04edc7a82
fabric-command-api-v2: Fabric Command API (v2) 2.2.11+b3afc78b82
io_leangen_geantyref_geantyref: geantyref 1.3.13
org_spongepowered_configurate-core: configurate-core 4.1.2
org_spongepowered_configurate-hocon: configurate-hocon 4.1.2
carpet: Carpet Mod 1.4.112+v230608
chat_heads: Chat Heads 0.10.16
enhancedblockentities: Enhanced Block Entities 0.9+1.20
advanced_runtime_resource_pack: Runtime Resource Pack 0.6.7
spruceui: SpruceUI 5.0.0+1.20
entityculling: EntityCulling-Fabric 1.6.2-mc1.20
fabric-api: Fabric API 0.84.0+1.20.1
fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.34+4d8536c977
fabric-biome-api-v1: Fabric Biome API (v1) 13.0.10+b3afc78b77
fabric-block-api-v1: Fabric Block API (v1) 1.0.9+e022e5d177
fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.39+b3afc78b77
fabric-client-tags-api-v1: Fabric Client Tags 1.0.20+b3afc78b77
fabric-command-api-v1: Fabric Command API (v1) 1.2.32+f71b366f77
fabric-commands-v0: Fabric Commands (v0) 0.2.49+df3654b377
fabric-containers-v0: Fabric Containers (v0) 0.1.61+df3654b377
fabric-content-registries-v0: Fabric Content Registries (v0) 4.0.7+b3afc78b77
fabric-convention-tags-v1: Fabric Convention Tags 1.5.3+b3afc78b77
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.18+aeb40ebe77
fabric-data-generation-api-v1: Fabric Data Generation API (v1) 12.1.11+b3afc78b77
fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.51+b3afc78b77
fabric-entity-events-v1: Fabric Entity Events (v1) 1.5.21+b3afc78b77
fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.6.0+b3afc78b77
fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.61+df3654b377
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.38+b04edc7a77
fabric-item-api-v1: Fabric Item API (v1) 2.1.26+b3afc78b77
fabric-item-group-api-v1: Fabric Item Group API (v1) 4.0.7+b3afc78b77
fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.36+fb8d95da77
fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.34+df3654b377
fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.2.20+b3afc78b77
fabric-loot-api-v2: Fabric Loot API (v2) 1.1.37+b3afc78b77
fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.1.41+9e7660c677
fabric-message-api-v1: Fabric Message API (v1) 5.1.6+b3afc78b77
fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.47+b3afc78b77
fabric-models-v0: Fabric Models (v0) 0.3.35+b3afc78b77
fabric-networking-api-v1: Fabric Networking API (v1) 1.3.8+b3afc78b77
fabric-networking-v0: Fabric Networking (v0) 0.3.48+df3654b377
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 11.0.6+b3afc78b77
fabric-particles-v1: Fabric Particles (v1) 1.0.28+b3afc78b77
fabric-recipe-api-v1: Fabric Recipe API (v1) 1.0.18+b3afc78b77
fabric-registry-sync-v0: Fabric Registry Sync (v0) 2.2.6+b3afc78b77
fabric-renderer-api-v1: Fabric Renderer API (v1) 3.1.0+c154966e77
fabric-renderer-indigo: Fabric Renderer - Indigo 1.4.0+c154966e77
fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.44+df3654b377
fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.33+b3afc78b77
fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.26+b3afc78b77
fabric-rendering-v0: Fabric Rendering (v0) 1.1.47+df3654b377
fabric-rendering-v1: Fabric Rendering (v1) 3.0.6+b3afc78b77
fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.3.5+ea08f9d877
fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.11.7+f7923f6d77
fabric-screen-api-v1: Fabric Screen API (v1) 2.0.6+b3afc78b77
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.27+b3afc78b77
fabric-sound-api-v1: Fabric Sound API (v1) 1.0.12+b3afc78b77
fabric-transfer-api-v1: Fabric Transfer API (v1) 3.2.2+b3afc78b77
fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 4.2.0+b3afc78b77
fabric-language-kotlin: Fabric Language Kotlin 1.9.6+kotlin.1.8.22
org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 1.8.22
org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 1.8.22
org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 1.8.22
org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 1.8.22
org_jetbrains_kotlinx_atomicfu-jvm: atomicfu-jvm 0.21.0
org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.7.1
org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.7.1
org_jetbrains_kotlinx_kotlinx-datetime-jvm: kotlinx-datetime-jvm 0.4.0
org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm: kotlinx-serialization-cbor-jvm 1.5.1
org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.5.1
org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.5.1
fabricloader: Fabric Loader 0.14.21
imblocker: IMBlocker 4.0.0-alpha
inventoryhud: Inventory HUD + 3.4.13
inventoryprofilesnext: Inventory Profiles Next 1.10.6
iris: Iris 1.6.4
io_github_douira_glsl-transformer: glsl-transformer 2.0.0-pre13
org_anarres_jcpp: jcpp 1.4.14
org_antlr_antlr4-runtime: antlr4-runtime 4.11.1
isometric-renders: Isometric Renders 0.4.4+1.20
worldmesher: Worldmesher 0.3.0+1.20
jade: Jade 11.1.4
java: Java HotSpot(TM) 64-Bit Server VM 17
libipn: libIPN 3.0.2
litematica: Litematica 0.15.0
lithium: Lithium 0.11.2
malilib: MaLiLib 0.16.0
minecraft: Minecraft 1.20.1
modmenu: Mod Menu 7.1.0
morechathistory: MoreChatHistory 1.1.1
mousetweaks: Mouse Tweaks 2.25
nochatreports: No Chat Reports 1.20.1-v2.2.2
owo: oωo 0.11.0+1.20
blue_endless_jankson: jankson 1.2.2
reeses-sodium-options: Reese's Sodium Options 1.5.1+mc1.20-build.74
replaymod: Replay Mod 1.20.1-2.6.13
roughlyenoughitems: Roughly Enough Items 12.0.625
error_notifier: Error Notifier 1.0.9
shulkerboxtooltip: Shulker Box Tooltip 4.0.4+1.20.1
sodium: Sodium 0.4.10+build.27
sodium-extra: Sodium Extra 0.4.20+mc1.20-build.103
caffeineconfig: CaffeineConfig 1.1.0+1.17
spyglass-improvements: Spyglass Improvements 1.4+mc1.20+fabric
stackdeobfuscator: StackDeobfuscator 1.3.2+fabric.4bca927
net_fabricmc_mapping-io: mapping-io 0.3.0
starlight: Starlight 1.1.2+fabric.dbc156f
syncmatica: Syncmatica 1.20.1-0.3.9
tcdcommons: TCD Commons API 2.10.2+1.20.1
tweakermore: TweakerMore 3.13.1
com_github_llamalad7_mixinextras: MixinExtras 0.1.1
conditional-mixin: conditional mixin 0.3.2
tweakeroo: Tweakeroo 0.17.0
xaerominimap: Xaero's Minimap 23.5.0
xaeroworldmap: Xaero's World Map 1.30.6
Loaded Shaderpack: ComplementaryShaders_v4.5-gama.zip
Profile: HIGH (+0 options changed by user)
NEC status: No NEC detected
Launched Version: 1.20.1-Fabric 0.14.21
Backend library: LWJGL version 3.3.1 SNAPSHOT
Backend API: NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2 GL version 3.2.0 NVIDIA 536.23, NVIDIA Corporation
Window size: 854x480
GL Caps: Using framebuffer using OpenGL 3.2
GL debug messages:
Using VBOs: Yes
Is Modded: Definitely; Client brand changed to 'fabric'
Type: Client (map_client.txt)
Graphics mode: fancy
Resource Packs: vanilla, fabric, file/XKRD红显3.0for1.20.zip
Current Language: zh_cn
CPU: 16x AMD Ryzen 7 5800H with Radeon Graphics

疑似不兼容macos

根据Wudji/XPlus-2.0-Modpack#6 提供的信息,该模组似乎不兼容macos。

因为wudji现在在上高三,没有条件验证这个问题是否在最新版本中仍存在,辛苦作者看一下了~

Curseforge上的信息错误

如图,Curseforge上该模组支持的MC版本与模组加载器信息缺失或错误,对模组的更新带来了一定程度上的不便
wrong

不兼容 ChestTracker 1.20.1

使用的是这个版本 JackFred2/ChestTracker#94
文件是我自己用gh actions构建的 https://github.com/lgc2333/ChestTracker/actions/runs/5370776696

错误报告:错误报告-2023-6-26_1.33.39.zip

---- Minecraft Crash Report ----
// Why did you do that?

Time: 2023-06-26 01:29:50
Description: Unexpected error

java.lang.NullPointerException: Cannot invoke "net.minecraft.class_327.method_27523(String, int)" because "this.font" is null
	at io.github.cottonmc.cotton.gui.widget.WTextField.scrollCursorIntoView(WTextField.java:155)
	at io.github.cottonmc.cotton.gui.widget.WTextField.insertText(WTextField.java:389)
	at io.github.cottonmc.cotton.gui.widget.WTextField.onCharTyped(WTextField.java:369)
	at red.jackf.chesttracker.gui.widgets.WUpdatableTextField.onCharTyped(WUpdatableTextField.java:21)
	at io.github.cottonmc.cotton.gui.client.CottonClientScreen.method_25400(CottonClientScreen.java:232)
	at io.github.reserveword.imblocker.FabricScreenInfo.charTyped(FabricScreenInfo.java:36)
	at io.github.reserveword.imblocker.IMCheckState.checkNonPrintable(IMCheckState.java:127)
	at io.github.reserveword.imblocker.IMCheckState.clientTick(IMCheckState.java:154)
	at io.github.reserveword.imblocker.IMBlockerFabric.lambda$onInitializeClient$0(IMBlockerFabric.java:25)
	at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
	at net.minecraft.class_310.handler$dea000$fabric-lifecycle-events-v1$onStartTick(class_310.java:15017)
	at net.minecraft.class_310.method_1574(class_310.java)
	at net.minecraft.class_310.method_1523(class_310.java:1181)
	at net.minecraft.class_310.method_1514(class_310.java:802)
	at net.minecraft.client.main.Main.main(Main.java:250)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at oolloo.jlw.Wrapper.invokeMain(Wrapper.java:60)
	at oolloo.jlw.Wrapper.main(Wrapper.java:53)

兼容建议

模拟殖民地的建筑命名不可以切换到中文,望修复

请求更新

可不可以更新1.20.2的版本,没有这个模组根本玩不下去...

Backport to 1.18.2/1.19.4

Hi I'm the CEO of LifeMC Studios we used to use IMBlockerFabric for our modpack now that it seems to be discontinued we would like to know if IMBlocker is a better replacement and if so, if a backport will be coming for 1.18.2 and 1.19.4

【征集兼容性问题报告】鼠标任意键单击文本输入区域时会键入空白字符

加载IMBlocker Mod后, 在部分模组文本输入框中,使用鼠标左中右键单击文本输入区域时会键入空白字符
Minecraft Fabric 1.20.1
IMBlocker-v4.0.3-alpha-mc1.20

使用Notebook 测试
测试

模组列表

- ad_astra 1.15.2
- additionalstructures 4.2.0
- advancementinfo 1.20-fabric0.83.0-1.4
- almostunified 1.20.1-0.5.0
- amecs 1.3.9+mc.1.20-pre2
   \-- amecsapi 1.4.0+mc1.20-pre1
- animatica 0.6+1.20
- appleskin 2.5.0+mc1.20
- architectury 9.1.10
- authme 7.0.1+1.20
- autoattack 1.3.1
- axolotlbuckets 1.2.0
- badpackets 0.4.1
- balm-fabric 7.0.4
- better-selection 1.1.1
- betterbeds 1.3.0
- betterf3 7.0.1
- betterhurtcam 1.6.0-beta.2+mc1.20
   \-- fabric-key-binding-api-v1 1.0.36+fb8d95da27
- bettersavedhotbars 1.1.0
- betterstats 2.10.3+1.20.1
- bluemap 3.16
- blur 3.1.0
   \-- satin 1.13.0
- boatiview 0.0.5
- bobby 5.0.0
   |-- com_typesafe_config 1.4.2
   |-- io_leangen_geantyref_geantyref 1.3.13
   |-- org_spongepowered_configurate-core 4.1.2
   \-- org_spongepowered_configurate-hocon 4.1.2
- botarium 2.1.2
   \-- team_reborn_energy 2.2.0
- c2me 0.2.0+alpha.10.94
   |-- c2me-base 0.2.0+alpha.10.94
   |-- c2me-client-uncapvd 0.2.0+alpha.10.94
   |-- c2me-fixes-chunkio-threading-issues 0.2.0+alpha.10.94
   |-- c2me-fixes-general-threading-issues 0.2.0+alpha.10.94
   |-- c2me-fixes-worldgen-threading-issues 0.2.0+alpha.10.94
   |-- c2me-fixes-worldgen-vanilla-bugs 0.2.0+alpha.10.94
   |-- c2me-notickvd 0.2.0+alpha.10.94
   |-- c2me-opts-allocs 0.2.0+alpha.10.94
   |-- c2me-opts-chunk-access 0.2.0+alpha.10.94
   |-- c2me-opts-chunkio 0.2.0+alpha.10.94
   |-- c2me-opts-math 0.2.0+alpha.10.94
   |-- c2me-opts-scheduling 0.2.0+alpha.10.94
   |-- c2me-opts-worldgen-general 0.2.0+alpha.10.94
   |-- c2me-opts-worldgen-vanilla 0.2.0+alpha.10.94
   |-- c2me-rewrites-chunk-serializer 0.2.0+alpha.10.94
   |-- c2me-rewrites-chunkio 0.2.0+alpha.10.94
   |-- c2me-server-utils 0.2.0+alpha.10.94
   |-- c2me-threading-chunkio 0.2.0+alpha.10.94
   |-- c2me-threading-lighting 0.2.0+alpha.10.94
   |-- c2me-threading-worldgen 0.2.0+alpha.10.94
   |-- com_electronwill_night-config_core 3.6.5
   |-- com_electronwill_night-config_toml 3.6.5
   |-- com_ibm_async_asyncutil 0.1.0
   |-- net_objecthunter_exp4j 0.4.8
   \-- org_threadly_threadly 7.0
- cancelblockupdate 1.20.1-1.1.2
- carpet 1.4.112+v230608
- carpet-fixes 1.20-1.16.1
   \-- com_github_llamalad7_mixinextras 0.2.0-beta.9
- carpet-tis-addition 1.49.0
   \-- conditional-mixin 0.3.2
- caxton 0.4.9+1.20.1
   |-- com_github_ben-manes_caffeine_caffeine 3.1.2
   \-- mm 2.3
- chesttracker 1.1.22
   |-- libgui 8.0.0+1.20
   |    |-- jankson 5.0.1+j1.2.2
   |    |    \-- blue_endless_jankson 1.2.2
   |    \-- libninepatch 1.2.0
   \-- whereisit 1.14.17
- citresewn 1.1.3+1.20
   \-- citresewn-defaults 1.1.3+1.20
- cleardespawn 1.1.13
- clickthrough 1.20-fabric0.83.0-0.4.1
   |-- crowdin-translate 1.4+1.19.3
   \-- gbfabrictools 1.4+1.20
- clientcommands 2.8.3
   \-- betterconfig 1.1.4
- clientsidenoteblocks 2.6
- cloth-config 11.1.106
   \-- cloth-basic-math 0.6.1
- completeconfig 2.4.1
   |-- completeconfig-base 2.4.1
   |-- completeconfig-gui-cloth 2.4.1
   \-- completeconfig-gui-yacl 2.4.1
- computercraft 1.106.1
   |-- com_jcraft_jzlib 1.1.3
   |-- io_netty_netty-codec-http 4.1.82.Final
   |-- io_netty_netty-codec-socks 4.1.82.Final
   |-- io_netty_netty-handler-proxy 4.1.82.Final
   \-- org_squiddev_cobalt 0.7.0
- continuity 3.0.0-beta.2+1.20
- crafttweaker 14.0.10
   |-- org_javassist_javassist 3.29.0-GA
   \-- org_reflections_reflections 0.10.2
- customskinloader 14.17
- debugify 1.20.1+2.0
- detailab 2.6.3+1.20.1-fabric
- disable_custom_worlds_advice 4.1
- disableinsecurechattoast 1.1.0
- do_a_barrel_roll 3.0.1+1.20
   \-- cicada 0.4.0
- dynamiccrosshair 7.0.2+1.20
   \-- yaclx 1.1+1.20
- dynamiccrosshaircompat 3.2+1.20.1
- dynamicfps 2.4.0
   \-- com_moandjiezana_toml_toml4j 0.7.2
- eatinganimationid 1.9.4+1.20
- enhancedblockentities 0.9+1.20
   |-- advanced_runtime_resource_pack 0.6.7
   \-- spruceui 5.0.0+1.20
- entity_model_features 0.2.13
- entity_texture_features 4.4.4
   \-- org_apache_httpcomponents_httpmime 4.5.10
- essential-client 1.3.5
   \-- com_github_senseiwells_arucas d1f19ffe01
- essential_commands 0.33.2-mc1.20
   |-- ec-core 1.3.0-mc1.20
   |    |-- fabric-permissions-api-v0 0.2-SNAPSHOT
   |    |-- placeholder-api 2.1.1+1.20
   |    \-- playerabilitylib 1.8.0
   |-- fabric-permissions-api-v0 0.2-SNAPSHOT
   |-- org_yaml_snakeyaml 1.33
   |-- placeholder-api 2.1.1+1.20
   \-- playerabilitylib 1.8.0
- fabric-api 0.86.0+1.20.1
   |-- fabric-api-base 0.4.30+7abfd51577
   |-- fabric-api-lookup-api-v1 1.6.35+4d8536c977
   |-- fabric-biome-api-v1 13.0.10+b3afc78b77
   |-- fabric-block-api-v1 1.0.9+e022e5d177
   |-- fabric-blockrenderlayer-v1 1.1.40+b3afc78b77
   |-- fabric-client-tags-api-v1 1.1.1+97bb207577
   |-- fabric-command-api-v1 1.2.33+f71b366f77
   |-- fabric-command-api-v2 2.2.12+b3afc78b77
   |-- fabric-commands-v0 0.2.50+df3654b377
   |-- fabric-containers-v0 0.1.62+df3654b377
   |-- fabric-content-registries-v0 4.0.9+b3afc78b77
   |-- fabric-convention-tags-v1 1.5.4+a1a980da77
   |-- fabric-crash-report-info-v1 0.2.18+aeb40ebe77
   |-- fabric-data-generation-api-v1 12.2.0+6c31357e77
   |-- fabric-dimensions-v1 2.1.52+b3afc78b77
   |-- fabric-entity-events-v1 1.5.22+b3afc78b77
   |-- fabric-events-interaction-v0 0.6.1+e91849a877
   |-- fabric-events-lifecycle-v0 0.2.62+df3654b377
   |-- fabric-game-rule-api-v1 1.0.38+b04edc7a77
   |-- fabric-item-api-v1 2.1.27+b3afc78b77
   |-- fabric-item-group-api-v1 4.0.9+132c48c177
   |-- fabric-keybindings-v0 0.2.34+df3654b377
   |-- fabric-lifecycle-events-v1 2.2.21+b3afc78b77
   |-- fabric-loot-api-v2 1.1.39+b3afc78b77
   |-- fabric-loot-tables-v1 1.1.43+9e7660c677
   |-- fabric-message-api-v1 5.1.7+3265161977
   |-- fabric-mining-level-api-v1 2.1.49+b3afc78b77
   |-- fabric-model-loading-api-v1 1.0.1+9386d8a777
   |-- fabric-models-v0 0.4.0+9386d8a777
   |-- fabric-networking-api-v1 1.3.9+b3afc78b77
   |-- fabric-networking-v0 0.3.49+df3654b377
   |-- fabric-object-builder-api-v1 11.1.1+6beca84877
   |-- fabric-particles-v1 1.1.1+201a23a077
   |-- fabric-recipe-api-v1 1.0.19+b3afc78b77
   |-- fabric-registry-sync-v0 2.3.0+2e061fd477
   |-- fabric-renderer-api-v1 3.1.1+9386d8a777
   |-- fabric-renderer-indigo 1.4.1+9172968c77
   |-- fabric-renderer-registries-v1 3.2.45+df3654b377
   |-- fabric-rendering-data-attachment-v1 0.3.34+b3afc78b77
   |-- fabric-rendering-fluids-v1 3.0.27+b3afc78b77
   |-- fabric-rendering-v0 1.1.48+df3654b377
   |-- fabric-rendering-v1 3.0.7+b3afc78b77
   |-- fabric-resource-conditions-api-v1 2.3.5+ea08f9d877
   |-- fabric-resource-loader-v0 0.11.9+132c48c177
   |-- fabric-screen-api-v1 2.0.7+b3afc78b77
   |-- fabric-screen-handler-api-v1 1.3.28+b3afc78b77
   |-- fabric-sound-api-v1 1.0.12+b3afc78b77
   |-- fabric-transfer-api-v1 3.3.0+cdf060b277
   \-- fabric-transitive-access-wideners-v1 4.3.0+6c31357e77
- fabric-language-kotlin 1.10.0+kotlin.1.9.0
   |-- org_jetbrains_kotlin_kotlin-reflect 1.9.0
   |-- org_jetbrains_kotlin_kotlin-stdlib 1.9.0
   |-- org_jetbrains_kotlin_kotlin-stdlib-jdk7 1.9.0
   |-- org_jetbrains_kotlin_kotlin-stdlib-jdk8 1.9.0
   |-- org_jetbrains_kotlinx_atomicfu-jvm 0.21.0
   |-- org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm 1.7.2
   |-- org_jetbrains_kotlinx_kotlinx-coroutines-jdk8 1.7.2
   |-- org_jetbrains_kotlinx_kotlinx-datetime-jvm 0.4.0
   |-- org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm 1.5.1
   |-- org_jetbrains_kotlinx_kotlinx-serialization-core-jvm 1.5.1
   \-- org_jetbrains_kotlinx_kotlinx-serialization-json-jvm 1.5.1
- fabrication 3.3.1+1.20
   \-- lib39-deferral 1.5.0-pre2.2+1.19.3
- fabricloader 0.14.21
- fabricskyboxes 0.7.2+mc1.20.1
- fabrishot 1.10.0
- fancymenu 2.14.7
- faster_entity_animations 1.6
- fastload 3.4.0
   |-- fastload-119-0-1-2-compat 3.4.0
   |-- fastload-1193-compat 3.4.0
   |-- fastload-1194-compat 3.4.0
   \-- fastload_fapi_forward 1.0.2
- fastquit 3.0.0-beta.2+1.20+
- faux-custom-entity-data 6.0.1
- ferritecore 6.0.0
- forgeconfigapiport 8.0.0
- fsb-interop 1.3.3+mc1.20-build.46
- gammautils 1.7.15
- i18nupdatemod 3.5.0
- imblocker 4.0.0-alpha20230714
- immediatelyfast 1.1.16+1.20.1
   \-- net_lenni0451_reflect 1.2.1
- indium 1.0.21+mc1.20.1
- inventoryprofilesnext 1.10.6
- invmove 0.8.4
- invview 1.4.11-1.20+
   |-- fabric-permissions-api-v0 0.2-SNAPSHOT
   \-- sgui 1.2.2+1.20
- iris 1.6.4
   |-- io_github_douira_glsl-transformer 2.0.0-pre13
   |-- org_anarres_jcpp 1.4.14
   \-- org_antlr_antlr4-runtime 4.11.1
- itemscroller 0.20.0
- jade 11.3.0
- java 17
- konkrete 1.6.1
- krypton 0.2.3
   \-- com_velocitypowered_velocity-native 3.2.0-SNAPSHOT
- languagereload 1.5.8+1.20.1
- lazy-language-loader 0.3.3
- lazydfu 0.1.3
- ldlib 1.0.12
- libipn 3.0.2
- litematica 0.15.3
- lithium 0.11.2
- lmpi 1.0.1
- magiclib 0.7.346+e235d92-stable
   \-- magiclib-1_20_1 0.7.346+e235d92-stable
- make_bubbles_pop 0.1.1-fabric
- malilib 0.16.1
- masa_gadget_mod 3.2.311+aae0554-stable
   \-- masa_gadget_mod-1_20_1 3.2.311+aae0554-stable
- memoryleakfix 1.1.1
- meteor-client 0.5.4-1865
   \-- baritone-meteor 1.20.1-SNAPSHOT
- meteor-rejects 0.3
   \-- seedcrackerx-api 2.10.1
- meteorplus 1.20-for-dev-build-0.5.4
- midnightlib 1.4.1
- minecraft 1.20.1
- minihud 0.27.0
- mixin-conflict-helper 1.2.0
- mixintrace 1.1.1+1.17
- mod-loading-screen 1.0.2
   \-- com_formdev_flatlaf 3.0
- modelfix 1.14
- modernfix 5.3.1+mc1.20.1
   |-- fabric-api-base 0.4.30+7abfd51577
   |-- fabric-command-api-v2 2.2.12+b3afc78b77
   |-- fabric-lifecycle-events-v1 2.2.21+b3afc78b77
   |-- fabric-model-loading-api-v1 1.0.1+9386d8a777
   \-- fabric-screen-api-v1 2.0.7+b3afc78b77
- modmenu 7.2.1
- moonlight 1.20-2.7.0
- moonphaseinfoplus 1.1.1
- moreculling 1.20-0.18.1
   \-- conditional-mixin 0.3.2
- mousetweaks 2.25
- no-resource-pack-warnings 1.3.0
- nochatreports 1.20.1-v2.2.2
- notebook 3.1.0
- notenoughcrashes 4.4.5+1.20.1
- openpartiesandclaims 0.19.0
- optigui 2.1.3
   |-- optiglue 2.1.3-mc.1.19.3
   |-- org_apache_commons_commons-text 1.10.0
   \-- org_ini4j_ini4j 0.5.4
- photon 1.0.5
- physicsmod 3.0.6
- pickblockpro 1.7.19
- pistorder 1.5.0
- presencefootsteps 1.9.0
   \-- kirin 1.15.0
- puzzle 1.5.2+1.20
   |-- puzzle-base 1.5.2+1.20
   |-- puzzle-gui 1.5.2+1.20
   |-- puzzle-models 1.5.2+1.20
   \-- puzzle-splashscreen 1.5.2+1.20
- raised 2.0.0
- reeses-sodium-options 1.5.1+mc1.20-build.74
- resourcefulconfig 2.0.0
- resourcefullib 2.1.4
   \-- com_teamresourceful_yabn 1.0.3
- resourcepackchecker 1.20.1-1.0.2
- resourcify 1.1.0
   |-- elementa 590+markdown
   \-- universalcraft 269
- roughlyenoughitems 12.0.634
   \-- error_notifier 1.0.9
- screenshotclipboard 1.0.9
- seedmapper 1.5.15
   \-- clientarguments 1.5.1
- shulkerboxtooltip 4.0.4+1.20.1
- smwyg 1.1.1
- sodium 0.4.10+build.27
- sodium-extra 0.4.23+mc1.20.1-build.106
   |-- caffeineconfig 1.3.0+1.17
   \-- crowdin-translate 1.4+1.19.3
- spark 1.10.42
- sprintindicator 1.2.0
- stackdeobfuscator 1.3.2+fabric.4bca927
   \-- net_fabricmc_mapping-io 0.3.0
- starlight 1.1.2+fabric.dbc156f
- stendhal 1.3.9-1.20
- symbol-chat 1.20.1-1.1.0
- tcdcommons 2.10.2+1.20.1
- tooltipfix 1.1.1-1.20
- tputils 1.7.16
- tweakeroo 0.17.1
- ukulib 1.0.0-beta.2+1.20
   \-- gs_mclo_java_mclogs-java 2.1.1
- visuality 0.7.0+1.20
- visualoverhaul 5.0.1
- voicechat 1.20.1-2.4.14
- walljump 1.3.6
   \-- org_aeonbits_owner_owner 1.0.12
- waterdripsound 1.19-0.3.2
- waystones 14.0.1
- wildfire_gender 1.20-3.0.1
- xaerominimap 23.5.0
- xaeroworldmap 1.30.6
- yet_another_config_lib_v3 3.0.3+1.20
   |-- com_twelvemonkeys_common_common-image 3.9.4
   |-- com_twelvemonkeys_common_common-io 3.9.4
   |-- com_twelvemonkeys_common_common-lang 3.9.4
   |-- com_twelvemonkeys_imageio_imageio-core 3.9.4
   |-- com_twelvemonkeys_imageio_imageio-metadata 3.9.4
   \-- com_twelvemonkeys_imageio_imageio-webp 3.9.4

1.20.5

请求更新至1.20.5

非预期的禁用问题

  1. 在未进入 单人游戏 之前,模组菜单(包含 Configured 中的配置项编辑)中的文本输入框是能正常输入中文的
    但在进入游戏后,这些输入框就无法再输入中文了。即使再返回开始界面也无济于事
  2. 包括一些原本可以输入中文的设置项文本框在内都是这样
  3. JourneyMap 编辑路标点名称时也无法正常输入中文
  4. 我的版本是 MC-1.18.2-Forge-40.0.32
  5. 可能涉及到的模组有
  • InvMove(用来在打开各种screen时能够继续按方向键移动)
  • Catalogue(重新设计了模组列表界面)
  • Configured(可以在游戏内直接对部分模组的配置文件进行编辑)
  1. 如有需要我将按需补充

1.20.X新增悬挂告示牌GUI未添加(提供数据希望后续加入)以及抓虫

1实测悬挂告示牌无法自动识别GUI,添加minecraft:net.minecraft.class_7744后可正常使用 希望后续可以直接加入到新版本预设。
2.我查看了添加GUI的那个表单的教程,发现步骤中“只需保存配置后可生效无需重启”这一点存疑,因为本人修改后无法立即生效,重启后生效。(反正我是这样的)
版本IMBlocker-v4.0.1-alpha-mc1.20

[1.19.2] 服务器中无法正常运行

mod版本:1.19.2-3.1.2
forge版本:43.2.6
mod在单人游戏中可以正常运行,但是在加入服务器后却无法正常运行(只有客户端加了此mod),我找不出原因,下面是日志,多谢!
latest.log

Linux下mc1.16.5,forge36.1.23提示Unable to load library ‘imm32’

---- Minecraft Crash Report ----
// Everything's going to plan. No, really, that was supposed to happen.

Time: 21-5-22 上午10:11
Description: Unexpected error

java.lang.UnsatisfiedLinkError: Unable to load library 'imm32': Native library (linux-x86-64/libimm32.so) not found in resource path (/home//.minecraft/libraries/net/minecraftforge/forge/1.16.5-36.1.23/forge-1.16.5-36.1.23.jar:/home//.minecraft/libraries/org/ow2/asm/asm/9.0/asm-9.0.jar:/home//.minecraft/libraries/org/ow2/asm/asm-commons/9.0/asm-commons-9.0.jar:/home//.minecraft/libraries/org/ow2/asm/asm-tree/9.0/asm-tree-9.0.jar:/home//.minecraft/libraries/org/ow2/asm/asm-util/9.0/asm-util-9.0.jar:/home//.minecraft/libraries/org/ow2/asm/asm-analysis/9.0/asm-analysis-9.0.jar:/home//.minecraft/libraries/cpw/mods/modlauncher/8.0.9/modlauncher-8.0.9.jar:/home//.minecraft/libraries/cpw/mods/grossjava9hacks/1.3.3/grossjava9hacks-1.3.3.jar:/home//.minecraft/libraries/net/minecraftforge/accesstransformers/3.0.1/accesstransformers-3.0.1.jar:/home//.minecraft/libraries/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar:/home//.minecraft/libraries/net/minecraftforge/eventbus/4.0.0/eventbus-4.0.0.jar:/home//.minecraft/libraries/net/minecraftforge/forgespi/3.2.0/forgespi-3.2.0.jar:/home//.minecraft/libraries/net/minecraftforge/coremods/4.0.6/coremods-4.0.6.jar:/home//.minecraft/libraries/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar:/home//.minecraft/libraries/com/electronwill/night-config/core/3.6.3/core-3.6.3.jar:/home//.minecraft/libraries/com/electronwill/night-config/toml/3.6.3/toml-3.6.3.jar:/home//.minecraft/libraries/org/jline/jline/3.12.1/jline-3.12.1.jar:/home//.minecraft/libraries/org/apache/maven/maven-artifact/3.6.3/maven-artifact-3.6.3.jar:/home//.minecraft/libraries/net/jodah/typetools/0.8.3/typetools-0.8.3.jar:/home//.minecraft/libraries/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar:/home//.minecraft/libraries/org/apache/logging/log4j/log4j-core/2.11.2/log4j-core-2.11.2.jar:/home//.minecraft/libraries/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar:/home//.minecraft/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:/home//.minecraft/libraries/org/spongepowered/mixin/0.8.2/mixin-0.8.2.jar:/home//.minecraft/libraries/net/minecraftforge/nashorn-core-compat/15.1.1.1/nashorn-core-compat-15.1.1.1.jar:/home//.minecraft/libraries/com/mojang/patchy/1.1/patchy-1.1.jar:/home//.minecraft/libraries/oshi-project/oshi-core/1.1/oshi-core-1.1.jar:/home//.minecraft/libraries/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar:/home//.minecraft/libraries/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar:/home//.minecraft/libraries/com/ibm/icu/icu4j/66.1/icu4j-66.1.jar:/home//.minecraft/libraries/com/mojang/javabridge/1.0.22/javabridge-1.0.22.jar:/home//.minecraft/libraries/io/netty/netty-all/4.1.25.Final/netty-all-4.1.25.Final.jar:/home//.minecraft/libraries/com/google/guava/guava/21.0/guava-21.0.jar:/home//.minecraft/libraries/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar:/home//.minecraft/libraries/commons-io/commons-io/2.5/commons-io-2.5.jar:/home//.minecraft/libraries/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:/home//.minecraft/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar:/home//.minecraft/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar:/home//.minecraft/libraries/com/mojang/brigadier/1.0.17/brigadier-1.0.17.jar:/home//.minecraft/libraries/com/mojang/datafixerupper/4.0.26/datafixerupper-4.0.26.jar:/home//.minecraft/libraries/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar:/home//.minecraft/libraries/com/mojang/authlib/2.1.28/authlib-2.1.28.jar:/home//.minecraft/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar:/home//.minecraft/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar:/home//.minecraft/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/home//.minecraft/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar:/home//.minecraft/libraries/it/unimi/dsi/fastutil/8.2.1/fastutil-8.2.1.jar:/home//.minecraft/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar:/home//.minecraft/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2.jar:/home//.minecraft/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar:/home//.minecraft/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar:/home//.minecraft/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar:/home//.minecraft/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar:/home//.minecraft/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2.jar:/home//.minecraft/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3.jar:/home//.minecraft/libraries/org/jackhuang/hmcl/transformer-discovery-service/1.0/transformer-discovery-service-1.0.jar:/home/***/.minecraft/versions/1.16.5/1.16.5.jar)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:303) ~[jna-4.4.0.jar:4.4.0 (b0)] {}
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:427) ~[jna-4.4.0.jar:4.4.0 (b0)] {}
at com.sun.jna.Native.register(Native.java:1642) ~[jna-4.4.0.jar:4.4.0 (b0)] {re:classloading}
at com.sun.jna.Native.register(Native.java:1360) ~[jna-4.4.0.jar:4.4.0 (b0)] {re:classloading}
at io.github.reserveword.imblocker.IMManager.(IMManager.java:21) ~[imblocker:2.0] {re:classloading}
at io.github.reserveword.imblocker.ActiveTextFieldSniffer.checkState(ActiveTextFieldSniffer.java:109) ~[imblocker:2.0] {re:classloading}
at io.github.reserveword.imblocker.IMBlocker$RegistryEvents.onClientTick(IMBlocker.java:78) ~[imblocker:2.0] {re:classloading}
at net.minecraftforge.eventbus.ASMEventHandler_17_RegistryEvents_onClientTick_ClientTickEvent.invoke(.dynamic) ~[?:?] {}
at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}
at net.minecraftforge.fml.hooks.BasicEventHooks.onPostClientTick(BasicEventHooks.java:110) ~[forge:?] {re:classloading}
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1542) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:953) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.main.Main.main(Main.java:184) ~[1.16.5.jar:?] {re:classloading,pl:runtimedistcleaner:A}
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181] {}
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_181] {}
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_181] {}
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_181] {}
at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) ~[forge-1.16.5-36.1.23.jar:36.1] {}
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}
at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}
at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {}

A detailed walkthrough of the error, its code path and all known details is as follows:

-- System Details --
Details:
Minecraft Version: 1.16.5
Minecraft Version ID: 1.16.5
Operating System: Linux (amd64) version 4.15.0-30deepin-generic
Java Version: 1.8.0_181, Oracle Corporation
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 4759438208 bytes (4538 MB) / 5234491392 bytes (4992 MB) up to 5234491392 bytes (4992 MB)
CPUs: 4
JVM Flags: 10 total; -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=16M -XX:-UseAdaptiveSizePolicy -XX:-OmitStackTraceInFastThrow -Xmn128m -Xmx4992m
ModLauncher: 8.0.9+86+master.3cf110c
ModLauncher launch target: fmlclient
ModLauncher naming: srg
ModLauncher services:
/mixin-0.8.2.jar mixin PLUGINSERVICE
/eventbus-4.0.0.jar eventbus PLUGINSERVICE
/forge-1.16.5-36.1.23.jar object_holder_definalize PLUGINSERVICE
/forge-1.16.5-36.1.23.jar runtime_enum_extender PLUGINSERVICE
/accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE
/forge-1.16.5-36.1.23.jar capability_inject_definalize PLUGINSERVICE
/forge-1.16.5-36.1.23.jar runtimedistcleaner PLUGINSERVICE
/mixin-0.8.2.jar mixin TRANSFORMATIONSERVICE
/OptiFine-1.16.5_HD_U_G8.jar OptiFine TRANSFORMATIONSERVICE
/forge-1.16.5-36.1.23.jar fml TRANSFORMATIONSERVICE
FML: 36.1
Forge: net.minecraftforge:36.1.23
FML Language Providers:
[email protected]
minecraft@1
Mod List:
forge-1.16.5-36.1.23-client.jar |Minecraft |minecraft |1.16.5 |DONE |NOSIGNATURE
forge-1.16.5-36.1.23-universal.jar |Forge |forge |36.1.23 |DONE |22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90
Jade-1.16.4-2.5.1.jar |Jade |jade |2.5.1 |DONE |NOSIGNATURE
AppleSkin-mc1.16.2-forge-1.0.14.jar |AppleSkin |appleskin |1.0.14 |DONE |NOSIGNATURE
imblocker-1.16.5-2.0.jar |IMBlocker |imblocker |2.0 |DONE |NOSIGNATURE
ferritecore-2.0.4-forge.jar |Ferrite Core |ferritecore |2.0.4 |DONE |41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a
journeymap-1.16.5-5.7.1b3.jar |Journeymap |journeymap |5.7.1b3 |DONE |NOSIGNATURE
jei-1.16.4-7.6.1.65.jar |Just Enough Items |jei |7.6.1.65 |DONE |NOSIGNATURE
Crash Report UUID: 14a670b6-0768-49a9-802d-8ca9f25595ff
Launched Version: HMCL 3.3.183
Backend library: LWJGL version 3.2.2 build 10
Backend API: Mesa DRI Intel(R) HD Graphics 620 (Kaby Lake GT2) GL version 3.0 Mesa 18.1.9, Intel Open Source Technology Center
GL Caps: Using framebuffer using OpenGL 3.0
Using VBOs: Yes
Is Modded: Definitely; Client brand changed to 'forge'
Type: Client (map_client.txt)
Graphics mode: fancy
Resource Packs: vanilla, mod_resources, file/Entity+Healthbars.zip
Current Language: 简体中文 (**)
CPU: 4x Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
OptiFine Version: OptiFine_1.16.5_HD_U_G8
OptiFine Build: 20210515-161946
Render Distance Chunks: 12
Mipmaps: 4
Anisotropic Filtering: 1
Antialiasing: 0
Multitexture: false
Shaders: Sildurs Vibrant Shaders v1.283 Lite.zip
OpenGlVersion: 3.0 Mesa 18.1.9
OpenGlRenderer: Mesa DRI Intel(R) HD Graphics 620 (Kaby Lake GT2)
OpenGlVendor: Intel Open Source Technology Center
CpuCount: 4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.