Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove mojang auth #8

Merged
merged 1 commit into from
Jan 13, 2025
Merged
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
62 changes: 0 additions & 62 deletions src/main/java/com/sintinium/oauth/EncryptionUtil.java

This file was deleted.

43 changes: 20 additions & 23 deletions src/main/java/com/sintinium/oauth/GuiEventHandler.java
Original file line number Diff line number Diff line change
@@ -1,36 +1,43 @@
package com.sintinium.oauth;

import java.util.ArrayList;
import java.util.List;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiMultiplayer;
import net.minecraft.client.resources.I18n;
import net.minecraftforge.client.event.GuiScreenEvent;

import com.sintinium.oauth.gui.LoginTypeScreen;
import com.sintinium.oauth.gui.ActionButton;
import com.sintinium.oauth.gui.LoginLoadingScreen;
import com.sintinium.oauth.gui.TextWidget;
import com.sintinium.oauth.login.LoginUtil;
import com.sintinium.oauth.login.MicrosoftLogin;

import cpw.mods.fml.common.eventhandler.SubscribeEvent;

@SuppressWarnings("unused")
public class GuiEventHandler {

private static TextWidget statusText = new TextWidget(10 + 66 + 3, 12, I18n.format("oauth.status.loading"));
private static final TextWidget statusText = new TextWidget(10 + 66 + 3, 12, I18n.format("oauth.status.loading"));

@SuppressWarnings("unchecked")
@SubscribeEvent
public void multiplayerScreenOpen(GuiScreenEvent.InitGuiEvent.Post event) {
if (!(event.gui instanceof GuiMultiplayer)) return;
try {
// Method addButtonMethod = ObfuscationReflectionHelper.findMethod(Screen.class, "addButton", Widget.class);
// Method addButtonMethod = ObfuscationReflectionHelper.findMethod(Screen.class, "func_230480_a_",
// Widget.class);
List<GuiButton> buttonList = new ArrayList<>();
GuiButton loginButton = new GuiButton(29183, 10, 6, 66, 20, I18n.format("oauth.btn.oauth.login"));
// p_onPress_1_ ->
buttonList.add(loginButton);
event.buttonList.add(new ActionButton(29183, 10, 6, 66, 20, I18n.format("oauth.btn.oauth.login"), () -> {
final MicrosoftLogin login = new MicrosoftLogin();
LoginLoadingScreen loadingScreen = new LoginLoadingScreen(event.gui, login::cancelLogin, true);
login.setUpdateStatusConsumer(loadingScreen::updateText);
Thread loginThread = new Thread(() -> login.login(() -> {
LoginUtil.updateOnlineStatus();
Minecraft.getMinecraft().displayGuiScreen(event.gui);
}));
if (login.getErrorMsg() != null) {
System.err.println(login.getErrorMsg());
}
Minecraft.getMinecraft().displayGuiScreen(loadingScreen);
loginThread.start();
}));

Thread thread = new Thread(() -> {
boolean isOnline = LoginUtil.isOnline();
if (isOnline) {
Expand All @@ -42,8 +49,6 @@ public void multiplayerScreenOpen(GuiScreenEvent.InitGuiEvent.Post event) {
}
});
thread.start();

event.buttonList.addAll(buttonList);
} catch (Exception e) {
e.printStackTrace();
}
Expand All @@ -54,12 +59,4 @@ public void multiplayerScreenDraw(GuiScreenEvent.DrawScreenEvent.Post event) {
if (!(event.gui instanceof GuiMultiplayer)) return;
statusText.draw(event.gui);
}

@SubscribeEvent
public void action(GuiScreenEvent.ActionPerformedEvent.Post event) {
if (!(event.gui instanceof GuiMultiplayer)) return;
if (event.button.id != 29183) return;
GuiMultiplayer multiplayerScreen = (GuiMultiplayer) event.gui;
Minecraft.getMinecraft().displayGuiScreen(new LoginTypeScreen(multiplayerScreen));
}
}
3 changes: 0 additions & 3 deletions src/main/java/com/sintinium/oauth/OAuth.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.sintinium.oauth;

import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
Expand All @@ -19,8 +18,6 @@ public class OAuth {
public void preInit(FMLPreInitializationEvent event) {
if (event.getSide().isClient()) {
MinecraftForge.EVENT_BUS.register(new GuiEventHandler());
Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
OAuthConfig.load(cfg);
}
}
}
65 changes: 0 additions & 65 deletions src/main/java/com/sintinium/oauth/OAuthConfig.java

This file was deleted.

12 changes: 9 additions & 3 deletions src/main/java/com/sintinium/oauth/gui/ActionButton.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
package com.sintinium.oauth.gui;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;

public class ActionButton extends GuiButton {

private Runnable onClicked;
private final Runnable onClicked;

public ActionButton(int buttonId, int x, int y, int widthIn, int heightIn, String buttonText, Runnable onClicked) {
super(buttonId, x, y, widthIn, heightIn, buttonText);
this.onClicked = onClicked;
}

public void onClicked() {
onClicked.run();
@Override
public boolean mousePressed(Minecraft mc, int mouseX, int mouseY) {
if (super.mousePressed(mc, mouseX, mouseY)) {
onClicked.run();
return true;
}
return false;
}
}
35 changes: 0 additions & 35 deletions src/main/java/com/sintinium/oauth/gui/GuiScreenCustom.java

This file was deleted.

45 changes: 12 additions & 33 deletions src/main/java/com/sintinium/oauth/gui/LoginLoadingScreen.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,23 @@

import java.util.concurrent.atomic.AtomicReference;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.resources.I18n;

public class LoginLoadingScreen extends GuiScreenCustom {
public class LoginLoadingScreen extends GuiScreen {

private String loadingText = I18n.format("oauth.text.loading");
private final String loadingText = I18n.format("oauth.text.loading");
private int dots = 0;
private String renderText = loadingText;

private GuiScreen lastScreen;
private final GuiScreen lastScreen;
private int tick = 0;
private Runnable onCancel;
private boolean isMicrosoft;
private String title = I18n.format("oauth.screen.title.microsoft");
private AtomicReference<String> updateText = new AtomicReference<>();
private final Runnable onCancel;
private final boolean isMicrosoft;
private final String title = I18n.format("oauth.screen.title.microsoft");
private final AtomicReference<String> updateText = new AtomicReference<>();

protected LoginLoadingScreen(GuiScreen callingScreen, Runnable onCancel, boolean isMicrosoft) {
public LoginLoadingScreen(GuiScreen callingScreen, Runnable onCancel, boolean isMicrosoft) {
this.lastScreen = callingScreen;
this.onCancel = onCancel;
this.isMicrosoft = isMicrosoft;
Expand All @@ -33,7 +31,7 @@ public void updateText(String text) {

@Override
public void initGui() {
this.addButton(
buttonList.add(
new ActionButton(
0,
this.width / 2 - 100,
Expand All @@ -43,19 +41,10 @@ public void initGui() {
I18n.format("gui.cancel"),
() -> {
onCancel.run();
Minecraft.getMinecraft().displayGuiScreen(lastScreen);
mc.displayGuiScreen(lastScreen);
}));
}

@Override
protected void actionPerformed(GuiButton button) {
if (button instanceof ActionButton) {
((ActionButton) button).onClicked();
} else {
throw new RuntimeException("Missing button action");
}
}

@Override
public void updateScreen() {
tick++;
Expand All @@ -76,19 +65,9 @@ public void updateScreen() {
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
this.drawBackground(0);
drawCenteredString(mc.fontRenderer, title, width / 2, 17, 16777215);
drawCenteredString(
Minecraft.getMinecraft().fontRenderer,
renderText,
this.width / 2,
this.height / 2 - 40,
0xFFFFFF);
drawCenteredString(mc.fontRenderer, renderText, this.width / 2, this.height / 2 - 40, 0xFFFFFF);
if (this.isMicrosoft) {
drawCenteredString(
Minecraft.getMinecraft().fontRenderer,
updateText.get(),
this.width / 2,
this.height / 2 - 28,
0xFFFFFF);
drawCenteredString(mc.fontRenderer, updateText.get(), this.width / 2, this.height / 2 - 28, 0xFFFFFF);
}
super.drawScreen(mouseX, mouseY, partialTicks);
}
Expand Down
Loading
Loading