mirror of
https://github.com/ViaVersion/ViaFabricPlus.git
synced 2025-02-25 03:12:53 +01:00
Add copy link button to bedrock login screen
Closes https://github.com/ViaVersion/ViaFabricPlus/issues/444
This commit is contained in:
parent
18fd102a68
commit
5fcf377366
@ -46,20 +46,21 @@ public abstract class MixinHeldItemRenderer {
|
||||
at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/item/HeldItemRenderer;applyEquipOffset(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/util/Arm;F)V", ordinal = 2, shift = At.Shift.AFTER))
|
||||
private void transformLegacyBlockAnimations(AbstractClientPlayerEntity player, float tickDelta, float pitch, Hand hand, float swingProgress, ItemStack item, float equipProgress, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, CallbackInfo ci) {
|
||||
final boolean blockHitAnimation = VisualSettings.global().enableBlockHitAnimation.isEnabled();
|
||||
|
||||
if (VisualSettings.global().enableSwordBlocking.isEnabled() || blockHitAnimation) {
|
||||
final Arm arm = hand == Hand.MAIN_HAND ? player.getMainArm() : player.getMainArm().getOpposite();
|
||||
|
||||
if (blockHitAnimation) {
|
||||
applySwingOffset(matrices, arm, swingProgress);
|
||||
matrices.translate(arm == Arm.RIGHT ? -0.14F : 0.14F, 0.12F, 0.12F);
|
||||
} else {
|
||||
matrices.translate(arm == Arm.RIGHT ? -0.15F : 0.15F, 0.07F, 0.12F);
|
||||
}
|
||||
matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(-102.25f));
|
||||
matrices.multiply((arm == Arm.RIGHT ? RotationAxis.POSITIVE_Y : RotationAxis.NEGATIVE_Y).rotationDegrees(13.365f));
|
||||
matrices.multiply((arm == Arm.RIGHT ? RotationAxis.POSITIVE_Z : RotationAxis.NEGATIVE_Z).rotationDegrees(78.05f));
|
||||
if (!VisualSettings.global().enableSwordBlocking.isEnabled() && !blockHitAnimation) {
|
||||
return;
|
||||
}
|
||||
|
||||
final Arm arm = hand == Hand.MAIN_HAND ? player.getMainArm() : player.getMainArm().getOpposite();
|
||||
|
||||
if (blockHitAnimation) {
|
||||
applySwingOffset(matrices, arm, swingProgress);
|
||||
matrices.translate(arm == Arm.RIGHT ? -0.14F : 0.14F, 0.12F, 0.12F);
|
||||
} else {
|
||||
matrices.translate(arm == Arm.RIGHT ? -0.15F : 0.15F, 0.07F, 0.12F);
|
||||
}
|
||||
matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(-102.25f));
|
||||
matrices.multiply((arm == Arm.RIGHT ? RotationAxis.POSITIVE_Y : RotationAxis.NEGATIVE_Y).rotationDegrees(13.365f));
|
||||
matrices.multiply((arm == Arm.RIGHT ? RotationAxis.POSITIVE_Z : RotationAxis.NEGATIVE_Z).rotationDegrees(78.05f));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ import de.florianmichael.viafabricplus.settings.base.BooleanSetting;
|
||||
import de.florianmichael.viafabricplus.settings.base.ButtonSetting;
|
||||
import de.florianmichael.viafabricplus.settings.base.SettingGroup;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gui.screen.NoticeScreen;
|
||||
import net.minecraft.client.gui.screen.ConfirmScreen;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.text.MutableText;
|
||||
import net.minecraft.text.Text;
|
||||
@ -65,10 +65,14 @@ public class BedrockSettings extends SettingGroup {
|
||||
final Screen prevScreen = client.currentScreen;
|
||||
try {
|
||||
ViaFabricPlus.global().getSaveManager().getAccountsSave().setBedrockAccount(MinecraftAuth.BEDROCK_DEVICE_CODE_LOGIN.getFromInput(MinecraftAuth.createHttpClient(), new StepMsaDeviceCode.MsaDeviceCodeCallback(msaDeviceCode -> {
|
||||
client.execute(() -> client.setScreen(new NoticeScreen(() -> {
|
||||
client.setScreen(prevScreen);
|
||||
Thread.currentThread().interrupt();
|
||||
}, Text.literal("Microsoft Bedrock login"), Text.translatable("bedrock.viafabricplus.login"), Text.translatable("base.viafabricplus.cancel"), true)));
|
||||
client.execute(() -> client.setScreen(new ConfirmScreen(copyUrl -> {
|
||||
if (copyUrl) {
|
||||
client.keyboard.setClipboard(msaDeviceCode.getDirectVerificationUri());
|
||||
} else {
|
||||
client.setScreen(prevScreen);
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}, Text.literal("Microsoft Bedrock login"), Text.translatable("bedrock.viafabricplus.login"), Text.translatable("base.viafabricplus.copy_link"), Text.translatable("base.viafabricplus.cancel"))));
|
||||
try {
|
||||
Util.getOperatingSystem().open(new URI(msaDeviceCode.getDirectVerificationUri()));
|
||||
} catch (URISyntaxException e) {
|
||||
|
@ -13,7 +13,7 @@
|
||||
"base.viafabricplus.logout": "Ausloggen",
|
||||
"base.viafabricplus.online_mode": "Online-Modus",
|
||||
"base.viafabricplus.reset": "Zurücksetzen",
|
||||
"base.viafabricplus.copy_code": "Code kopieren",
|
||||
"base.viafabricplus.copy_link": "Link kopieren",
|
||||
"base.viafabricplus.something_went_wrong": "Etwas ist schiefgegangen! Bitte versuche es später erneut.",
|
||||
"base.viafabricplus.via_translates_to": "Via übersetzt zu: %s",
|
||||
"base.viafabricplus.server_version": "Serverversion: %s",
|
||||
|
@ -13,7 +13,7 @@
|
||||
"base.viafabricplus.logout": "Logout",
|
||||
"base.viafabricplus.online_mode": "Online Mode",
|
||||
"base.viafabricplus.reset": "Reset",
|
||||
"base.viafabricplus.copy_code": "Copy code",
|
||||
"base.viafabricplus.copy_link": "Copy link",
|
||||
"base.viafabricplus.something_went_wrong": "Something went wrong! Please try again later",
|
||||
"base.viafabricplus.via_translates_to": "Via translates to: %s",
|
||||
"base.viafabricplus.server_version": "Server version: %s",
|
||||
|
Loading…
Reference in New Issue
Block a user