Package net.minecraft.client.main

Source Code of net.minecraft.client.main.Main

package net.minecraft.client.main;

import java.io.File;
import java.net.Authenticator;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.Proxy.Type;
import java.util.List;

import joptsimple.ArgumentAcceptingOptionSpec;
import joptsimple.NonOptionArgumentSpec;
import joptsimple.OptionParser;
import joptsimple.OptionSet;
import net.minecraft.src.GameWindowListener;
import net.minecraft.src.MainProxyAuthenticator;
import net.minecraft.src.MainShutdownHook;
import net.minecraft.src.Minecraft;
import net.minecraft.src.Session;

import org.spoutcraft.client.SpoutClient;
import org.spoutcraft.client.io.DownloadAssets;

public class Main {
  public static void main(String[] par0ArrayOfStr) {
    System.setProperty("java.net.preferIPv4Stack", "true");
    OptionParser var1 = new OptionParser();
    var1.allowsUnrecognizedOptions();
    var1.accepts("demo");
    var1.accepts("fullscreen");
    ArgumentAcceptingOptionSpec var2 = var1.accepts("server").withRequiredArg();
    ArgumentAcceptingOptionSpec var3 = var1.accepts("port").withRequiredArg().ofType(Integer.class).defaultsTo(Integer.valueOf(25565), new Integer[0]);
    ArgumentAcceptingOptionSpec var4 = var1.accepts("gameDir").withRequiredArg().ofType(File.class).defaultsTo(new File("."), new File[0]);
    ArgumentAcceptingOptionSpec var5 = var1.accepts("assetsDir").withRequiredArg().ofType(File.class);
    ArgumentAcceptingOptionSpec var6 = var1.accepts("resourcePackDir").withRequiredArg().ofType(File.class);
    ArgumentAcceptingOptionSpec var7 = var1.accepts("proxyHost").withRequiredArg();
    ArgumentAcceptingOptionSpec var8 = var1.accepts("proxyPort").withRequiredArg().defaultsTo("8080", new String[0]).ofType(Integer.class);
    ArgumentAcceptingOptionSpec var9 = var1.accepts("proxyUser").withRequiredArg();
    ArgumentAcceptingOptionSpec var10 = var1.accepts("proxyPass").withRequiredArg();
    ArgumentAcceptingOptionSpec var11 = var1.accepts("username").withRequiredArg().defaultsTo("Player" + Minecraft.getSystemTime() % 1000L, new String[0]);
    ArgumentAcceptingOptionSpec var12 = var1.accepts("session").withRequiredArg().defaultsTo("Invalid Session ID", new String[0]);
    ArgumentAcceptingOptionSpec var13 = var1.accepts("version").withRequiredArg().required();
    ArgumentAcceptingOptionSpec var14 = var1.accepts("width").withRequiredArg().ofType(Integer.class).defaultsTo(Integer.valueOf(854), new Integer[0]);
    ArgumentAcceptingOptionSpec var15 = var1.accepts("height").withRequiredArg().ofType(Integer.class).defaultsTo(Integer.valueOf(480), new Integer[0]);
    NonOptionArgumentSpec var16 = var1.nonOptions();
    OptionSet var17 = var1.parse(par0ArrayOfStr);
    List var18 = var17.valuesOf(var16);
    String var19 = (String)var17.valueOf(var7);
    Proxy var20 = Proxy.NO_PROXY;

    if (var19 != null) {
      try {
        var20 = new Proxy(Type.SOCKS, new InetSocketAddress(var19, ((Integer)var17.valueOf(var8)).intValue()));
      } catch (Exception var34) {
        ;
      }
    }

    String var21 = (String)var17.valueOf(var9);
    String var22 = (String)var17.valueOf(var10);

    if (!var20.equals(Proxy.NO_PROXY) && func_110121_a(var21) && func_110121_a(var22)) {
      Authenticator.setDefault(new MainProxyAuthenticator(var21, var22));
    }

    int var23 = ((Integer)var17.valueOf(var14)).intValue();
    int var24 = ((Integer)var17.valueOf(var15)).intValue();
    boolean var25 = var17.has("fullscreen");
    boolean var26 = var17.has("demo");
    String var27 = (String)var17.valueOf(var13);
    File var28 = (File)var17.valueOf(var4);
    File var29 = var17.has(var5) ? (File)var17.valueOf(var5) : new File(var28, "assets/");
    File var30 = var17.has(var6) ? (File)var17.valueOf(var6) : new File(var28, "resourcepacks/");
    Session var31 = new Session((String)var11.value(var17), (String)var12.value(var17));
    Minecraft var32 = new Minecraft(var31, var23, var24, var25, var26, var28, var29, var30, var20, var27);   
    String var33 = (String)var17.valueOf(var2);

    if (var33 != null) {
      var32.setServer(var33, ((Integer)var17.valueOf(var3)).intValue());
    }

    Runtime.getRuntime().addShutdownHook(new MainShutdownHook());

    if (!var18.isEmpty()) {
      System.out.println("Completely ignored arguments: " + var18);
    }

    Thread.currentThread().setName("Minecraft main thread");
    DownloadAssets.importOldConfig();
    var32.run();
  }

  private static boolean func_110121_a(String par0Str) {
    return par0Str != null && !par0Str.isEmpty();
  }
}
TOP

Related Classes of net.minecraft.client.main.Main

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.