介绍
介绍由机器翻译自 CurseForge 原页面,仅供参考。
MJUtils
一套用于简化模组编写的工具。它包含用于模组初始化的模块化系统,以及基于注解的配置系统。
源代码中包含文档。
如果你使用 ResearchItemCopy,必须添加以下依赖项:“required-after:Thaumcraft;”。
如果发现语法错误,欢迎提交拉取请求。
模块化系统示例
在主模组类中添加模块和配置处理器:
package your.path;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLConstructionEvent;
import mjaroslav.mcmods.mjutils.module.ModuleSystem;
import mjaroslav.mcmods.mjutils.module.AnnotationBasedConfiguration;
@Mod(modid = "your_modid", version = "0.0.0", name = "Module example mod")
public class ModExample {
// Handler for annotation configurations.
private static AnnotationBasedConfiguration config;
// Handler for work with modules.
private static ModuleSystem modSys;
@EventHandler
public void construct(FMLConstructionEvent event) {
// The second argument is logger.
config = new AnnotationBasedConfiguration("your_modid", null);
// The third argument is a proxy.
modSys = new ModuleSystem(MODID, config, null);
// Find all modules and create their instances..
modSys.initSystem(event);
}
// DON'F FORGET CALL ALL INITIALIZATION METHODS:
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
modSys.preInit(event);
}
@EventHandler
public void init(FMLInitializationEvent event) {
modSys.init(event);
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
modSys.postInit(event);
}
}
现在,你可以创建一个简单的模块:
package your.path;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
//import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import mjaroslav.mcmods.mjutils.module.Modular;
import mjaroslav.mcmods.mjutils.module.Module;
// All classes with Module annotation must implement the Modular
// interface.
@Module("your_modid")
public class ModuleExample implements Modular {
@Override
public void preInit(FMLPreInitializationEvent event) {
System.out.println("Hi! I'm in pre init!");
}
// All interface methods that can be neglected contain the default
// implementation: you can inherit them only when necessary.
//
// @Override
// public void init(FMLInitializationEvent event) {
// System.out.println("I'm ignored :c");
// }
@Override
public void postInit(FMLPostInitializationEvent event) {
System.out.println("Hi! I'm in post init!");
}
}
注解配置的创建示例:
package your.path;
import mjaroslav.mcmods.mjutils.module.ConfigurationCategory;
import mjaroslav.mcmods.mjutils.module.ConfigurationProperty;
@ConfigurationCategory(modID = "your_modid", name = ConfigurationCategory.GENERAL_NAME,
comment = ConfigurationCategory.GENERAL_COMMENT)
public class CategoryGeneral {
@ConfigurationCategory(name = "subcategory")
public static class SubCategory {
@ConfigurationProperty(defaultBoolean = true)
public static boolean test;
@ConfigurationProperty(name = "test2", defaultInt = 1)
public static int test1;
}
@ConfigurationProperty(defaultDouble = Math.E)
public static double e;
}
使用文档来了解更多关于前置库用法的信息。
常见问题
MJUtils 支持哪些 Minecraft 版本?
MJUtils 支持 Minecraft Java 版 1.7.10,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
MJUtils 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
评论
登录后评论和评分