材料
forgemdk:https://files.minecraftforge.net/net/minecraftforge/forge/index_1.12.2.html
IntelliJ IDEA 2021.1 x64、jdk8
操作:
S1·解压mdk,右键使用IDEA打开,打开IDEA设置,非非C盘有权限英文目录为Gradle地址,设置jdk为jdk8,等待Gradle下载加载,成功完毕后src/main/java下即为项目包存放地方,resources/assets下即为素材资源存放位置。
S2·新建模组项目包,包下新建模组主类:主类名.java →:
//@Mod以及其后跟的必要信息组成的修饰句修饰的类即为模组主类,也就是代码入口
@Mod(modid = 主包名.主类名.MODID, name = 主包名.主类名.NAME, version = 主包名.主类名.VERSION)
public class 主类名
{
/必要信息(还有不必须信息暂不写全),内容可以与类名无关,变量名与@Mod内容同步即可
public static final String MODID = "kalpas";//模组识别id,建议小写
public static final String NAME = "CyanHoning";//模组显示名
public static final String VERSION = "1.0.0";//模组版本,自己定
//日志对象,用于输出信息到控制台
private static Logger logger;
//模组预加载代码执行点,一般是为模组加载做准备或者写骚操作,依靠@EventHandler修饰注册事件监听类,FMLPreInitializationEvent为事件类型,event为本模组的预加载事件实例,可操作。
@EventHandler
public void 预加载监听方法名(FMLPreInitializationEvent event)
{
//输出预加载信息
logger = event.getModLog();
}
//同上,模组加载代码执行点,一般用来模组初始化,包括注册东西与创建常量池等
@EventHandler
public void 加载监听方法名(FMLInitializationEvent event)
{
//此为注册合成表,只是示例,暂不讲解实现
GameRegistry.addShapedRecipe(new ResourceLocation("kalpas:rzsjhcb"), new ResourceLocation(""),new ItemStack(ItemInitializer.calorific), "###", "#*#", "###", '#', Blocks.TNT, '*', Items.DIAMOND);
}
}
主类最简内容结束,使用IDEA右上角Gradle预设操作的build,即可在forge-1.12.2mdk\build\libs内找到编译好的模组。