Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -172,3 +172,8 @@ UpgradeLog*.htm

# Microsoft Fakes
FakesAssemblies/
*.ide
.gitignore
/.vs/
/KMCCC.Shared/Modules/Minecraft/GameOptions.cs
/KMCCC.Shared/Tools/MinecraftTools.cs
8 changes: 7 additions & 1 deletion KMCCC.Pro/KMCCC.Pro.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>KMCCC</RootNamespace>
<AssemblyName>KMCCC.Pro</AssemblyName>
<AssemblyName>LaunchCoreU</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
Expand Down Expand Up @@ -40,6 +40,9 @@
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
<Reference Include="DotNetZip">
<HintPath>..\..\..\packages\DotNetZip.1.13.0\lib\net40\DotNetZip.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="..\KMCCC.Basic\Properties\AssemblyInfo.Shared.cs">
Expand All @@ -55,6 +58,9 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="..\KMCCC.Shared\KMCCC.Shared.projitems" Label="Shared" Condition="Exists('..\KMCCC.Shared\KMCCC.Shared.projitems')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Expand Down
2 changes: 1 addition & 1 deletion KMCCC.Pro/Launcher/Reporter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
{
public static partial class Reporter
{
public const string KMCCC_TYPE = "KMCCC Pro";
public const string KMCCC_TYPE = "KMCCC Universal";
}
}
10 changes: 5 additions & 5 deletions KMCCC.Pro/Modules/MojangAPI/MojangAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ public interface IMojangAPI

Statistics GetStatistics();

string NameToUUID(string userName);
Guid NameToUUID(string userName);
}

public class MojangAPI
{
private static IMojangAPI Api = Api ?? new MojangAPIInternal();

/// <summary>
/// 获取MojangAPI服务状态
/// 获取MojangAPI服务状态,如果获取失败将抛异常
/// </summary>
/// <returns></returns>
public static Dictionary<string, ServiceStatus> GetServiceStatus()
Expand All @@ -27,7 +27,7 @@ public static Dictionary<string, ServiceStatus> GetServiceStatus()
}

/// <summary>
/// 获取销量等信息
/// 获取销量等信息,如果获取失败将抛异常
/// </summary>
/// <returns></returns>
public static Statistics GetStatistics()
Expand All @@ -36,11 +36,11 @@ public static Statistics GetStatistics()
}

/// <summary>
/// 通过用户名获取UUID
/// 通过用户名获取UUID,如果获取失败将抛异常
/// </summary>
/// <param name="userName">用户名</param>
/// <returns></returns>
public static string NameToUUID(string userName)
public static Guid NameToUUID(string userName)
{
return Api.NameToUUID(userName);
}
Expand Down
10 changes: 6 additions & 4 deletions KMCCC.Pro/Modules/MojangAPI/MojangAPIInternal.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public Statistics GetStatistics()
MetricKeys.PREPAID_CARD_REDEEMED_MINECRAFT
};
data["metricKeys"] = metricKey_sdata;
var value = JsonMapper.ToObject(webclient.UploadString(MojangAPIProvider.Statistics(), data.ToJson()));
var value = JsonMapper.ToObject(webclient.UploadString(MojangAPIProvider.statistics(), data.ToJson()));
return new Statistics(long.Parse(value[0].ToString()), long.Parse(value[1].ToString()), double.Parse(value[2].ToString()));
}
}
Expand All @@ -67,20 +67,22 @@ public Statistics GetStatistics()
}
#endregion

public string NameToUUID(string userName)
#region 通过名字获取UUID
public Guid NameToUUID(string userName)
{
try
{
using (WebClient webclient = new WebClient())
{
var value = JsonMapper.ToObject(webclient.DownloadString(MojangAPIProvider.NameToUuid(userName)));
return value["id"].ToString();
var value = JsonMapper.ToObject(webclient.DownloadString(MojangAPIProvider.nameToUuid(userName)));
return Guid.Parse(value["id"].ToString());
}
}
catch(Exception ex)
{
throw ex;
}
}
#endregion
}
}
8 changes: 4 additions & 4 deletions KMCCC.Pro/Modules/MojangAPI/MojangAPIProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ public static string apiStatus()
/// </summary>
/// <param name="userName"></param>
/// <returns></returns>
public static string NameToUuid(string userName)
public static string nameToUuid(string userName)
{
return $"https://api.mojang.com/users/profiles/minecraft/{userName}";
return "https://api.mojang.com/users/profiles/minecraft/"+userName;
}

/// <summary>
Expand All @@ -31,7 +31,7 @@ public static string NameToUuid(string userName)
/// <returns></returns>
public static string historyName(Guid uuid)
{
return $"https://api.mojang.com/user/profiles/{uuid}/names";
return string.Format("https://api.mojang.com/user/profiles/{0}/names",uuid);
}

/// <summary>
Expand All @@ -47,7 +47,7 @@ public static string userInfo()
/// 获取销量等信息(POST)
/// </summary>
/// <returns></returns>
public static string Statistics()
public static string statistics()
{
return "https://api.mojang.com/orders/statistics";
}
Expand Down
2 changes: 1 addition & 1 deletion KMCCC.Pro/Modules/MojangAPI/Statistics.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public double getSaleVelocityPerSeconds()

