标题: 1.启动游戏和版本获取
本帖最后由 gamerteam 于 2016-3-27 02:42 编辑
使用前的准备:
启动游戏非常简单,只需要一行代码即可。
在这之前,先添加KMCCC.Pro.dll的引用(DLL文件请自行克隆Github的项目,然后编译。注意,编译KMCCC需要你的电脑安装了WindowsSDK。以及再次强调,如果你没有任何C#基础,请放弃本文)
然后打开Program.cs(如果是WPF则是App.xmal.cs)添加KMCCC的引用:
然后在入口处添加以下代码
- public static LauncherCore Core = LauncherCore.Create();
复制代码
如图所示
同时建议添加以下代码,方便KMCCC统计你启动器的使用量和启动情况(KMCCC将会严格保护用户隐私,只反馈启动信息和系统配置信息,你随时可以取消反馈)
- Reporter.SetClientName("启动器名称+版本");
复制代码
然后在主窗口添加一个ComboBox和Button控件,后面会用到。
获取版本列表:
在窗口事件上面(双击标题栏即可),添加以下代码:WinForm后台代码
- var versions = Program.Core.GetVersions().ToArray();
- comboBox1.DataSource = versions;//绑定数据源
- comboBox1.DisplayMember = "Id";//设置comboBox显示的为版本Id
复制代码
WPF xmal代码:
- <ComboBox x:Name="comboBox1" HorizontalAlignment="Left" VerticalAlignment="Top" Width="168" DisplayMemberPath="Id" />
复制代码DisplayMemberPath="Id" 为关键,等同于上面的comboBox1.DisplayMember = "Id";
启动游戏:
接下来在Button事件上,添加以下代码
- var ver = (KMCCC.Launcher.Version)comboBox1.SelectedItem;
- var result = Program.Core.Launch(new LaunchOptions
- {
- Version = ver, //Ver为Versions里你要启动的版本名字
- MaxMemory = 1024, //最大内存,int类型
- Authenticator = new OfflineAuthenticator("ZhaiSoul"), //离线启动,ZhaiSoul那儿为你要设置的游戏名
- //Authenticator = new YggdrasilLogin("邮箱", "密码", true), // 正版启动,最后一个为是否twitch登录
- Mode = LaunchMode.MCLauncher, //启动模式,这个我会在后面解释有哪几种
- Server = new ServerInfo {Address = "服务器IP地址",Port="服务器端口"}, //设置启动游戏后,自动加入指定IP的服务器,可以不要
- Size = new WindowSize {Height = 768, Width = 1280} //设置窗口大小,可以不要
- });
复制代码
测试前的准备:
然后进入程序编译后的文件夹(默认为bin/debug),复制一个.minecraft进去(只需要包含Libraries和Versions即可)
然后编译并运行,效果如下:
其他信息:
Authenticator为验证模式,有离线启动和正版验证两种,详见上面的代码。
Mode为启动模式,KMCCC拥有三种启动模式,分别为默认、BMCL、MCLauncher模式
默认:设置游戏的默认加载目录为.minecraft(即Mods,resourcepacks等文件将放在.minecraft中)
BMCL模式:复制coremods到Versions/版本 里,参见BMCL的启动模式
MCLauncher模式:Mods和resourcepacks等资源文件均放在Versions/版本 里面,适合有不同游戏版本的客户端