您尚未登录,请登录后浏览更多内容! 登录 | 加入最MC

QQ登录

只需一步,快速开始

 找回密码
 加入最MC

QQ登录

只需一步,快速开始

查看: 3713|回复: 2
打印 上一主题 下一主题

[其他] [码农世界专题]利用Forge API开发MOD第四期(番外篇)

[复制链接]
  • TA的每日心情
    开心
    2016-7-1 20:14
  • 签到天数: 282 天

    [LV.8]以坛为家I

    跳转到指定楼层
    楼主
    发表于 2014-9-19 18:59:10 | 只看该作者 |0人打赏回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 笔记本 于 2014-9-27 16:16 编辑

    原帖:http://www.hakugyokurou.net/wordpress/?p=257
    如何在Eclipse里调试和编译你的Mod


    配置客户端的编译&运行方案

    (注:在此之前,请先确认你的项目是按照我的基础教程(1)中的那样配置的)
    右键你的Minecraft项目,选择Properties(菜单最下面的那个),然后选择Run/Debug Settings,这个界面是用来配置启动/除错的方案的,我们点击New来新建一个,系统会让你选择是基于Java小程序还是基于Java应用程序(Java Application),小程序是供网页使用的,我想我们没多少人对它有兴趣,所以我们自然要选择应用程序.

    然后我们就到了这个界面,首先我们要配置方案的名称和入口类(Main Class),项目名称我定为MinecraftDebug,客户端的入口类选为net.minecraft.launchwrapper包下的Launch.

    注:最初在这里还有个如何设置资源文件目录,但在MC1.6改变资源文件管理方式后,这个内容因为失效所以被删去了.现在有另一种方法可以代替资源编译,但因为是”歪门邪道”,而且与启动配置无关,所以没有被写入本篇.

    然后点到Common页,配置编译的编码,这里我们选为UTF-8,另外对于Display in favorites menu,那个是是否显示在启动/调试按钮的下拉菜单中,这个不影响实际操作,实际操作时你直接点击启动/调试按钮那么就是使用此方案,而无需点开它们的下拉菜单.

    最后,我们返回Arguments页,进行最关键的一步,参数的配置.在Program Arguments里填上:
    -username [改为你的玩家名] -session – -version [游戏版本] -gameDir [你的mcp目录]/jars -assetsDir [你的mcp目录]/jars/assets -tweakClass cpw.mods.fml.common.launcher.FMLTweaker
    关于参数,[游戏版本]可以直接填版本号,比如1.6.2,也可以干脆就填个FML_DEV,让FML决定版本.
    (注:由于Wordpress的某些特性,你在这篇教程里看到的参数前的横杠可能是全角符号’-‘,事实上,这里应使用半角横杠’-‘,全角比半角要稍微长一点,复制到记事本上后你能明显看出两者的区别,游戏接受的参数只能使用半角符号,如果你遇到了这种情况,请手动在Eclipse里纠正.)
    另外关于Working Directory,过去它是MC的工作目录,现在游戏会强制指定gameDir参数为游戏的工作目录,因此就没有必要再自己指定了.

    现在你已经完成了一个方案配置.返回到Eclipse主界面,找到你头上的小按钮,绿色圆圈中间一个白色箭头是启动,绿色虫子是调试,两者都是编译并运行,但后者会遵从你的调试器的管理,如果你想用程序断点来调试的话,就启动后者吧!

    FML的Relaunch和可爱的Eclipse输出窗口.(真的是可爱?这玩意承载了我多少的噩梦…)

    顺利进入游戏!妥妥的!外部资源文件也载入正常!(前提是你放进去了…)

    调试

    其实到这里已经没什么好说的了,我相信用中文版Eclipse的各位肯定对Eclipse的功能了如指掌…

    这里我加了一个断点.

    然后进游戏用迪拉克矿锭对着地一敲,彭…可爱的Eclipse调试界面就出来了!多么亲切的指令栈!
    (其实有用的调试工具还有很多…如果只为一个指令栈和变量监视的话就真辜负了Eclipse了)

    发布

    当你需要发布的时候,先运行MCP下的recompile.bat进行编译,然后再运行reobfuscate.bat进行发布.
    也许你会问我为什么不通过Linkd Folder和修改Output Folder来做到直接输出到MCP的bin目录下,因为你需要考虑MD5的问题,Eclipse的输出经过了优化,由于MD5变动会导致reobfuscate一口气将所有文件都发布出来,你确实可以updateMD5,但仍有其他问题.
    因此,我强烈建议你稍微麻烦一下,在发布时手动操作几下,这能避免很多不必要的麻烦.

    配制服务器的编译&运行方案

    其实这个和客户端差不多,打开Properties,选择Run/Debug Settings,将你的客户端方案复制(Duplicate)一份,将其改个名字,将参数改为
    -version FML_DEV -gameDir [你的MCP目录]/jars -assetsDir [你的MCP目录]/jars/assets –tweakClass cpw.mods.fml.common.launcher.FMLServerTweaker
    (其实就是改了个tweakClass,然后去掉了玩家姓名和登陆会话)
    .最后,在Common页的Display in favorites menu中把它们选上,不然你可能无法启动这个方案…

    之后开始测试吧,别忘了在下拉菜单中选你的新配置方案.刚启动时会下载一些必须的库,下载完毕后就启动了.不过刚开始你是进不去游戏的- -因为online-mode=true,将服务器关掉后改一下设置然后再启动,之后进去试试.

    看上去效果不错,不是吗?
    (好像有奇怪的东西进去了,不过别在意.)


    打赏

    0

    收藏

    0

    支持

    0

    反对

    0

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

    该用户从未签到

    沙发
    发表于 2014-10-24 11:04:08 | 只看该作者
    看着还算很不错的,帮你顶下子吧,啦啦啦啦啦啦啦
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情

    2016-5-15 14:37
  • 签到天数: 55 天

    [LV.5]常住居民I

    板凳
    发表于 2014-10-24 16:48:51 | 只看该作者
    OAO。。。。。。看懂了
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    您需要登录后才可以回帖 登录 | 加入最MC

    本版积分规则