public override string ToString()
{
return $"SalesStatistics [total={total}, last24h={last24h}, saleVelocityPerSeconds={saleVelocityPerSeconds}]";
return string.Format("SalesStatistics [total={0}, last24h={1}, saleVelocityPerSeconds={2}]", total, last24h, saleVelocityPerSeconds);
}
}
public static class MetricKeys
Expand Down
4 changes: 2 additions & 2 deletions KMCCC.Pro/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
// 特性集控制。更改这些特性值可修改
// 与程序集关联的信息。

[assembly: AssemblyTitle("KMCCC Pro")]
[assembly: AssemblyTitle("KMCCC Universal")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("KMCCC.Pro")]
[assembly: AssemblyProduct("KMCCC.Universal")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

Expand Down
4 changes: 4 additions & 0 deletions KMCCC.Pro/packages.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="DotNetZip" version="1.13.0" targetFramework="net40" />
</packages>
14 changes: 7 additions & 7 deletions KMCCC.Shared/Authentication/OfflineAuthenticator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class OfflineAuthenticator : IAuthenticator
public readonly string DisplayName;

/// <summary>
/// 构造离线验证器
/// 构造离线验证器,将会根据玩家名计算出UUID
/// </summary>
/// <param name="displayName">玩家的名字</param>
public OfflineAuthenticator(string displayName)
Expand All @@ -42,22 +42,22 @@ public AuthenticationInfo Do()
{
return new AuthenticationInfo
{
Error = "DisplayName不符合规范"
};
Error = "DisplayName不符合规范,不能使用空用户名"
};
}
if (DisplayName.Count(char.IsWhiteSpace) > 0)
{
return new AuthenticationInfo
{
Error = "DisplayName不符合规范"
};
Error = "DisplayName不符合规范,名称中有非法字符"
};
}
return new AuthenticationInfo
{
AccessToken = Guid.NewGuid(),
DisplayName = DisplayName,
UUID = Guid.NewGuid(),
Properties = "{}",
UUID = Tools.UsefulTools.GetPlayerUuid("DisplayName"),
Properties = "{}",
UserType = "mojang"
};
}
Expand Down
5 changes: 3 additions & 2 deletions KMCCC.Shared/KMCCC.Shared.projitems
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,12 @@
<Compile Include="$(MSBuildThisFileDirectory)LitJson\ParserToken.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Modules\JVersion\JVersion.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Modules\JVersion\JVersionLocator.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Modules\Minecraft\MinecraftPing.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Modules\Minecraft\ServerPing.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Modules\Yggdrasil\YggdrasilClient.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Modules\Zip\ZipArchive.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\FileValidator.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\SystemTools.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\UsefulTools.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\ZipTools.cs" />
</ItemGroup>
</Project>
</Project>
6 changes: 3 additions & 3 deletions KMCCC.Shared/Launcher/LaunchArguments.cs
Original file line number Diff line number Diff line change
Expand Up @@ -118,14 +118,14 @@ public string ToArguments()
foreach (var adv in AdvencedArguments)
{
sb.Append(' ').Append(adv);
}
sb.Append(" -Djava.library.path=\"").Append(NativePath);
}
sb.Append(" -Djava.library.path=\"").Append(NativePath);
sb.Append("\" -cp \"");
if (Libraries.Count > 0)
{
foreach (var lib in Libraries)
{
sb.Append(lib).Append(';');
sb.Append(lib).Append(':');
}
}
sb.Append("\" ").Append(MainClass).Append(' ').Append(MinecraftArguments.DoReplace(Tokens));
Expand Down
14 changes: 8 additions & 6 deletions KMCCC.Shared/Launcher/LaunchHandle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,10 @@ private void Output(object sender, DataReceivedEventArgs e)
}
else
{
Core.Log(this, e.Data);
}
}
Core.Log(this, e.Data);
}
e = null;
}

private void Error(object sender, DataReceivedEventArgs e)
{
Expand All @@ -103,13 +104,14 @@ private void Error(object sender, DataReceivedEventArgs e)
}
else
{
Core.Log(this, e.Data);
Core.Log(this, e.Data);
}
}
e = null;
}

internal void Work()
{
Process.BeginOutputReadLine();
Process.BeginOutputReadLine();
Process.OutputDataReceived += Output;
Process.BeginErrorReadLine();
Process.ErrorDataReceived += Error;
Expand Down
4 changes: 2 additions & 2 deletions KMCCC.Shared/Launcher/LaunchMode.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ public class MCLauncherMode : LaunchMode
{
public override bool Operate(LauncherCore core, MinecraftLaunchArguments args)
{
args.Tokens["game_directory"] = String.Format(@".\versions\{0}\", args.Version.Id);
return true;
args.Tokens["game_directory"] = Tools.SystemTools.GetIsWindows() ? String.Format(@".\versions\{0}\", args.Version.Id) : String.Format(core.GameRootPath + "/versions/{0}/", args.Version.Id);
return true;
}
}

Expand Down
2 changes: 1 addition & 1 deletion KMCCC.Shared/Launcher/LauncherCore.cs
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ public static LauncherCore Create(LauncherCoreCreationOption option)

public static LauncherCore Create(string gameRootPath = null)
{
return Create(new LauncherCoreCreationOption(gameRootPath ?? @".minecraft"));
return Create(new LauncherCoreCreationOption(gameRootPath ?? ".minecraft"));
}

/// <summary>
Expand Down
Loading