Implemented copy code action to bedrock login

Fixed resource packs aren't loading
Updated ViaBedrock
Updated some translations
This commit is contained in:
FlorianMichael 2023-03-29 00:17:56 +02:00
parent d6d6a8240f
commit 9a74f6333e
6 changed files with 45 additions and 11 deletions

View File

@ -75,6 +75,7 @@ dependencies {
exclude group: "io.jsonwebtoken", module: "jjwt-impl"
exclude group: "io.jsonwebtoken", module: "jjwt-gson"
}
libs "io.netty:netty-codec-http:4.1.90.Final" // Some people don't know how to define dependencies properly in a build.gradle
libs ("net.raphimc:MinecraftAuth:${project.minecraftauth_version}") {
exclude group: "com.google.code.gson", module: "gson"
exclude group: "org.slf4j", module: "slf4j-api"

View File

@ -17,7 +17,6 @@
*/
package de.florianmichael.viafabricplus.protocolhack.provider.viabedrock;
import com.viaversion.viaversion.api.connection.UserConnection;
import net.raphimc.viabedrock.protocol.providers.BlobCacheProvider;
import java.util.HashMap;
@ -33,7 +32,7 @@ public class ViaFabricPlusBlobCacheProvider extends BlobCacheProvider {
}
@Override
public byte[] addBlob(final UserConnection user, final long hash, final byte[] compressedBlob) {
public byte[] addBlob(final long hash, final byte[] compressedBlob) {
synchronized (this.blobs) {
if (this.blobs.containsKey(hash)) { // In case the server overwrites a blob
size -= this.blobs.get(hash).length;
@ -45,14 +44,14 @@ public class ViaFabricPlusBlobCacheProvider extends BlobCacheProvider {
}
@Override
public boolean hasBlob(final UserConnection user, final long hash) {
public boolean hasBlob(final long hash) {
synchronized (this.blobs) {
return this.blobs.containsKey(hash);
}
}
@Override
public byte[] getBlob(final UserConnection user, final long hash) {
public byte[] getBlob(final long hash) {
synchronized (this.blobs) {
return this.blobs.get(hash);
}

View File

@ -23,6 +23,7 @@ import de.florianmichael.viafabricplus.screen.settings.SettingsScreen;
import de.florianmichael.viafabricplus.settings.base.SettingGroup;
import de.florianmichael.viafabricplus.settings.type_impl.ButtonSetting;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ConfirmScreen;
import net.minecraft.client.gui.screen.NoticeScreen;
import net.minecraft.client.gui.screen.TitleScreen;
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
@ -41,10 +42,14 @@ public class BedrockSettings extends SettingGroup {
public final ButtonSetting BEDROCK_ACCOUNT = new ButtonSetting(this, Text.translatable("bedrock.viafabricplus.set"), () -> CompletableFuture.runAsync(() -> {
try {
BedrockAccountHandler.INSTANCE.setAccount(MinecraftAuth.requestBedrockLogin(msaDeviceCode -> {
MinecraftClient.getInstance().execute(() -> MinecraftClient.getInstance().setScreen(new NoticeScreen(() -> {
MinecraftClient.getInstance().setScreen(SettingsScreen.get(new MultiplayerScreen(new TitleScreen())));
Thread.currentThread().interrupt();
}, Text.literal("Microsoft Bedrock login"), Text.translatable("bedrocklogin.viafabricplus.text", msaDeviceCode.userCode()), Text.translatable("words.viafabricplus.cancel"), false)));
MinecraftClient.getInstance().execute(() -> MinecraftClient.getInstance().setScreen(new ConfirmScreen(consumer -> {
if (consumer) {
MinecraftClient.getInstance().keyboard.setClipboard(msaDeviceCode.userCode());
} else {
MinecraftClient.getInstance().setScreen(SettingsScreen.get(new MultiplayerScreen(new TitleScreen())));
Thread.currentThread().interrupt();
}
}, Text.literal("Microsoft Bedrock login"), Text.translatable("bedrocklogin.viafabricplus.text", msaDeviceCode.userCode()), Text.translatable("words.viafabricplus.copy"), Text.translatable("words.viafabricplus.cancel"))));
try {
Util.getOperatingSystem().open(new URI(msaDeviceCode.verificationUri()));
} catch (URISyntaxException e) {

View File

@ -11,6 +11,7 @@
"words.viafabricplus.logout": "Logout",
"words.viafabricplus.online": "Online Mode",
"words.viafabricplus.reset": "Reset",
"words.viafabricplus.copy": "Copy code",
"bedrock.viafabricplus.set": "Click to set account for Bedrock edition",

View File

@ -8,11 +8,14 @@
"words.viafabricplus.rb": "右下",
"words.viafabricplus.cancel": "キャンセル",
"words.viafabricplus.cancelreset": "リセットして閉じる",
"words.viafabricplus.logout": "ログアウト",
"words.viafabricplus.online": "オンラインモード",
"words.viafabricplus.reset": "リセット",
"bedrock.viafabricplus.set": "クリックしてBedrock edition用のアカウントを用意",
"bridge.viafabricplus.secret": "Super Secret Settingsを表示",
"bridge.viafabricplus.extrainformation": "サーバーに接続するバージョンを選択",
"bridge.viafabricplus.extrainformation": "デバッグ画面に追加情報を表示",
"bridge.viafabricplus.classicloading": "接続画面に昔の読み込み進行情報を表示",
"debug.viafabricplus.sequence": "優先順位付けを無効化",
@ -25,7 +28,7 @@
"debug.viafabricplus.attribute": "属性修飾子を置換",
"debug.viafabricplus.replacesneak": "スニークの置換",
"debug.viafabricplus.longsneak": "長いスニーク",
"debug.viafabricplus.legacypseeds": "以前の採掘速度",
"debug.viafabricplus.legacypseeds": "従来の採掘速度",
"general.viafabricplus.main": "メインボタンの位置",
"general.viafabricplus.creative": "利用不可能なアイテムをクリエイティブタブから削除",
@ -35,6 +38,8 @@
"mppass.viafabricplus.betacraft": "BetaCraft認証を使用",
"mppass.viafabricplus.verify": "ViaLegacyがjoinServer()を呼び出してセッションを検証することを許可",
"mppass.viafabricplus.fail": "joinServer() の呼び出し失敗時に切断",
"mppass.viafabricplus.classicube": "ClassiCubeを使用している場合は CPEバージョンを強制",
"mppass.viafabricplus.spoof": "ClassiCubeを使用している場合はClassiCubeのユーザー名に変更",
"visual.viafabricplus.secure": "安全なチャットの警告を無効",
"visual.viafabricplus.indicator": "チャットの非署名表示を隠す",
@ -46,9 +51,24 @@
"visual.viafabricplus.betahud": "新しいHUD要素を削除",
"visual.viafabricplus.classic": "クリエイティブインベントリの置換",
"visual.viafabricplus.walkanimation": "以前の歩行アニメーション",
"visual.viafabricplus.sodium": "Sodiumのチャンク描画を修正",
"bedrocklogin.viafabricplus.text": "ブラウザが開きました。\nブラウザに次のコードを入力してください: %s\nこの画面を閉じるとログインが中断されます。",
"bedrocklogin.viafabricplus.error": "エラーが発生しました! 詳細についてはlasted.logを確認してください。\nまた、下記の場所でバグを報告してください。 \nhttps://github.com/FlorianMichael/ViaFabricPlus/issues",
"forceversion.viafabricplus.title": "サーバーに接続するバージョンを選択"
"forceversion.viafabricplus.title": "サーバーに接続するバージョンを選択",
"classicube.viafabricplus.account": "ここでアカウントを作成できます: https://www.classicube.net/",
"classicube.viafabricplus.loading": "プロファイル情報とサーバーリストを読み込んでいます...",
"classicube.viafabricplus.error.token": "トークンが正しくありません。ViaFabric Plusの更新を確認してください。",
"classicube.viafabricplus.error.username": "無効なユーザー名です。",
"classicube.viafabricplus.error.password": "無効なバスワードです。.",
"classicube.viafabricplus.error.verification": "このアカウントは、まだメール認証が行われていません。",
"classicube.viafabricplus.error.logincode": "多要素認証が要求されました。 メールを確認してください。",
"classicube.viafabricplus.warning": "この機能は、APIリクエストを ClassiCube APIに送信します。",
"betacraft.viafabricplus.warning": "このボタンを押すと、API リクエストが\"betacraft.uk/serverlist\"に送信されます。",
"betacraft.viafabricplus.error": "エラーが発生しました。 後でもう一度試してください。"
}

View File

@ -9,6 +9,8 @@
"words.viafabricplus.cancel": "Відмінити",
"words.viafabricplus.cancelreset": "Відмінити і відновити",
"words.viafabricplus.logout": "Вийти",
"words.viafabricplus.online": "Онлайн режим",
"words.viafabricplus.reset": "Зкинути",
"bedrock.viafabricplus.set": "Нажміть, щоб встановити аккаунт для Bedrock",
@ -37,6 +39,7 @@
"mppass.viafabricplus.verify": "Дозвольте ViaLegacy викликати joinServer() для перевірки сеансу",
"mppass.viafabricplus.fail": "Від’єднатися, якщо виклик joinServer() не вдається",
"mppass.viafabricplus.classicube": "Примусово встановити версію CPE, якщо використовується ClassiCube MP Pass",
"mppass.viafabricplus.spoof": "Підмінити ім'я користувача на ім'я ClassiCube, якщо використовується ClassiCube",
"visual.viafabricplus.secure": "Прибрати застереження чату",
"visual.viafabricplus.indicator": "Сховати ідикатор підпису",
@ -63,4 +66,9 @@
"classicube.viafabricplus.error.password": "Неправильний пароль.",
"classicube.viafabricplus.error.verification": "Користувач ще не підтвердив емейл.",
"classicube.viafabricplus.error.logincode": "Потрібна багатофакторна автентифікація. Будь ласка, перевірте свою електронну пошту."
"classicube.viafabricplus.warning": "Ця фішка надішле API запит до ClassiCube API.",
"betacraft.viafabricplus.warning": "Нажимаючи цю кнопку ви надішлете API запит до \"betacraft.uk/serverlist\".",
"betacraft.viafabricplus.error": "Щось пішло не так! Будь ласка, спробуйте знову пізніше"
}