MC百科论坛

标题: 我的世界mod开发日志-小模组 [打印本页]

作者: QQ酱45169    时间: 2019-2-14 03:48
标题: 我的世界mod开发日志-小模组
本帖最后由 QQ酱45169 于 2019-2-15 21:20 编辑

`写了个食物模组

更好的苹果 (5种)

学习的进度缓慢, 先这样吧.

在为事件处理的问题恼苦中, 想自己做水管....


[spoiler=下载]
链接:https://pan.baidu.com/s/1LqeBM3J-EEk4Y62zkUYvAg   提取码:bu5j  
[/spoiler]



先发一下代码吧, 经常看MC Mod开发的话应该看的懂;

[spoiler=开发环境]

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

[/spoiler]


[spoiler=CommonProxy]
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(); //事件钩子
        }
}
[/spoiler]


[spoiler=ClientProxy]
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();
        }

}

[/spoiler]



注释请无视, 前期的笔记未必正确,
名字还是要改成自己的
代码的框架完成, 然后就是添加材料;
[spoiler=Mod主类]


@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);        }         
}

[/spoiler]

















作者: sxjsxj    时间: 2019-2-14 09:37
折叠格式错了,建议用下面的代码。
  1. [spoiler=下载]链接:https://pan.baidu.com/s/1LqeBM3J-EEk4Y62zkUYvAg   提取码:bu5j  [/spoiler]
复制代码


另外,支持下mod。

作者: QQ酱45169    时间: 2019-2-14 21:42
本帖最后由 QQ酱45169 于 2019-3-3 12:45 编辑

[spoiler=下载信息]

博客(代码与注释)
https://www.cnblogs.com/nq176/
https://www.cnblogs.com/nq176/category/1399402.html


内容(重点说明)
https://space.bilibili.com/55964508



论坛(模组更新进度)
https://bbs.mcmod.cn/thread-2067-1-1.html

下载
https://pan.baidu.com/s/1LqeBM3J-EEk4Y62zkUYvAg   提取码:bu5j

[/spoiler]

零号元素合金剑可以用了, 22伤害;
修正了一下合成方式;



作者: QQ酱45169    时间: 2019-3-3 12:46

`写了个食物模组

`更好的苹果 (5种)

`零号元素合金剑可以用了, 22伤害;
`修正了一下合成方式;


`添加经验盒子, 存储经验;
`代码能使用, 但还没解读完, 解读完后会优化一下功能;


作者: QQ酱45169    时间: 2019-3-7 14:24
博客https://www.cnblogs.com/nq176/
https://www.cnblogs.com/nq176/category/1399402.html

Item物品添加
{建立模板}
{注册物品}
{物品信息}
{创造模式的 物品栏的图标}
Item物品事件-自己的物品
Item物品事件-世界的物品




{建立模板}


`common包下新建一个item包,然后新建类ItemBestSword。
我们让ItemBestSword继承ItemSword类。
import net.minecraft.item.ItemSword;

public class ItemBestSword extends ItemSword{       
        public ItemBestSword(){
                super(ToolMaterial.IRON);// 使用铁剑的参数?
        }}




`common包下新建一个item包,然后新建类Item_Other
public class Item_Other extends Item {
//其它物品, 无属性的材质
        public Item_Other(){
                this.setCreativeTab(CreativeTabsRedo.tab_no_idea);  //创造模式的 物品栏的图标
        }}







欢迎光临 MC百科论坛 (https://bbs.mcmod.cn/) MC百科|最大的MineCraft中文模组百科