Jump to content

alex55i

Members
  • Posts

    4
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

alex55i's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. Okay, I removed from the manifest Class-Path: . and it works! But why FML detects classpath this way?
  2. I made a minimal launcher. It works just fine in Eclipse, but when I export launcher into runnable jar and execute it: java -jar Microlauncher.jar -d %APPDATA%\.minecraft\bin -u alex55i -s 12345 I got an exception: Exception in thread "main" java.lang.NoClassDefFoundError: bdx at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.getDeclaredMethod(Unknown Source) at cpw.mods.fml.relauncher.ReflectionHelper.findMethod(ReflectionHelper.java:170) at cpw.mods.fml.relauncher.FMLRelauncher.computeExistingClientHome(FMLRelauncher.java:195) at cpw.mods.fml.relauncher.FMLRelauncher.relaunchApplet(FMLRelauncher.java:241) at cpw.mods.fml.relauncher.FMLRelauncher.appletEntry(FMLRelauncher.java:212) at net.minecraft.client.MinecraftApplet.init(MinecraftApplet.java:25) at net.minecraft.Launcher.replace(Launcher.java:32) at net.minecraft.Launcher.setApplet(Launcher.java:21) at microlauncher.Main.main(Main.java:69) Caused by: java.lang.ClassNotFoundException: bdx at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 24 more Whats wrong with it? Source code: package microlauncher; import java.applet.Applet; import java.awt.BorderLayout; import java.io.File; import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; import javax.swing.JFrame; import net.minecraft.Launcher; public class Main { public static void main(String[] args) throws Exception { String clientDir = "."; String username = ""; String session = ""; if (args.length > 0) { String arg = args[0]; if ("-h".equals(arg) || "--help".equals(arg) || "/h".equals(arg)) { System.out.println("Usage: "); System.out.println(" java -jar Microlauncher.jar <>"); System.exit(0); } else { int counter = 0; while (args.length > counter) { String op = args[counter++]; if ("-d".equals(op)) { if (args.length > counter) { clientDir = args[counter++]; } } else if ("-u".equals(op)) { if (args.length > counter) { username = args[counter++]; } } else if ("-s".equals(op)) { if (args.length > counter) { session = args[counter++]; } } } } } ArrayList<URL> classpathList = new ArrayList<URL>(); classpathList.add(new File(clientDir, "lwjgl.jar").toURI().toURL()); classpathList.add(new File(clientDir, "lwjgl_util.jar").toURI().toURL()); classpathList.add(new File(clientDir, "jinput.jar").toURI().toURL()); classpathList.add(new File(clientDir, "minecraft.jar").toURI().toURL()); String nativespath = clientDir + "/natives"; URL[] classpath = classpathList.toArray(new URL[0]); Applet applet = createApplet(nativespath, classpath); Launcher stub = new Launcher(); stub.customParameters.put("stand-alone", "true"); stub.customParameters.put("username", username); stub.customParameters.put("sessionid", session); JFrame frame = new JFrame("Minecraft"); frame.setSize(800, 600); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); frame.add(stub); frame.validate(); frame.setLocationRelativeTo(null); frame.setVisible(true); stub.setApplet(applet); } public static Applet createApplet(String nativespath, URL[] classpath) throws Exception { System.setProperty("org.lwjgl.librarypath", nativespath); System.setProperty("net.java.games.input.librarypath", nativespath); URLClassLoader loader = new URLClassLoader(classpath); Class<?> appletClazz = loader.loadClass("net.minecraft.client.MinecraftApplet"); return (Applet) appletClazz.newInstance(); } } package net.minecraft; import java.applet.Applet; import java.applet.AppletContext; import java.applet.AppletStub; import java.awt.BorderLayout; import java.awt.Graphics; import java.net.URL; import java.util.HashMap; import java.util.Map; import javax.swing.JPanel; public class Launcher extends JPanel implements AppletStub { private static final long serialVersionUID = 1L; private boolean active; public Map<String, String> customParameters = new HashMap<String, String>(); public void setApplet(Applet applet) { setLayout(new BorderLayout()); replace(applet); } public void replace(Applet applet) { applet.setStub(this); applet.setSize(getWidth(), getHeight()); setLayout(new BorderLayout()); removeAll(); add(applet); validate(); applet.init(); active = true; applet.start(); } @Override public boolean isActive() { return active; } @Override public URL getDocumentBase() { return getClass().getProtectionDomain().getCodeSource().getLocation(); } @Override public URL getCodeBase() { return null; } @Override public String getParameter(String name) { return customParameters.get(name); } @Override public AppletContext getAppletContext() { return null; } @Override public void appletResize(int width, int height) { setSize(width, height); } @Override public void paint(Graphics g) { } }
  3. I'm just downloaded latest Forge 5.0.0.325, put it into minecraft.jar, deleted META-INF and i got an error in terminal: Exception in thread "Thread-3" java.lang.VerifyError: (class: net/minecraft/client/MinecraftApplet, method: fmlInitReentry signature: ()V) Bad type in putfield/putstatic at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) at java.lang.Class.getConstructor0(Class.java:2714) at java.lang.Class.newInstance0(Class.java:343) at java.lang.Class.newInstance(Class.java:325) at net.minecraft.GameUpdater.createApplet(GameUpdater.java:374) at net.minecraft.Launcher$1.run(Launcher.java:79) Everything is fine with recommended 4.2.5.303 version. I'm using latest lwjgls, Oracle JDK and Linux Mint.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.