diff --git a/src/client/java/xyz/thewhitedog9487/client/mixin/KeyMappingMixin.java b/src/client/java/xyz/thewhitedog9487/client/mixin/KeyMappingMixin.java index 5979ac9..5f2e362 100644 --- a/src/client/java/xyz/thewhitedog9487/client/mixin/KeyMappingMixin.java +++ b/src/client/java/xyz/thewhitedog9487/client/mixin/KeyMappingMixin.java @@ -42,7 +42,4 @@ public class KeyMappingMixin { || ClassName.startsWith("kotlin.") || ClassName.startsWith("net.minecraft") || ClassName.startsWith("net.fabricmc") - || ClassName.startsWith("org.spongepowered.") - - // ↓ 第三方Mod兼容条目 - || ClassName.startsWith("dev.tr7zw.transition"); } } + || ClassName.startsWith("org.spongepowered."); } } diff --git a/src/client/kotlin/xyz/thewhitedog9487/client/Miscellaneous.kt b/src/client/kotlin/xyz/thewhitedog9487/client/Miscellaneous.kt index 83cd491..dea5783 100644 --- a/src/client/kotlin/xyz/thewhitedog9487/client/Miscellaneous.kt +++ b/src/client/kotlin/xyz/thewhitedog9487/client/Miscellaneous.kt @@ -17,17 +17,16 @@ val VanillaMinecraftContainer: ModContainer = FabricLoader val KeyMappingToMod: HashMap = HashMap() val KeyMapping.Provider: ModInfo get() { - if (SettingsInstance.SearchInStackTrace) { - KeyMappingToMod[this]?.let { return it } } - val KeyBindTranslationKey = name val CandidateModIds = KeyBindTranslationKey.split(".") - if (CandidateModIds.size == 1){ - return ModInfo(null) } for (CandidateModId in CandidateModIds) { val ModContainer = FabricLoader.getInstance().getModContainer(CandidateModId) if (ModContainer.isPresent) { return ModContainer.map(::ModInfo).get() } } + if (SettingsInstance.SearchInStackTrace) { + KeyMappingToMod[this]?.let { return it } } + if (CandidateModIds.size == 1){ + return ModInfo(null) } return ModInfo(VanillaMinecraftContainer) } data class ModInfo(val ModContainerInstance: ModContainer?) { diff --git a/src/client/kotlin/xyz/thewhitedog9487/client/ModMenuEntryPoint.kt b/src/client/kotlin/xyz/thewhitedog9487/client/ModMenuEntryPoint.kt index 8f3b400..a0251b3 100644 --- a/src/client/kotlin/xyz/thewhitedog9487/client/ModMenuEntryPoint.kt +++ b/src/client/kotlin/xyz/thewhitedog9487/client/ModMenuEntryPoint.kt @@ -48,7 +48,7 @@ class ModMenuEntryPoint: ModMenuApi { Option.createBuilder() .name(Component.translatable("option.SearchInStackTrace")) .description { OptionDescription.of(Component.translatable("option.SearchInStackTrace.description") ) } - .binding( false, { SettingsInstance.SearchInStackTrace }, { SettingsInstance.SearchInStackTrace = it } ) + .binding( true, { SettingsInstance.SearchInStackTrace }, { SettingsInstance.SearchInStackTrace = it } ) .controller(BooleanControllerBuilder::create ) .build() } .option { diff --git a/src/client/kotlin/xyz/thewhitedog9487/client/Settings.kt b/src/client/kotlin/xyz/thewhitedog9487/client/Settings.kt index 6278f05..2ecec04 100644 --- a/src/client/kotlin/xyz/thewhitedog9487/client/Settings.kt +++ b/src/client/kotlin/xyz/thewhitedog9487/client/Settings.kt @@ -9,6 +9,10 @@ import java.nio.file.Path import java.nio.file.StandardWatchEventKinds const val CurrentConfigurationVersionCode: Long = 0 + +/** + * @see ModMenuEntryPoint\ + */ class Settings { @SerialEntry(comment = """ @@ -61,12 +65,11 @@ class Settings { @SerialEntry(comment = """ 是否注入KeyMapping构造函数,在每次注册按键绑定时查询线程的调用栈信息来进行强力匹配 - 警告:在部分情况下可能产生更多误报,请按需选择 类型:布尔值 取值范围:true false - 默认值:false + 默认值:true """) - var SearchInStackTrace = false + var SearchInStackTrace = true @SerialEntry(comment = """ diff --git a/src/main/resources/assets/whoprovidethiskeybind/lang/en_us.json b/src/main/resources/assets/whoprovidethiskeybind/lang/en_us.json index d94cd5b..0459a07 100644 --- a/src/main/resources/assets/whoprovidethiskeybind/lang/en_us.json +++ b/src/main/resources/assets/whoprovidethiskeybind/lang/en_us.json @@ -16,7 +16,7 @@ "option.ShowFilePath": "Show File Path", "option.ShowFilePath.description": "Display the mod file path in the information", "option.SearchInStackTrace": "Enable aggressive search via stack trace lookup", - "option.SearchInStackTrace.description": "Injects into the KeyMapping class constructor and queries the current thread's call stack each time a keybind is registered for aggressive matching\nWarning: In some cases, this may produce more false positives; enable as needed", + "option.SearchInStackTrace.description": "Injects into the KeyMapping class constructor and queries the current thread's call stack each time a keybind is registered for aggressive matching", "tooltip.provided_by": "Provided by: %s", "tooltip.provider_mod_id": "Provider Mod ID: %s", "tooltip.key_id": "Keybind ID: %s", diff --git a/src/main/resources/assets/whoprovidethiskeybind/lang/zh_cn.json b/src/main/resources/assets/whoprovidethiskeybind/lang/zh_cn.json index 254a722..43ee9a2 100644 --- a/src/main/resources/assets/whoprovidethiskeybind/lang/zh_cn.json +++ b/src/main/resources/assets/whoprovidethiskeybind/lang/zh_cn.json @@ -16,7 +16,7 @@ "option.ShowFilePath": "是否显示文件路径", "option.ShowFilePath.description": "在信息中显示Mod的文件路径", "option.SearchInStackTrace": "是否要通过查询堆栈信息来进行强力搜索", - "option.SearchInStackTrace.description": "注入KeyMapping类的构造函数,在每次注册按键绑定时查询线程的调用栈信息来进行强力匹配\n警告:部分情况下可能产生更多误报,请按需选择", + "option.SearchInStackTrace.description": "注入KeyMapping类的构造函数,在每次注册按键绑定时查询线程的调用栈信息来进行强力匹配", "tooltip.provided_by": "提供者:%s", "tooltip.provider_mod_id": "提供者ID:%s", "tooltip.key_id": "键位ID:%s",