本帖最后由 QQ酱45169 于 2019-2-15 21:20 编辑
`写了个食物模组
更好的苹果 (5种)
学习的进度缓慢, 先这样吧.
在为事件处理的问题恼苦中, 想自己做水管....
先发一下代码吧, 经常看MC Mod开发的话应该看的懂;
Eclipse Java EE IDE for Web Developers451x86_64.zip
forge-1.12.2-14.23.5.2768-mdk.zip
jdk-8u201-windows-x64.exe
Notepad2_x64.exe
阿里巴巴Java开发手册v1.4.0(详尽版).pdf
public class CommonProxy {
public void preInit(FMLPreInitializationEvent event){
new ConfigLoader(event); //注册配置文件
no_ideaItems.init(); //注册物品ID名
no_ideaBlocks.init(); //注册方块ID名
no_ideaFoods.init(); //注册食物ID名
no_ideaBestApple.init(); //注册食物ID名
no_ideaTools.init(); //组册工具ID名
no_ideaNetworkHandler.init();
}
public void init(FMLInitializationEvent event){
no_ideaItems.addSmelting(); //烧制物品
no_ideaFoods.addSmelting(); //烧制物品
no_ideaBestApple.addSmelting(); //烧制物品
OreGenEventHandler.init(); //矿物生成监听器
no_ideaEventHandler.init(); //自定义事件监听器
new EventLoader(); //事件钩子
}
}
public class ClientProxy extends CommonProxy {
public void preInit(FMLPreInitializationEvent event) {
super.preInit(event);
no_ideaItems.clientInit(); //注册物品材质
no_ideaBlocks.clientInit(); //注册方块材质
no_ideaFoods.clientInit(); //注册食物材质
no_ideaBestApple.clientInit(); //注册食物材质
no_ideaTools.clientInit(); //注册工具材质
}
public void init(FMLInitializationEvent event) {
super.init(event);
no_ideaClientEventHandler.init();
}
}
注释请无视, 前期的笔记未必正确,
名字还是要改成自己的
代码的框架完成, 然后就是添加材料;
@Mod(modid = no_ideaFrame.MODID, name = no_ideaFrame.NAME, version = no_ideaFrame.VERSION)
public class no_ideaFrame {
public static final String MODID = "naoqiang_no_idea";
public static final String NAME = "naoqiang_no_Idea";
public static final String VERSION = "1.0";
public static final String CLIENT_PROXY_CLASS = "cn.naoqiang.no_idea.client.ClientProxy";
public static final String COMMON_PROXY_CLASS = "cn.naoqiang.no_idea.common.CommonProxy";
@SidedProxy(modId = MODID, clientSide = CLIENT_PROXY_CLASS, serverSide = COMMON_PROXY_CLASS)
public static CommonProxy proxy;
@Instance(MODID)
public static no_ideaFrame instance; //通过调用instance来调用我们mod的主类实例
public static Logger logger; //通过no_ideaFrame.instance.getLogger().info(String )来输出日志
public Logger getLogger(){
return logger; }
@EventHandler //会在Mod初始化之前触发,主要用于物品/方块/模型等的注册
public void preInit(FMLPreInitializationEvent event) {
logger = event.getModLog();
proxy.preInit(event); }
@EventHandler //会在Mod初始化是触发,主要用于注册合成表/熔炉配方,给其它Mod发送交互信息
public void init(FMLInitializationEvent event) {
proxy.init(event); }
}
|