From de9ee5364083768a79518f5e91ff88a86a964a86 Mon Sep 17 00:00:00 2001 From: GaLi <3096147684@qq.com> Date: Mon, 2 Mar 2026 11:36:42 +0800 Subject: [PATCH] =?UTF-8?q?F=E9=94=AE=E6=90=9C=E7=B4=A2=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E6=8C=89=E9=94=AE=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modMetadata/META-INF/neoforge.mods.toml | 96 ------------------- .../extendedae_plus/client/InputEvents.java | 5 +- .../client/ModKeybindings.java | 12 +++ .../assets/extendedae_plus/lang/en_us.json | 1 + .../assets/extendedae_plus/lang/zh_cn.json | 1 + 5 files changed, 18 insertions(+), 97 deletions(-) delete mode 100644 build/generated/sources/modMetadata/META-INF/neoforge.mods.toml diff --git a/build/generated/sources/modMetadata/META-INF/neoforge.mods.toml b/build/generated/sources/modMetadata/META-INF/neoforge.mods.toml deleted file mode 100644 index 81b31c6..0000000 --- a/build/generated/sources/modMetadata/META-INF/neoforge.mods.toml +++ /dev/null @@ -1,96 +0,0 @@ -# This is an example neoforge.mods.toml file. It contains the data relating to the loading mods. -# There are several mandatory fields (#mandatory), and many more that are optional (#optional). -# The overall format is standard TOML format, v0.5.0. -# Note that there are a couple of TOML lists in this file. -# Find more information on toml format here: https://github.com/toml-lang/toml - -# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml -modLoader = "javafml" #mandatory - -# A version range to match for said mod loader - for regular FML @Mod it will be the FML version. This is currently 2. -loaderVersion = "[1,)" #mandatory - -# The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties. -# Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here. -license = "LGPL-3.0-or-later" - -# A URL to refer people to when problems occur with this mod - -# A list of mods - how many allowed here is determined by the individual mod loader -[[mods]] -modId = "extendedae_plus" -version = "1.21.1-1.5.1" -displayName = "ExtendedAE-Plus" -issueTrackerURL = "https://github.com/GaLicn/ExtendedAE_Plus/issues" -displayURL = "https://github.com/GaLicn/ExtendedAE_Plus" -# A URL to query for updates for this mod. See the JSON update specification https://docs.neoforged.net/docs/misc/updatechecker/ -#updateJSONURL="https://change.me.example.invalid/updates.json" #optional - -# A URL for the "homepage" for this mod, displayed in the mod UI -#displayURL="https://change.me.to.your.mods.homepage.example.invalid/" #optional - -# A file name (in the root of the mod JAR) containing a logo for display -logoFile="logo.png" - -# A text field displayed in the mod UI -credits="C-H716" - -# A text field displayed in the mod UI -authors = "GaLi" #optional - -# The description text for the mod (multi line!) (#mandatory) -description = '''Add more practical features and auxiliary operations to the Applied Energistics 2 mod.''' - -# The [[mixins]] block allows you to declare your mixin config to FML so that it gets loaded. -[[mixins]] -config = "extendedae_plus.mixins.json" - -# The [[accessTransformers]] block allows you to declare where your AT file is. -# If this block is omitted, a fallback attempt will be made to load an AT from META-INF/accesstransformer.cfg -#[[accessTransformers]] -#file="META-INF/accesstransformer.cfg" - -# The coremods config file path is not configurable and is always loaded from META-INF/coremods.json - -# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional. -[[dependencies.extendedae_plus]] #optional -# the modid of the dependency -modId = "neoforge" #mandatory -# The type of the dependency. Can be one of "required", "optional", "incompatible" or "discouraged" (case insensitive). -# 'required' requires the mod to exist, 'optional' does not -# 'incompatible' will prevent the game from loading when the mod exists, and 'discouraged' will show a warning -type = "required" #mandatory -# Optional field describing why the dependency is required or why it is incompatible -# reason="..." -# The version range of the dependency -versionRange = "[21.1.1,)" #mandatory -# An ordering relationship for the dependency. -# BEFORE - This mod is loaded BEFORE the dependency -# AFTER - This mod is loaded AFTER the dependency -ordering = "NONE" -# Side this dependency is applied on - BOTH, CLIENT, or SERVER -side = "BOTH" - -# Here's another dependency -[[dependencies.extendedae_plus]] -modId = "minecraft" -type = "required" -# This version range declares a minimum of the current minecraft version up to but not including the next major version -versionRange = "[1.21.1]" -ordering = "NONE" -side = "BOTH" - -# Require ExtendedAE (ExtendedAE-1.21-2.2.21-neoforge) to be present -[[dependencies.extendedae_plus]] -modId = "extendedae" -type = "required" -# Use a permissive range to tolerate upstream version string variations (e.g. 1.21-2.2.21-neoforge) -versionRange = "*" -ordering = "AFTER" -side = "BOTH" - -# Features are specific properties of the game environment, that you may want to declare you require. This example declares -# that your mod requires GL version 3.2 or higher. Other features will be added. They are side aware so declaring this won't -# stop your mod loading on the server for example. -#[features.extendedae_plus] -#openGLVersion="[3.2,)" diff --git a/src/main/java/com/extendedae_plus/client/InputEvents.java b/src/main/java/com/extendedae_plus/client/InputEvents.java index 0c6904a..1464d99 100644 --- a/src/main/java/com/extendedae_plus/client/InputEvents.java +++ b/src/main/java/com/extendedae_plus/client/InputEvents.java @@ -139,7 +139,10 @@ public final class InputEvents { @SubscribeEvent public static void onKeyPressedPre(ScreenEvent.KeyPressed.Pre event) { - if (event.getKeyCode() != GLFW.GLFW_KEY_F) return; + // 检查是否按下了填充搜索框的快捷键 + if (!ModKeybindings.FILL_SEARCH_KEY.matches(event.getKeyCode(), event.getScanCode())) { + return; + } var screen = Minecraft.getInstance().screen; if (!(screen instanceof MEStorageScreen || screen instanceof GuiExPatternTerminal)) { diff --git a/src/main/java/com/extendedae_plus/client/ModKeybindings.java b/src/main/java/com/extendedae_plus/client/ModKeybindings.java index 365feff..cf81ebb 100644 --- a/src/main/java/com/extendedae_plus/client/ModKeybindings.java +++ b/src/main/java/com/extendedae_plus/client/ModKeybindings.java @@ -31,9 +31,21 @@ public final class ModKeybindings { "key.categories.extendedae_plus" ); + /** + * 填充JEI物品名称到搜索框快捷键 + */ + public static final KeyMapping FILL_SEARCH_KEY = new KeyMapping( + "key.extendedae_plus.fill_search", + KeyConflictContext.GUI, + InputConstants.Type.KEYSYM, + GLFW.GLFW_KEY_F, + "key.categories.extendedae_plus" + ); + @SubscribeEvent public static void register(RegisterKeyMappingsEvent event) { event.register(CREATE_PATTERN_KEY); + event.register(FILL_SEARCH_KEY); } } diff --git a/src/main/resources/assets/extendedae_plus/lang/en_us.json b/src/main/resources/assets/extendedae_plus/lang/en_us.json index 5f827e8..c675a17 100644 --- a/src/main/resources/assets/extendedae_plus/lang/en_us.json +++ b/src/main/resources/assets/extendedae_plus/lang/en_us.json @@ -62,6 +62,7 @@ "extendedae_plus.screen.cn_name": "Chinese Name", "extendedae_plus.button.choose_provider": "Upload Pattern", "key.extendedae_plus.create_pattern": "Create Pattern (Ctrl+Q)", + "key.extendedae_plus.fill_search": "Fill Search Field from JEI", "key.categories.extendedae_plus": "ExtendedAE Plus", "message.extendedae_plus.hover_item_first": "Hover an item first.", "message.extendedae_plus.no_recipes_found": "No related recipes found.", diff --git a/src/main/resources/assets/extendedae_plus/lang/zh_cn.json b/src/main/resources/assets/extendedae_plus/lang/zh_cn.json index 6d563cc..52d65eb 100644 --- a/src/main/resources/assets/extendedae_plus/lang/zh_cn.json +++ b/src/main/resources/assets/extendedae_plus/lang/zh_cn.json @@ -62,6 +62,7 @@ "extendedae_plus.screen.cn_name": "中文名", "extendedae_plus.button.choose_provider":"上传样板", "key.extendedae_plus.create_pattern": "快速创建样板 (Ctrl+Q)", + "key.extendedae_plus.fill_search": "从JEI填充搜索框", "key.categories.extendedae_plus": "扩展AE Plus", "message.extendedae_plus.hover_item_first": "请先将鼠标悬停在物品上。", "message.extendedae_plus.no_recipes_found": "未找到相关配方。",