Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.redsun.exolauncher;
- import java.io.File;
- import fr.theshark34.openauth.AuthPoints;
- import fr.theshark34.openauth.AuthenticationException;
- import fr.theshark34.openauth.Authenticator;
- import fr.theshark34.openauth.model.AuthAgent;
- import fr.theshark34.openauth.model.response.AuthResponse;
- import fr.theshark34.openlauncherlib.LaunchException;
- import fr.theshark34.openlauncherlib.external.ExternalLaunchProfile;
- import fr.theshark34.openlauncherlib.external.ExternalLauncher;
- import fr.theshark34.openlauncherlib.minecraft.AuthInfos;
- import fr.theshark34.openlauncherlib.minecraft.GameFolder;
- import fr.theshark34.openlauncherlib.minecraft.GameInfos;
- import fr.theshark34.openlauncherlib.minecraft.GameTweak;
- import fr.theshark34.openlauncherlib.minecraft.GameType;
- import fr.theshark34.openlauncherlib.minecraft.GameVersion;
- import fr.theshark34.openlauncherlib.minecraft.MinecraftLauncher;
- import fr.theshark34.supdate.BarAPI;
- import fr.theshark34.supdate.SUpdate;
- import fr.theshark34.supdate.application.integrated.FileDeleter;
- import fr.theshark34.swinger.Swinger;
- public class Launcher {
- public static final GameVersion EX_VERSION = new GameVersion("1.12", GameType.V1_8_HIGHER);
- public static final GameInfos EX_INFOS = new GameInfos("exolia", EX_VERSION, new GameTweak[] {GameTweak.FORGE});
- public static final File EX_DIR = EX_INFOS.getGameDir();
- public static final GameTweak FORGE = new GameTweak()
- {
- @Override
- public String getName()
- {
- return "FML Tweaker";
- }
- @Override
- public String getTweakClass(GameInfos infos)
- {
- return "net.minecraftforge.fml.common.launcher.FMLTweaker";
- }
- };
- private static AuthInfos authInfos;
- private static Thread updateThread;
- public static void auth(String username, String password) throws AuthenticationException {
- Authenticator authenticator = new Authenticator(Authenticator.MOJANG_AUTH_URL, AuthPoints.NORMAL_AUTH_POINTS);
- AuthResponse response = authenticator.authenticate(AuthAgent.MINECRAFT, username, password, "");
- authInfos = new AuthInfos(response.getSelectedProfile().getName(), response.getAccessToken(), response.getSelectedProfile().getId());
- }
- public static void update() throws Exception {
- SUpdate su = new SUpdate("http://data-ascraft.web.boxtoplay.com/", EX_DIR);
- su.addApplication(new FileDeleter());
- updateThread = new Thread() {
- private int val;
- private int max;
- @Override
- public void run() {
- while(!this.isInterrupted()) {
- if(BarAPI.getNumberOfFileToDownload() == 0) {
- LauncherFrame.getInstance().getLauncherPanel().SetInfoText("Recherche de fichiers manquant...");
- continue;
- }
- val = (int) (BarAPI.getNumberOfTotalDownloadedBytes() / 1000);
- max = (int) (BarAPI.getNumberOfTotalDownloadedBytes() / 1000);
- LauncherFrame.getInstance().getLauncherPanel().getProgressBar().setMaximum(max);
- LauncherFrame.getInstance().getLauncherPanel().getProgressBar().setValue(val);
- LauncherFrame.getInstance().getLauncherPanel().SetInfoText("Telechargement en cours. Prenez une pause. " + BarAPI.getNumberOfDownloadedFiles()+ "->" + BarAPI.getNumberOfFileToDownload() + " " + Swinger.percentage(val,max) + "%");
- }
- }
- };
- updateThread.start();
- su.start();
- updateThread.interrupt();
- }
- public static void launch() throws LaunchException {
- ExternalLaunchProfile profile = MinecraftLauncher.createExternalProfile(EX_INFOS, GameFolder.BASIC, authInfos);
- ExternalLauncher launcher = new ExternalLauncher(profile);
- launcher.launch();
- System.exit(0);
- }
- public static void interruptThread() {
- updateThread.interrupt();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement