其实我是写在这里的=。= 还是过来水一下吧
首先要说的是研究完forge在1.6.1安装之后,发现补丁形式的forge输入补丁已经跪了,估计以后也没多大可能性。
大家都转移阵地使用mod版本的输入补丁吧,这里个人推荐的是ZLainSama的coremod输入修复mod。
由于本人并不是正版用户总之这次折腾起来确实很蛋疼,这里要感谢pa001024大神,Zesty组长sama。
在拿到minecraft1.6.1的完整打包目录后,发现现在的版本不用启动器启动起来越来越麻烦了。
先来看看minecraft1.6.1的目录,有三个必须文件目录。
├─1.6.1
│ ├─.minecraft
│ │ ├─assets(这个是图标资源,声音资源,语言资源目录)
│ │ ├─libraries(这里是游戏运行所需的jar支持文件目录)
│ │ └─versions(游戏版本目录,某种意义上来说minecraft终于支持各种版本切换了,包括forge之间的切换)
│ ├─run.bat
│ └─runforge.bat
对于java程序来说,启动无非是需要载入组建以及运行参数到jvm中。换句话说只要minecraft官方没有强制验证帐号,
那么通过编写启动命令就是可以直接起动。
以下给出一个bat命令启动形式,也就是1.6.1目录下run.bat的内容
- @echo off
- rem 设置用户名
- set user=Player
- set appdata=%~dp0
- java -Xincgc -Xmx1G -XX:+PrintGC -Djava.library.path="%appdata%.minecraft\versions\1.6.1\1.6.1-natives" -cp "%appdata%.minecraft\libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;%appdata%.minecraft\libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;%appdata%.minecraft\libraries\com\google\guava\guava\14.0\guava-14.0.jar;%appdata%.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;%appdata%.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;%appdata%.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;%appdata%.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;%appdata%.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;%appdata%.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;%appdata%.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;%appdata%.minecraft\libraries\net\java\jinput\jinput-platform\2.0.5\jinput-platform-2.0.5-natives-windows.jar;%appdata%.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;%appdata%.minecraft\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;%appdata%.minecraft\libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;%appdata%.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;%appdata%.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;%appdata%.minecraft\libraries\org\lwjgl\lwjgl\lwjgl-platform\2.9.0\lwjgl-platform-2.9.0-natives-windows.jar;%appdata%.minecraft\versions\1.6.1\1.6.1.jar" net.minecraft.client.main.Main --username %user% --session ${auth_session} --version 1.6.1 --gameDir %appdata%.minecraft --assetsDir %appdata%.minecraft\assets
- pause
net.minecraft.client.main.Main 则是minecraft程序的启动入口,一共有5个参数。
--username 玩家用户名
--session 正版登录后的会话ID
--version 游戏版本
--gameDir 游戏目录(也就是.minecraft的目录)
--assetsDir assets文件夹的目录(不传入此参数游戏缺少声音以及语言支持)
以上参数信息是从官方更新中对应版本的json文件中描述所得,如果需要体验和测试的话请自行研究。
那么再说些关于mcp的问题,
以往将minecraft.jar和minecraft_server.jar拖入jars文件的安装方法已经改变。
目前mcp802的安装只需要提供服务端放入jars,而客户端的文件则自动从json文件中获取。
这对非正版用户使用实在是造成了不便,不过forge的安装则不用考虑这么多,直接执行install.cmd就会自动下载mcp以及minecraft所需文件,并进行反编译。但是调试启动貌似遇到需要登录验证的问题,编译和reobf无影响。
调试启动解决方案
修改Main class
传入启动参数
最后就是关于forge安装
本以为像以前一样下载universal版本之后删除minecraft.jar中的META-INF拖入就行,但果然还是不行的。
1.6.1中forge的安装变成了lib外挂形式,forge不再安装到minecraft主程序内,在正版启动器中还可以通过版本进行切换。关于forge的安装貌似正版启动器中提供了magiclauncher类似的功能,还有forge官方也提供了界面化安装包,但是木有正版就是白搭。于是从pa大大那里得到的安装forge后的minecraft完整版分析来看,forge安装到了libraries中。然后在versions下建立了forge版本包括json文件。通过正版启动器可以在forge版本和其他版本切换。
那么命令启动要怎么办,还是一样的通过命令加载,但是载入点有变化。
首先分析libraries目录
这是没安装forge的libraries目录 | 这是安装forge之后的libraries目录 |
├─argo │ └─argo │ └─2.25_fixed ├─com │ │ ├─code │ │ │ └─gson │ │ │ └─gson │ │ │ └─2.2.2 │ │ └─guava │ │ └─guava │ │ └─14.0 │ └─paulscode │ ├─codecjorbis │ │ └─20101023 │ ├─codecwav │ │ └─20101023 │ ├─libraryjavasound │ │ └─20101123 │ ├─librarylwjglopenal │ │ └─20100824 │ └─soundsystem │ └─20120107 ├─commons-io │ └─commons-io │ └─2.4 ├─net │ ├─java │ │ ├─jinput │ │ │ ├─jinput │ │ │ │ └─2.0.5 │ │ │ └─jinput-platform │ │ │ └─2.0.5 │ │ └─jutils │ │ └─jutils │ │ └─1.0.0 │ └─sf │ └─jopt-simple │ └─jopt-simple │ └─4.5 └─org ├─apache │ └─commons │ └─commons-lang3 │ └─3.1 ├─bouncycastle │ └─bcprov-jdk15on │ └─1.47 └─lwjgl └─lwjgl ├─lwjgl │ └─2.9.0 ├─lwjgl-platform │ └─2.9.0 └─lwjgl_util └─2.9.0 | ├─argo │ └─argo │ └─2.25_fixed ├─com │ │ ├─code │ │ │ └─gson │ │ │ └─gson │ │ │ └─2.2.2 │ │ └─guava │ │ └─guava │ │ └─14.0 │ └─paulscode │ ├─codecjorbis │ │ └─20101023 │ ├─codecwav │ │ └─20101023 │ ├─libraryjavasound │ │ └─20101123 │ ├─librarylwjglopenal │ │ └─20100824 │ └─soundsystem │ └─20120107 ├─commons-io │ └─commons-io │ └─2.4 ├─lzma │ └─lzma │ └─0.0.1 ├─net │ ├─java │ │ ├─jinput │ │ │ ├─jinput │ │ │ │ └─2.0.5 │ │ │ └─jinput-platform │ │ │ └─2.0.5 │ │ └─jutils │ │ └─jutils │ │ └─1.0.0 │ ├─minecraft │ │ └─launchwrapper │ │ └─1.3 │ ├─minecraftforge │ │ └─minecraftforge │ │ └─8.9.0.757 │ └─sf │ └─jopt-simple │ └─jopt-simple │ └─4.5 └─org ├─apache │ └─commons │ └─commons-lang3 │ └─3.1 ├─bouncycastle │ └─bcprov-jdk15on │ └─1.47 ├─lwjgl │ └─lwjgl │ ├─lwjgl │ │ └─2.9.0 │ ├─lwjgl-platform │ │ └─2.9.0 │ └─lwjgl_util │ └─2.9.0 ├─ow2 │ └─asm │ └─asm-all │ └─4.1 └─scala-lang ├─scala-compiler │ └─2.10.2 └─scala-library └─2.10.2 |
- @echo off
- rem 设置用户名
- set user=Player
- set appdata=%~dp0
- java -Xincgc -Xmx1G -XX:+PrintGC -Djava.library.path="%appdata%.minecraft\versions\1.6.1\1.6.1-natives" -cp "%appdata%.minecraft\libraries\net\minecraftforge\minecraftforge\8.9.0.757\minecraftforge-8.9.0.757.jar;%appdata%.minecraft\libraries\net\minecraft\launchwrapper\1.3\launchwrapper-1.3.jar;%appdata%.minecraft\libraries\org\scala-lang\scala-library\2.10.2\scala-library-2.10.2.jar;%appdata%.minecraft\libraries\org\scala-lang\scala-compiler\2.10.2\scala-compiler-2.10.2.jar;%appdata%.minecraft\libraries\org\ow2\asm\asm-all\4.1\asm-all-4.1.jar;%appdata%.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;%appdata%.minecraft\libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar;%appdata%.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;%appdata%.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;%appdata%.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;%appdata%.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;%appdata%.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;%appdata%.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;%appdata%.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;%appdata%.minecraft\libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;%appdata%.minecraft\libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;%appdata%.minecraft\libraries\com\google\guava\guava\14.0\guava-14.0.jar;%appdata%.minecraft\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;%appdata%.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;%appdata%.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;%appdata%.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;%appdata%.minecraft\libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;%appdata%.minecraft\versions\1.6.1\1.6.1.jar" net.minecraft.launchwrapper.Launch --username %user% --session ${auth_session} --version 1.6.1 --gameDir %appdata%.minecraft --assetsDir %appdata%.minecraft\assets --tweakClass cpw.mods.fml.common.launcher.FMLTweaker
- pause
此入口有6个参数
--username 玩家用户名
--session 正版登录后的会话ID
--version 游戏版本(正版启动器状态下会复制1.6.1的目录并改名为forge版本号,以上由于文件相同就不改了)
--gameDir 游戏目录(也就是.minecraft的目录)
--assetsDir assets文件夹的目录(不传入此参数游戏缺少声音以及语言支持)
--tweakClass cpw.mods.fml.common.launcher.FMLTweaker (简单说就是类似于挂载coremod样挂载了forge)
以上参数则是forge修改过的json文件中所得
对于手动安装forge来说其实是很麻烦的,不仅要下载forge还要下载forge的lib并放入libraries中。
Minecraft踏入新世界的节奏?
整合包上传中.....(上传完毕)http://pan.baidu.com/share/link? ... 20&uk=236397585
注意:运行之前请保证cmd中java命令有效,无效自行搜索java环境变量设置