Xcube-Studio / Natsurainko.FluentLauncher

Natsurainko.FluentLauncher A Minecraft launcher designed for Windows 11
https://fluentlauncher.natsurainko.work/
MIT License
304 stars 16 forks source link

[Feature] Skins for Fluent Launcher 流畅启动器皮肤 #200

Closed pdimu closed 3 months ago

pdimu commented 10 months ago

Why do you need this feature?

there's no skins in Fluent Launcher but the Minecraft Launcher (aka das original one) has - aka there's sth missing here

Suggest an implementation

creating a skin management in the side bar, and a skin market in the 'Download Resources' tab

Attachment

image

pdimu commented 10 months ago

i mean, the offline accounts don't have any feature for adding skins, which is poor, as you have to add your microsoft account and MC when you want to play single hope you'll resolve this

xingxing2008 commented 10 months ago

Thanks for your suggestion. We are planning to work on it in the next month.

natsurainko commented 10 months ago

I think the server needs to install a plug-in for offline skin display (such as SkinsRestorer) to achieve this function. This shouldn't be something a launcher is supposed to do

我认为应该是服务端要安装离线皮肤显示的插件(例如 SkinsRestorer)才能做到这个功能 这不应该是启动器应该完成的事情

pdimu commented 9 months ago

but... wasn't it about a fluent type of the minecraft launcher?

natsurainko commented 9 months ago

image

but... wasn't it about a fluent type of the minecraft launcher?

But this is a function only for Microsoft accounts, but what you need is skin management for offline accounts, which cannot be done with offline accounts.

pdimu commented 9 months ago

Oh, now i realized. i'll try to find something for offline accounts. a question: is the feature that we were talking about available on microsoft accounts?

pdimu commented 9 months ago

sth for prism launcher - reddit yeah, but are there any mods for skins in the store (the in-launcher mods finder)?

pdimu commented 9 months ago

Oh, now i realized. i'll try to find something for offline accounts. a question: is the feature that we were talking about available on microsoft accounts? 2024-02-02 6:55 GMT+02:00, natsurainko @.***>:

image > > but... wasn't it about a fluent type of the minecraft launcher? But this is a function only for Microsoft accounts, but what you need is skin management for offline accounts, which cannot be done with offline accounts. -- Reply to this email directly or view it on GitHub: #200 (comment) You are receiving this because you authored the thread. Message ID: @.***>

Request Update - skin implementations for Mojang/Microsoft Accounts

natsurainko commented 8 months ago

For Microsoft accounts, this feature can actually still be added, but the biggest problem is that I'm busy with school now, and I guess I can update this feature during the summer vacation

pdimu commented 8 months ago

Oh. Ok, no problem, me too 😄 i was saying that there wasn't any answer for a long time so I decided to close the issue, but it's good to know that there is a solution. G-bye!

pdimu commented 5 months ago

Ey-ya, did you do some progress? School ends soo-oon! (don't ask I'm high right now)

natsurainko commented 5 months ago

Finished my last high school life, now I have time to come back and finish these features

pdimu commented 5 months ago

🎉✨

natsurainko commented 5 months ago

Testing ad9210a3ddd587d1f11a1457a44d5304

pdimu commented 5 months ago

