diff --git a/.gitignore b/.gitignore index 3b277e5..821608a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ eclipse .gradle .idea *.iml +.settings diff --git a/README.md b/README.md index ce14afe..cb697ad 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,21 @@ 一个改进 1.7.10 中 NEI 搜索功能的 mod,让 NEI 支持拼音搜索与 JEI 风格的关键字匹配 -由vfyjxf在之后的版本版本增加了其他mod的兼容 +同时也使一些其他的mod支持拼音搜索,目前支持的有: + +`Applied Energistics 2` + +`Extra Cells 2` + +`Wireless Crafting Terminal` + +`Steve's Factory Manager` + +`Witching Gadgets提供的魔导手册搜索` + +`GTNH版本Better Questing添加的任务搜索` + + ## 主要功能 @@ -12,6 +26,11 @@ - `$` 前缀的关键字匹配矿物辞典,如所有的 GT 热金属锭可用 `$ingothot` 搜索到 - `&` 前缀的关键字匹配物品 ID +##TODO + +- 添加配置文件,使对应兼容可以在配置文件添加 +- 添加暴力兼容模式 + ## 注意事项 此 mod 仅在 GT New Horizons 整合包开发者 fork 的 [NEI 2.0](https://github.com/GTNewHorizons/NotEnoughItems) 上测试过。理论上也应该支持原版 NEI 1.x,但不作保证。 @@ -24,6 +43,7 @@ PinIn 实现了一套基于 NFA 的拼音匹配算法……算了,我没有这方面的知识,而且词穷,反正就是:非常智能!性能很好!吹爆! +ASM部分来自Towdium的[JustEnoughCharacters](https://github.com/Towdium/JustEnoughCharacters) ## 协议 此项目是采用 GNU General Public License v3 or later 协议的自由软件。 diff --git a/build.gradle b/build.gradle index 20968a1..317f1c3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,179 +1,120 @@ buildscript { - repositories { - mavenCentral() + repositories { + mavenCentral() + jcenter() maven { - name = "aliyun" //阿里云 - url 'https://maven.aliyun.com/repository/public/' + name = "github" + url = "https://github.com/juanmuscaria/maven/raw/master" } - - maven { - name = "longan" //龙眼 maven - url 'https://longan.beanflame.cn/maven' - } - maven { - name = "forge" - url = "http://files.minecraftforge.net/maven" - } - maven { - name = "sonatype" - url = "https://oss.sonatype.org/content/repositories/snapshots/" - } - } - dependencies { - classpath 'cn.beanflame.longangradle:ForgeLonganGradle:1.2-0.1.2-Longan' -// classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' -// classpath 'com.github.GTNH2:ForgeGradle:FG_1.2-SNAPSHOT' - } -} - - -apply plugin: 'forge' - -version = '1.3' -group = 'net.vfyjxf.nechar' -archivesBaseName = 'NotEnoughCharacters' - -minecraft { - version = "1.7.10-10.13.4.1614-1.7.10" - runDir = "eclipse" - // 最新的 MCP 版本是 stable_12 - //mappings = "stable_12" -// clientJvmArgs += "-Dfml.coreMods.load=net.vfyjxf.nechar.mixin.MixinLoadingPlugin" -// serverJvmArgs += "-Dfml.coreMods.load=net.vfyjxf.nechar.mixin.MixinLoadingPlugin" - -} -compileJava { - options.encoding = 'UTF-8' - sourceCompatibility = '1.8' - targetCompatibility = '1.8' + } + dependencies { + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-1.4.0-SNAPSHOT' + } } repositories { - mavenCentral() - maven { - name 'chickenbones' - url 'http://chickenbones.net/maven' - } - maven { - name "Modmaven" - url "https://modmaven.k-4u.nl/" - // For Gradle 5.1 and above, limit it to just AE2 -// content { -// includeGroup 'appeng' - } + flatDir { + dirs 'libs' + } +} - maven { - name = "sponge" - url = 'https://repo.spongepowered.org/maven' - } +apply plugin: 'forge' - maven { - name = 'Extra Cells' - url = 'https://maven.cil.li/ExtraCells/' - } - flatDir { - dirs 'libs' - } - } +[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' +sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' + +version = mod_version +group = mod_group +archivesBaseName = mod_archives_name + +minecraft { + version = "1.7.10-10.13.4.1614-1.7.10" + runDir = "eclipse" + replace "@VERSION@", project.version +} +repositories { + mavenCentral() + maven { + name 'chickenbones' + url 'http://chickenbones.net/maven' + } + maven { + name 'cursemaven' + url "https://www.cursemaven.com" + } + + flatDir { + dirs 'libs' + } +} configurations { - // configuration that holds jars to include in the jar - shade - compile.extendsFrom shade + // configuration that holds jars to include in the jar + shade + compile.extendsFrom shade } - dependencies { - compile 'codechicken:NotEnoughItems:1.7.10-2.0.0-GTNH:dev' - compile 'codechicken:CodeChickenLib:1.7.10-1.1.3.138:dev' - compile 'codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev' -// compile 'org.junit.jupiter:junit-jupiter-api:5.2.0' -// compileOnly fileTree(dir: 'libs', include: ['*.jar']) -// compile "org.spongepowered:mixin:0.7.11-SNAPSHOT" -// compile files('libs/SpongeMixins-1.2.0.jar') - compile files('libs/Thaumcraft-1.7.10-4.2.3.5.jar') -// compile files('libs/appliedenergistics2-rv3-beta-6.jar') -// compile files('lib/fastutil-7.1.0.jar') -// compile files('lib/fastutil-7.0.12_mojang.jar') -// compile files('libs/ExtraCells-deobf-1.7.10-2.2.73b129.jar') - compile 'me.towdium:PinIn:1.2.0-all' -// compile files('libs/WirelessCraftingTerminal-1.7.10-rv3-1.8.7.4b.jar') -// compile files('libs/ExtraCells-1.7.10-2.4.3b3.jar') -// testCompile 'org.junit.jupiter:junit-jupiter-api:5.2.0' -// compile('org.spongepowered:mixin:0.7.11-SNAPSHOT') { -// Mixin includes a lot of dependencies that are too up - to - date -// exclude module: 'launchwrapper' -// exclude module: 'guava' -// exclude module: 'gson' -// exclude module: 'commons-io' -// exclude module: 'log4j-core' -// } - shade 'me.towdium:PinIn:1.2.0-all' -// shade "org.spongepowered:mixin:0.7.11-SNAPSHOT" + compile 'codechicken:NotEnoughItems:1.7.10-2.1.6-GTNH:dev' + compile 'codechicken:CodeChickenLib:1.7.10-1.1.3.138:dev' + compile 'codechicken:CodeChickenCore:1.7.10-1.0.7.+:dev' + compile 'me.towdium:PinIn:1.2.0-all' + + shade 'me.towdium:PinIn:1.2.0-all' } -processResources { - // this will ensure that this task is redone when the versions change. - inputs.property 'version', project.version - inputs.property 'mcversion', project.minecraft.version - // replace stuff in mcmod.info, nothing else +processResources { + from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' - - // replace version and mcversion expand 'version': project.version, - 'mcversion': project.minecraft.version + 'mod_id': mod_id, + 'mod_name': mod_name, + 'mod_author': mod_author, + 'mod_description': mod_description, + 'mc_version': mc_version, + 'mod_credits': mod_credits, + 'mod_version': mod_version } - // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } -jar { - configurations.shade.copyRecursive().setTransitive(false).each { artifact -> - from(zipTree(artifact)) { - exclude 'META-INF', 'META-INF/**' - } - - manifest.attributes( - 'FMLCorePlugin': 'net.vfyjxf.nechar.core.NechCorePlugin', - 'FMLCorePluginContainsFMLMod': 'true', - 'ForceLoadAsMod': 'true' - ) - - - appendix project.minecraft.version - } - - -/* -jar { - from refMap - - configurations.shade.copyRecursive().setTransitive(false).each { artifact -> - from (zipTree(artifact)){ - exclude 'META-INF', 'META-INF/**' - } - from(project.zipTree(artifact)){ - include 'META-INF/services', 'META-INF/services/**' - } - } - manifest.attributes( - 'TweakClass': 'org.spongepowered.asm.launch.MixinTweaker', - "FMLCorePlugin":'net.vfyjxf.nechar.mixins.core.MixinLoadingPlugin', - 'FMLCorePluginContainsFMLMod': 'true', - "MixinCompatibilityLevel": "JAVA_8", - "ForceLoadAsMod": "true", - "MixinConfigs":yourMixinConfig - ) - appendix project.minecraft.version +task devJar(type: Jar) { + classifier = 'dev' + from sourceSets.main.output } -*/ + +task sourcesJar(type: Jar) { + classifier = 'sources' + from sourceSets.main.allSource } + +artifacts { + archives devJar + archives sourcesJar +} + +jar { + configurations.shade.copyRecursive().setTransitive(false).each { artifact -> + from(zipTree(artifact)) { + exclude 'META-INF', 'META-INF/**' + } + + manifest.attributes( + 'FMLCorePlugin': 'net.vfyjxf.nechar.core.NechCorePlugin', + 'FMLCorePluginContainsFMLMod': 'true', + 'ForceLoadAsMod': 'true' + ) + + appendix project.minecraft.version + } + +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..3a3015b --- /dev/null +++ b/gradle.properties @@ -0,0 +1,15 @@ +# Gradle Specifications +org.gradle.jvmargs=-Xmx2G -Xms2G +org.gradle.daemon=false + +# General Specifications +mc_version=1.7.10 +mod_version=1.3.1 +forge_version=10.13.4.1614 +mod_group=com.github.vfyjxf.nechar +mod_id=nechar +mod_name=Not Enough Characters +mod_archives_name=NotEnoughCharacters +mod_author=Balthild,vfyjxf_ +mod_description=Enhanced NEI search and provide PinYin search for other mods +mod_credits=Towdium and Balthild diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index fd7e590..b761216 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ed257b8..f0b5a51 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Feb 24 23:17:25 CST 2020 +#Wed Jul 02 15:54:47 CDT 2014 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip diff --git a/src/main/java/net/vfyjxf/nechar/NechCommand.java b/src/main/java/net/vfyjxf/nechar/NechCommand.java new file mode 100644 index 0000000..dbcdab4 --- /dev/null +++ b/src/main/java/net/vfyjxf/nechar/NechCommand.java @@ -0,0 +1,9 @@ +package net.vfyjxf.nechar; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class NechCommand { + +} diff --git a/src/main/java/net/vfyjxf/nechar/transform/transformers/TransformerRegExp.java b/src/main/java/net/vfyjxf/nechar/transform/transformers/TransformerRegExp.java index cd0424f..6705657 100644 --- a/src/main/java/net/vfyjxf/nechar/transform/transformers/TransformerRegExp.java +++ b/src/main/java/net/vfyjxf/nechar/transform/transformers/TransformerRegExp.java @@ -6,7 +6,7 @@ import org.objectweb.asm.tree.MethodNode; public class TransformerRegExp extends Transformer.Configurable { - public TransformerRegExp(){ + public TransformerRegExp() { reload(); } @@ -42,5 +42,4 @@ public class TransformerRegExp extends Transformer.Configurable { } - } diff --git a/src/main/java/net/vfyjxf/nechar/transform/transformers/TransformerString.java b/src/main/java/net/vfyjxf/nechar/transform/transformers/TransformerString.java index 429fa2c..a8fa7ac 100644 --- a/src/main/java/net/vfyjxf/nechar/transform/transformers/TransformerString.java +++ b/src/main/java/net/vfyjxf/nechar/transform/transformers/TransformerString.java @@ -17,7 +17,10 @@ public class TransformerString extends Transformer.Configurable { "extracells.gui.GuiFluidStorage:updateFluids", "witchinggadgets.client.ThaumonomiconIndexSearcher:buildEntryList", "appeng.client.gui.implementations.GuiInterfaceTerminal:refreshList", - "appeng.client.gui.implementations.GuiInterfaceTerminal:itemStackMatchesSearchTerm" + "appeng.client.gui.implementations.GuiInterfaceTerminal:itemStackMatchesSearchTerm", + "vswe.stevesfactory.components.ComponentMenuLiquid:updateSearch", // Steve's Factory Manager liquid search + "vswe.stevesfactory.components.ComponentMenuItem:updateSearch", // Steve's Factory Manager item search + "betterquesting.api2.client.gui.panels.lists.CanvasQuestSearch:queryMatches" //Better Questing quest search --gtnh }; } diff --git a/src/main/java/net/vfyjxf/nechar/utils/Match.java b/src/main/java/net/vfyjxf/nechar/utils/Match.java index e993950..c5b21d3 100644 --- a/src/main/java/net/vfyjxf/nechar/utils/Match.java +++ b/src/main/java/net/vfyjxf/nechar/utils/Match.java @@ -1,7 +1,6 @@ package net.vfyjxf.nechar.utils; import me.towdium.pinin.PinIn; -import net.vfyjxf.nechar.NotEnoughCharacters; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 724b601..9e1c47a 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -1,16 +1,13 @@ -[ -{ - "modid": "nechar", - "name": "Not Enough Characters", - "description": "Enhanced NEI search", - "version": "1.1", - "mcversion": "1.7.10", - "url": "https://github.com/vfyjxf/NotEnoughCharacters", +[{ + "modid": "${mod_id}", + "name": "${mod_name}", + "description": "${mod_description}", + "version": "${mod_version}", + "mcversion": "${mc_version}", + "url": "", "updateUrl": "", - "authorList": ["Balthild,vfyjxf"], - "credits": "", - "logoFile": "", + "authorList": ["${mod_author}"], + "credits": "${mod_credits}", "screenshots": [], "dependencies": [] -} -] \ No newline at end of file +}] \ No newline at end of file