Skip to content

Commit fd40e1d

Browse files
committed
up
更换字体 修改资源添加模式 修改收藏功能
1 parent 5ccfe2e commit fd40e1d

107 files changed

Lines changed: 1185 additions & 744 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/ColorMC.Cmd/Menus/AddGameMenu.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ private static async void Install()
123123

124124
Game.Loader = Loaders.Normal;
125125
Game.LoaderVersion = null;
126-
Game.ModPack = false;
126+
Game.Modpack = false;
127127

128128
Game = await InstancesPath.CreateGame(Game);
129129

@@ -182,7 +182,7 @@ private static void ForgeInstall(int index)
182182

183183
Game.Loader = Loaders.Fabric;
184184
Game.LoaderVersion = fabric;
185-
Game.ModPack = false;
185+
Game.Modpack = false;
186186

187187
if (Game == null)
188188
{
@@ -251,7 +251,7 @@ private static void FabricInstall(int index)
251251

252252
Game.Loader = Loaders.Forge;
253253
Game.LoaderVersion = forge;
254-
Game.ModPack = false;
254+
Game.Modpack = false;
255255

256256
if (Game == null)
257257
{

src/ColorMC.Core/Chunk/ChunkMca.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ private static void WriteChunk(ChunkDataObj data, Stream stream)
4343
//跳过文件头
4444
stream.Seek(8192, SeekOrigin.Begin);
4545
int now = 8192;
46-
int time = FuntionUtils.GetTime();
46+
int time = FunctionUtils.GetTime();
4747

4848
//写数据
4949
foreach (var item in data.Nbt.Cast<ChunkNbt>())

src/ColorMC.Core/CoreMain.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,11 @@ public static class ColorMCCore
6464
/// <summary>
6565
/// 游戏窗口句柄
6666
/// </summary>
67-
private static readonly ConcurrentDictionary<string, GameHandle> s_games = [];
67+
private static readonly ConcurrentDictionary<Guid, GameHandle> s_games = [];
6868
/// <summary>
6969
/// 游戏日志
7070
/// </summary>
71-
private static readonly ConcurrentDictionary<string, GameRuntimeLog> s_gameLogs = [];
71+
private static readonly ConcurrentDictionary<Guid, GameRuntimeLog> s_gameLogs = [];
7272

7373
/// <summary>
7474
/// 初始化阶段1
@@ -114,7 +114,7 @@ public static void Close()
114114
/// 强制关闭游戏
115115
/// </summary>
116116
/// <param name="uuid"></param>
117-
public static void KillGame(string uuid)
117+
public static void KillGame(Guid uuid)
118118
{
119119
if (s_games.TryGetValue(uuid, out var handel))
120120
{
@@ -221,7 +221,7 @@ public static void OnGameExit(GameSettingObj obj, LoginObj obj1, int code)
221221
/// </summary>
222222
/// <param name="uuid"></param>
223223
/// <param name="handel"></param>
224-
internal static void AddGameHandel(string uuid, GameHandle handel)
224+
internal static void AddGameHandel(Guid uuid, GameHandle handel)
225225
{
226226
if (!s_games.TryAdd(uuid, handel))
227227
{

src/ColorMC.Core/Downloader/DownloadThread.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ private void Run()
370370
//是否正在断点续传
371371
bool isKeep = false;
372372
//创建临时文件
373-
var file = Path.Combine(DownloadManager.DownloadDir, FuntionUtils.NewUUID());
373+
var file = Path.Combine(DownloadManager.DownloadDir, FunctionUtils.NewUUID());
374374
for (; ; )
375375
{
376376
byte[]? buffer = null;

src/ColorMC.Core/Game/GameArg.cs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -507,11 +507,8 @@ private static async Task<JvmArgRes> MakeJvmArgAsync(this GameSettingObj obj, Lo
507507
jvm.Add("-Dnide8auth.client=true");
508508
break;
509509
case AuthType.AuthlibInjector:
510-
var res = await CoreHttpClient.GetStringAsync(login.Text1);
511-
if (res == null)
512-
{
513-
throw new LaunchException(LaunchError.LoginCoreError);
514-
}
510+
var res = await CoreHttpClient.GetStringAsync(login.Text1)
511+
?? throw new LaunchException(LaunchError.LoginCoreError);
515512
jvm.Add($"-javaagent:{AuthlibHelper.NowAuthlibInjector}={login.Text1}");
516513
jvm.Add($"-Dauthlibinjector.yggdrasil.prefetched={HashHelper.GenBase64(res)}");
517514
jvm.Add("-Dauthlibinjector.side=client");
@@ -633,7 +630,7 @@ public static List<string> MakeRunArg(this GameSettingObj obj, GameLaunchArg lar
633630
var dir2 = obj.GetBasePath();
634631
libraries.AddRange(list.Select(item1 => item1
635632
.Replace(Names.NameArgGameName, obj.Name)
636-
.Replace(Names.NameArgGameUUID, obj.UUID)
633+
.Replace(Names.NameArgGameUUID, obj.UUID.ToString())
637634
.Replace(Names.NameArgGameDir, dir1)
638635
.Replace(Names.NameArgGameDir, dir2)
639636
.Replace(Names.NameArgLauncherDir, ColorMCCore.BaseDir)
@@ -1005,7 +1002,7 @@ await Task.Run(async () =>
10051002
var file = lib.Downloads.Artifact.Path;
10061003
if (string.IsNullOrEmpty(file))
10071004
{
1008-
file = FuntionUtils.VersionNameToPath(lib.Name);
1005+
file = FunctionUtils.VersionNameToPath(lib.Name);
10091006
}
10101007

10111008
arg.GameJar = new FileItemObj
@@ -1082,7 +1079,7 @@ await Task.Run(async () =>
10821079
public static string ReplaceArg(this GameSettingObj obj, string jvm, List<string> arg, string item)
10831080
{
10841081
return item.Replace(Names.NameArgGameName, obj.Name)
1085-
.Replace(Names.NameArgGameUUID, obj.UUID)
1082+
.Replace(Names.NameArgGameUUID, obj.UUID.ToString())
10861083
.Replace(Names.NameArgGameDir, obj.GetGamePath())
10871084
.Replace(Names.NameArgGameBaseDir, obj.GetBasePath())
10881085
.Replace(Names.NameArgLauncherDir, ColorMCCore.BaseDir)

src/ColorMC.Core/Game/GameAuth.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ private static async Task<LoginObj> RefreshOAuthAsync(LoginObj obj, Cancellation
106106
/// <returns>登录结果</returns>
107107
public static async Task<LoginObj> LoginNide8Async(string server, string user, string pass, CancellationToken token)
108108
{
109-
var res1 = await Nide8.AuthenticateAsync(server, FuntionUtils.NewUUID(), user, pass, token);
109+
var res1 = await Nide8.AuthenticateAsync(server, FunctionUtils.NewUUID(), user, pass, token);
110110

111111
res1.Text2 = user;
112112
return res1;
@@ -132,7 +132,7 @@ private static async Task<LoginObj> RefreshNide8Async(LoginObj obj, Cancellation
132132
/// <returns>登录结果</returns>
133133
public static async Task<LoginObj> LoginAuthlibInjectorAsync(string server, string user, string pass, ILoginGui select, CancellationToken token)
134134
{
135-
var res1 = await AuthlibInjector.AuthenticateAsync(FuntionUtils.NewUUID(), user, pass, server, select, token);
135+
var res1 = await AuthlibInjector.AuthenticateAsync(FunctionUtils.NewUUID(), user, pass, server, select, token);
136136

137137
res1.Auth!.Text2 = user;
138138
return res1.Auth;
@@ -160,7 +160,7 @@ private static async Task<LoginObj> RefreshAuthlibInjectorAsync(LoginObj obj, Ca
160160
/// <returns>登录结果</returns>
161161
public static async Task<LoginObj> LoginLittleSkinAsync(string user, string pass, ILoginGui select, CancellationToken token, string? server = null)
162162
{
163-
var res1 = await LittleSkin.AuthenticateAsync(FuntionUtils.NewUUID(), user, pass, server, select, token);
163+
var res1 = await LittleSkin.AuthenticateAsync(FunctionUtils.NewUUID(), user, pass, server, select, token);
164164

165165
res1.Auth!.Text2 = user;
166166
return res1.Auth;

src/ColorMC.Core/Game/GameHandle.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class GameHandle
1818
/// <summary>
1919
/// 游戏实例UUID
2020
/// </summary>
21-
public string UUID => _game.UUID;
21+
public Guid UUID => _game.UUID;
2222
/// <summary>
2323
/// 进程是否已经退出
2424
/// </summary>

src/ColorMC.Core/Game/GameLaunch.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ private static async Task<GameLaunchObj> CheckGameFileAsync(GameSettingObj obj,
125125
stopwatch.Reset();
126126
stopwatch.Start();
127127

128-
var ok = await DownloadManager.StartAsync([.. res]);
128+
var ok = await DownloadManager.StartAsync([.. res], token: token);
129129
if (!ok)
130130
{
131131
throw new LaunchException(LaunchError.DownloadFileError);
@@ -331,7 +331,7 @@ private static void CmdRun(this GameSettingObj obj, string cmd, Dictionary<strin
331331
/// <param name="cancels">取消Token</param>
332332
/// <returns>启动结果</returns>
333333
public static async Task<Dictionary<GameSettingObj, GameLaunchRes>>
334-
StartGameAsync(this ICollection<GameSettingObj> objs, GameLaunchArg larg, Dictionary<string, CancellationToken> cancels)
334+
StartGameAsync(this ICollection<GameSettingObj> objs, GameLaunchArg larg, Dictionary<Guid, CancellationToken> cancels)
335335
{
336336
//清理存在的实例日志
337337
foreach (var item in objs)

src/ColorMC.Core/Game/GameSaves.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public static async Task<bool> AddWorldZipAsync(this GameSettingObj obj, string
7474
var find = false;
7575
foreach (var e in zFile.Entries)
7676
{
77-
if (!FuntionUtils.IsFile(e))
77+
if (!FunctionUtils.IsFile(e))
7878
{
7979
continue;
8080
}
@@ -93,7 +93,7 @@ public static async Task<bool> AddWorldZipAsync(this GameSettingObj obj, string
9393

9494
foreach (var e in zFile.Entries)
9595
{
96-
if (!FuntionUtils.IsFile(e))
96+
if (!FunctionUtils.IsFile(e))
9797
{
9898
continue;
9999
}

src/ColorMC.Core/Helpers/AddGameHelper.cs

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ private static async Task<GameRes> ColorMCAsync(Stream st, IOverGameGui? gui, IA
232232

233233
foreach (var e in zFile.Entries)
234234
{
235-
if (!FuntionUtils.IsFile(e))
235+
if (!FunctionUtils.IsFile(e))
236236
{
237237
index++;
238238
continue;
@@ -267,7 +267,7 @@ private static async Task<GameRes> MMCAsync(string? name, string? group, string
267267
Dictionary<string, string>? mmc1 = null;
268268
foreach (var e in zFile.Entries)
269269
{
270-
if (!FuntionUtils.IsFile(e))
270+
if (!FunctionUtils.IsFile(e))
271271
{
272272
continue;
273273
}
@@ -329,7 +329,7 @@ private static async Task<GameRes> MMCAsync(string? name, string? group, string
329329

330330
foreach (var e in zFile.Entries)
331331
{
332-
if (!FuntionUtils.IsFile(e))
332+
if (!FunctionUtils.IsFile(e))
333333
{
334334
index++;
335335
continue;
@@ -423,7 +423,7 @@ private static async Task<GameRes> HMCLAsync(string? name, string? group, string
423423

424424
foreach (var e in zFile.Entries)
425425
{
426-
if (!FuntionUtils.IsFile(e))
426+
if (!FunctionUtils.IsFile(e))
427427
{
428428
index++;
429429
continue;
@@ -482,7 +482,7 @@ private static async Task<GameRes> UnzipAsync(string? name, string? group, strin
482482

483483
foreach (var e in zFile.Entries)
484484
{
485-
if (!FuntionUtils.IsFile(e))
485+
if (!FunctionUtils.IsFile(e))
486486
{
487487
index++;
488488
continue;
@@ -557,7 +557,7 @@ public static async Task<GameRes> InstallZip(string? name, string? group, string
557557
//如果是http则下载
558558
if (file.StartsWith("http"))
559559
{
560-
var file1 = Path.Combine(DownloadManager.DownloadDir, FuntionUtils.NewUUID());
560+
var file1 = Path.Combine(DownloadManager.DownloadDir, FunctionUtils.NewUUID());
561561
var res = await DownloadManager.StartAsync([new FileItemObj()
562562
{
563563
Url = file,
@@ -644,13 +644,22 @@ public static async Task<GameRes> InstallModrinth(string? group,
644644
/// 下载并安装curseforge整合包
645645
/// </summary>
646646
/// <returns>导入结果</returns>
647-
public static async Task<GameRes> InstallCurseForge(string? group, CurseForgeModObj.CurseForgeDataObj data,
647+
public static Task<GameRes> InstallCurseForge(string? group, CurseForgeModObj.CurseForgeDataObj data,
648648
string? icon, IOverGameGui? gui, IAddGui? packgui, CancellationToken token = default)
649649
{
650-
packgui?.SetState(AddState.DownloadPack);
651-
652650
var item = data.MakeDownloadObj(DownloadManager.DownloadDir);
653651

652+
return InstallCurseForge(group, item, data.ModId.ToString(), data.Id.ToString(), icon, gui, packgui, token);
653+
}
654+
655+
/// <summary>
656+
/// 下载并安装curseforge整合包
657+
/// </summary>
658+
/// <returns>导入结果</returns>
659+
public static async Task<GameRes> InstallCurseForge(string? group, FileItemObj item, string modid, string fileid,
660+
string? icon, IOverGameGui? gui, IAddGui? packgui, CancellationToken token = default)
661+
{
662+
packgui?.SetState(AddState.DownloadPack);
654663
packgui?.SetSubText(item.Name);
655664
var res1 = await DownloadManager.StartAsync([item], packgui, token);
656665
packgui?.SetSubText(null);
@@ -662,8 +671,8 @@ public static async Task<GameRes> InstallCurseForge(string? group, CurseForgeMod
662671
var res2 = await InstallZip(null, group, item.Local, PackType.CurseForge, gui, packgui, token);
663672
if (res2.State && !token.IsCancellationRequested)
664673
{
665-
res2.Game!.PID = data.ModId.ToString();
666-
res2.Game.FID = data.Id.ToString();
674+
res2.Game!.PID = modid;
675+
res2.Game.FID = fileid;
667676
res2.Game.Save();
668677

669678
if (icon != null)

0 commit comments

Comments
 (0)