You're fast! I hope we'll see it finished! (until then, I'll probably get Minecraft)

pdimu commented 5 months ago

One thing. Don't forget to sleep

natsurainko commented 5 months ago

One thing. Don't forget to sleep

Not that exaggerated

pdimu commented 5 months ago

From #145, @vanja-san requested a feature for the launches to be on the home page. For your observation, the multiple launches of Minecraft, you can specify the version of the launch on the left side of the launch details and every new launch will be added on top of the current launching game (with its name on the left, so you know what is launching). But when they are all launched, the main button will say Close all, and when there is one open and one starting, the button is disabled and there will be a smaller button on the right side of the launch details.

I hope you can understand at least a word I said here, cuz my brain was 50% boom

natsurainko commented 5 months ago

Drawing UI image

natsurainko commented 5 months ago

From #145, @vanja-san requested a feature for the launches to be on the home page. For your observation, the multiple launches of Minecraft, you can specify the version of the launch on the left side of the launch details and every new launch will be added on top of the current launching game (with its name on the left, so you know what is launching). But when they are all launched, the main button will say Close all, and when there is one open and one starting, the button is disabled and there will be a smaller button on the right side of the launch details.

I hope you can understand at least a word I said here, cuz my brain was 50% boom

The feature for the home page launches needs to be done after the asynchronous launch code is completed. In addition, when multiple processes are started, I may not display feedback on the home page, because it's actually inconvenient to control and manage.

pdimu commented 5 months ago

So... That means no? 🥺

natsurainko commented 5 months ago

So... That means no? 🥺

I will use a design with only one process, but not multiple processes.

pdimu commented 5 months ago

Yay! 🎉✨ And when there are multiple launches, it goes to the details tab?

pdimu commented 5 months ago

I think I got an idea for the offline account skins. Why not to use ely.by and tlauncher skins?

pdimu commented 4 months ago

I think I got an idea for the offline account skins. Why not to use ely.by and tlauncher skins?

nvm these can be provided by the yggdrasil account option. how's the developing going? any updates to the skin menu?

pdimu commented 4 months ago

can you also make a skin library (with two tabs - official minecraft skins and uploaded by player). also an option to provide skins with link would be wonderful

pdimu commented 4 months ago

according to https://github.com/Xcube-Studio/Natsurainko.FluentLauncher/blob/refactor-new-settings-navigation-style/Natsurainko.FluentLauncher/Assets/Rig_steve.obj and https://github.com/orgs/Xcube-Studio/projects/3 the feature is essentially done. am i right?

pdimu commented 4 months ago

You're fast! I hope we'll see it finished! (until then, I'll probably get Minecraft)

and btw i didn't buy it

pdimu commented 4 months ago

curiosity kills the cat https://github.com/Xcube-Studio/Natsurainko.FluentLauncher/compare/1.0.25...v2.2.9.0 [334 commits and 571 changed files with 20,800 additions and 16,455 deletions]

natsurainko commented 4 months ago

In fact, we still have a lot of work to do 2e291851aec2b4be3f9715838810279c

pdimu commented 4 months ago

ok, take your time

natsurainko commented 4 months ago

QQ_1721321361815 Implemented skin change for Microsoft accounts, but we encountered some technical problems with Yggdrasil accounts, so we may not support skin change for Yggdrasil accounts

QQ_1721321557670 go to sleep

pdimu commented 4 months ago

QQ_1721321557670 go to sleep

image nah i'm good

pdimu commented 4 months ago

i'll do some research for you. maye look after some yggdrasil api functions and inform you (idk what to do honestly, but holy google will help me i guess)

pdimu commented 4 months ago

https://www.getmerlin.in/share/chat/I3SvXaYi89s i was initially looking for more sites with the yggdrasil api but i took advantage that the ai was focused on minecraft yggdrasil and asked him. still doing research on google and maybe on yandex (russian google without filters)

pdimu commented 4 months ago

found a topic on github https://github.com/topics/yggdrasil-api

pdimu commented 4 months ago

found their repo https://github.com/yggdrasil-network/yggdrasil-go or repos? https://github.com/uswitch/yggdrasil also this, which is more likely to be for minecraft https://github.com/unmojang/drasl

pdimu commented 4 months ago

tell me if this helped you (at least the chat)

pdimu commented 4 months ago

ok it's time for yandex. i took a sleep, gone outside to touch grass and played some mc with my favourite launcher. now i'm back to searching and dev

click me now or you'll suffer

(bruh what dev i only know c++ and some bs python)

pdimu commented 4 months ago

found this https://wiki.vg/Legacy_Mojang_Authentication

pdimu commented 4 months ago

also this, which is more likely to be for minecraft https://github.com/unmojang/drasl

this is the repo you would want to go, there aren't any docs, but this is the api for minecraft, not the things i've thrown there

pdimu commented 4 months ago

https://github.com/unmojang/drasl/tree/master/doc there actually are docs, i'm gonna study them

pdimu commented 4 months ago

may help https://github.com/unmojang/drasl/blob/master/doc/recipes.md#configurations-for-common-fallback-servers

pdimu commented 4 months ago

back to AI

https://www.getmerlin.in/chat

To use the Minecraft Yggdrasil API to upload skins to an account or profile, you need to follow specific steps to authenticate and update the skin information. Here’s a simplified guide on how you can achieve this:

1. Set Up Authentication

First, you need to authenticate the user with their Minecraft account. The Yggdrasil API handles authentication and session management.

2. Prepare the Skin File

You need a skin file ready to upload. Ensure that the file is in the correct format (i.e., PNG).

3. Upload the Skin

Use the accessToken obtained from the authentication step to upload the skin to the profile.

Example Code Snippet

Here is an example using Python and the requests library:

import requests

# Authenticate
auth_payload = {
    "agent": {
        "name": "Minecraft",
        "version": 1
    },
    "username": "user@example.com",
    "password": "user_password"
}

auth_response = requests.post("https://authserver.mojang.com/authenticate", json=auth_payload)
auth_data = auth_response.json()
access_token = auth_data['accessToken']

# Upload skin
files = {
    'model': (None, 'slim'),
    'file': ('skin.png', open('path_to_skin_image.png', 'rb'), 'image/png')
}

headers = {
    'Authorization': f'Bearer {access_token}'
}

response = requests.put("https://api.minecraftservices.com/minecraft/profile/skins", headers=headers, files=files)
print(response.json())

4. Error Handling and Logging

To ensure smooth operation, you should handle errors appropriately and log requests and responses for debugging purposes. For troubleshooting, enabling verbose logging as suggested in Yggdrasil API manuals could be beneficial by setting YGG_VERBOSE_LOG in your environment configuration [citation:4].

Important Considerations

Following these steps should enable you to use the Minecraft Yggdrasil API to upload skins to user accounts effectively.

pdimu commented 4 months ago

didn't find anything else. if it helps even a little, don't hesitate to tell me

natsurainko commented 3 months ago

2.3.0.0 released