Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
.version 50 0
.class public super org/bukkit/craftbukkit/Main
.super java/lang/Object
.field public static useJline Z
.field public static useConsole Z
.method public <init> : ()V
.code stack 1 locals 1
L0: aload_0
L1: invokespecial Method java/lang/Object <init> ()V
L4: return
0 is this Lorg/bukkit/craftbukkit/Main; from L0 to L5
.end localvariabletable
L0 20
.end linenumbertable
.end code
.end method
.method public static main : ([Ljava/lang/String;)V
.code stack 6 locals 10
L271: new org/bukkit/craftbukkit/Main$1
L274: dup
L275: invokespecial Method org/bukkit/craftbukkit/Main$1 <init> ()V
L278: astore_3
L279: aconst_null
L280: astore 4
.catch org/bukkit/craftbukkit/libs/joptsimple/OptionException from L282 to L289 using L292
L282: aload_3
L283: aload_0
L284: invokevirtual Method org/bukkit/craftbukkit/libs/joptsimple/OptionParser parse ([Ljava/lang/String;)Lorg/bukkit/craftbukkit/libs/joptsimple/OptionSet;
L287: astore 4
L289: goto L313
.stack full
locals Object [Ljava/lang/String; Object java/io/File Object java/util/Enumeration Object org/bukkit/craftbukkit/libs/joptsimple/OptionParser Object org/bukkit/craftbukkit/libs/joptsimple/OptionSet
stack Object org/bukkit/craftbukkit/libs/joptsimple/OptionException
.end stack
L292: astore 5
L294: ldc Class org/bukkit/craftbukkit/Main
L296: invokevirtual Method java/lang/Class getName ()Ljava/lang/String;
L299: invokestatic Method java/util/logging/Logger getLogger (Ljava/lang/String;)Ljava/util/logging/Logger;
L302: getstatic Field java/util/logging/Level SEVERE Ljava/util/logging/Level;
L305: aload 5
L307: invokevirtual Method org/bukkit/craftbukkit/libs/joptsimple/OptionException getLocalizedMessage ()Ljava/lang/String;
L310: invokevirtual Method java/util/logging/Logger log (Ljava/util/logging/Level;Ljava/lang/String;)V
.stack same
L313: aload 4
L315: ifnull L328
L318: aload 4
L320: ldc '?'
L322: invokevirtual Method org/bukkit/craftbukkit/libs/joptsimple/OptionSet has (Ljava/lang/String;)Z
L325: ifeq L360
.catch java/io/IOException from L328 to L335 using L338
.stack same
L328: aload_3
L329: getstatic Field java/lang/System out Ljava/io/PrintStream;
L332: invokevirtual Method org/bukkit/craftbukkit/libs/joptsimple/OptionParser printHelpOn (Ljava/io/OutputStream;)V
L335: goto L869
.stack stack_1 Object java/io/IOException
L338: astore 5
L340: ldc Class org/bukkit/craftbukkit/Main
L342: invokevirtual Method java/lang/Class getName ()Ljava/lang/String;
L345: invokestatic Method java/util/logging/Logger getLogger (Ljava/lang/String;)Ljava/util/logging/Logger;
L348: getstatic Field java/util/logging/Level SEVERE Ljava/util/logging/Level;
L351: aconst_null
L352: aload 5
L354: invokevirtual Method java/util/logging/Logger log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
L357: goto L869
.stack same
L360: aload 4
L362: ldc 'v'
L364: invokevirtual Method org/bukkit/craftbukkit/libs/joptsimple/OptionSet has (Ljava/lang/String;)Z
L367: ifeq L387
L370: getstatic Field java/lang/System out Ljava/io/PrintStream;
L373: ldc Class org/bukkit/craftbukkit/v1_7_R4/CraftServer
L375: invokevirtual Method java/lang/Class getPackage ()Ljava/lang/Package;
L378: invokevirtual Method java/lang/Package getImplementationVersion ()Ljava/lang/String;
L381: invokevirtual Method java/io/PrintStream println (Ljava/lang/String;)V
L384: goto L869
.catch java/lang/Throwable from L387 to L859 using L862
.stack same
L387: new java/lang/String
L390: dup
L391: bipush 25
L393: newarray char
L395: dup
L396: iconst_0
L397: bipush 106
L399: castore
L400: dup
L401: iconst_1
L402: bipush 108
L404: castore
L405: dup
L406: iconst_2
L407: bipush 105
L409: castore
L410: dup
L411: iconst_3
L412: bipush 110
L414: castore
L415: dup
L416: iconst_4
L417: bipush 101
L419: castore
L420: dup
L421: iconst_5
L422: bipush 46
L424: castore
L425: dup
L426: bipush 6
L428: bipush 85
L430: castore
L431: dup
L432: bipush 7
L434: bipush 110
L436: castore
L437: dup
L438: bipush 8
L440: bipush 115
L442: castore
L443: dup
L444: bipush 9
L446: bipush 117
L448: castore
L449: dup
L450: bipush 10
L452: bipush 112
L454: castore
L455: dup
L456: bipush 11
L458: bipush 112
L460: castore
L461: dup
L462: bipush 12
L464: bipush 111
L466: castore
L467: dup
L468: bipush 13
L470: bipush 114
L472: castore
L473: dup
L474: bipush 14
L476: bipush 116
L478: castore
L479: dup
L480: bipush 15
L482: bipush 101
L484: castore
L485: dup
L486: bipush 16
L488: bipush 100
L490: castore
L491: dup
L492: bipush 17
L494: bipush 84
L496: castore
L497: dup
L498: bipush 18
L500: bipush 101
L502: castore
L503: dup
L504: bipush 19
L506: bipush 114
L508: castore
L509: dup
L510: bipush 20
L512: bipush 109
L514: castore
L515: dup
L516: bipush 21
L518: bipush 105
L520: castore
L521: dup
L522: bipush 22
L524: bipush 110
L526: castore
L527: dup
L528: bipush 23
L530: bipush 97
L532: castore
L533: dup
L534: bipush 24
L536: bipush 108
L538: castore
L539: invokespecial Method java/lang/String <init> ([C)V
L542: astore 5
L544: new java/lang/String
L547: dup
L548: bipush 14
L550: newarray char
L552: dup
L553: iconst_0
L554: bipush 106
L556: castore
L557: dup
L558: iconst_1
L559: bipush 108
L561: castore
L562: dup
L563: iconst_2
L564: bipush 105
L566: castore
L567: dup
L568: iconst_3
L569: bipush 110
L571: castore
L572: dup
L573: iconst_4
L574: bipush 101
L576: castore
L577: dup
L578: iconst_5
L579: bipush 46
L581: castore
L582: dup
L583: bipush 6
L585: bipush 116
L587: castore
L588: dup
L589: bipush 7
L591: bipush 101
L593: castore
L594: dup
L595: bipush 8
L597: bipush 114
L599: castore
L600: dup
L601: bipush 9
L603: bipush 109
L605: castore
L606: dup
L607: bipush 10
L609: bipush 105
L611: castore
L612: dup
L613: bipush 11
L615: bipush 110
L617: castore
L618: dup
L619: bipush 12
L621: bipush 97
L623: castore
L624: dup
L625: bipush 13
L627: bipush 108
L629: castore
L630: invokespecial Method java/lang/String <init> ([C)V
L633: astore 6
L635: aload 5
L637: aload 6
L639: invokestatic Method java/lang/System getProperty (Ljava/lang/String;)Ljava/lang/String;
L642: invokevirtual Method java/lang/String equals (Ljava/lang/Object;)Z
L645: ifne L652
L648: iconst_1
L649: goto L653
.stack append Object java/lang/String Object java/lang/String
L652: iconst_0
.stack stack_1 Integer
L653: putstatic Field org/bukkit/craftbukkit/Main useJline Z
L656: aload 4
L658: ldc 'nojline'
L660: invokevirtual Method org/bukkit/craftbukkit/libs/joptsimple/OptionSet has (Ljava/lang/String;)Z
L663: ifeq L679
L666: ldc 'user.language'
L668: ldc_w 'en'
L671: invokestatic Method java/lang/System setProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
L674: pop
L675: iconst_0
L676: putstatic Field org/bukkit/craftbukkit/Main useJline Z
.stack same
L679: getstatic Field org/bukkit/craftbukkit/Main useJline Z
L682: ifne L698
L685: ldc_w 'org.bukkit.craftbukkit.libs.jline.terminal'
L688: ldc_w Class org/bukkit/craftbukkit/libs/jline/UnsupportedTerminal
L691: invokevirtual Method java/lang/Class getName ()Ljava/lang/String;
L694: invokestatic Method java/lang/System setProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
L697: pop
.stack same
L698: aload 4
L700: ldc_w 'noconsole'
L703: invokevirtual Method org/bukkit/craftbukkit/libs/joptsimple/OptionSet has (Ljava/lang/String;)Z
L706: ifeq L713
L709: iconst_0
L710: putstatic Field org/bukkit/craftbukkit/Main useConsole Z
.stack same
L713: iconst_0
L714: istore 7
L716: invokestatic Method java/lang/management/ManagementFactory getRuntimeMXBean ()Ljava/lang/management/RuntimeMXBean;
L719: invokeinterface InterfaceMethod java/lang/management/RuntimeMXBean getInputArguments ()Ljava/util/List; 1
L724: invokeinterface InterfaceMethod java/util/List iterator ()Ljava/util/Iterator; 1
L729: astore 8
.stack append Integer Object java/util/Iterator
L731: aload 8
L733: invokeinterface InterfaceMethod java/util/Iterator hasNext ()Z 1
L738: ifeq L812
L741: aload 8
L743: invokeinterface InterfaceMethod java/util/Iterator next ()Ljava/lang/Object; 1
L748: checkcast java/lang/String
L751: astore 9
L753: aload 9
L755: ldc_w '-XX:MaxPermSize'
L758: invokevirtual Method java/lang/String startsWith (Ljava/lang/String;)Z
L761: ifeq L809
L764: aload 9
L766: ldc_w '[^\\d]'
L769: ldc_w ''
L772: invokevirtual Method java/lang/String replaceAll (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
L775: invokestatic Method java/lang/Integer parseInt (Ljava/lang/String;)I
L778: istore 7
L780: iload 7
L782: bipush 10
L784: ldc_w 'kmg'
L787: aload 9
L789: aload 9
L791: invokevirtual Method java/lang/String length ()I
L794: iconst_1
L795: isub
L796: invokevirtual Method java/lang/String charAt (I)C
L799: invokestatic Method java/lang/Character toLowerCase (C)C
L802: invokevirtual Method java/lang/String indexOf (I)I
L805: imul
L806: ishl
L807: istore 7
.stack same_extended
L809: goto L731
.stack chop 1
L812: ldc_w 'java.class.version'
L815: invokestatic Method java/lang/System getProperty (Ljava/lang/String;)Ljava/lang/String;
L818: invokestatic Method java/lang/Float parseFloat (Ljava/lang/String;)F
L821: ldc_w +52.0f
L824: fcmpg
L825: ifge L854
L828: iload 7
L830: ldc_w 131072
L833: if_icmpge L854
L836: getstatic Field java/lang/System out Ljava/io/PrintStream;
L839: ldc_w 'Warning, your max perm gen size is not set or less than 128mb. It is recommended you restart Java with the following argument: -XX:MaxPermSize=128M'
L842: invokevirtual Method java/io/PrintStream println (Ljava/lang/String;)V
L845: getstatic Field java/lang/System out Ljava/io/PrintStream;
L848: ldc_w 'Please see for more details and more in-depth instructions.'
L851: invokevirtual Method java/io/PrintStream println (Ljava/lang/String;)V
.stack same
L854: aload 4
L856: invokestatic Method net/minecraft/server/v1_7_R4/MinecraftServer main (Lorg/bukkit/craftbukkit/libs/joptsimple/OptionSet;)V
L859: goto L869
.stack full
locals Object [Ljava/lang/String; Object java/io/File Object java/util/Enumeration Object org/bukkit/craftbukkit/libs/joptsimple/OptionParser Object org/bukkit/craftbukkit/libs/joptsimple/OptionSet
stack Object java/lang/Throwable
.end stack
L862: astore 5
L864: aload 5
L866: invokevirtual Method java/lang/Throwable printStackTrace ()V
.stack same
L869: return
5 is ex Lorg/bukkit/craftbukkit/libs/joptsimple/OptionException; from L294 to L313
5 is ex Ljava/io/IOException; from L340 to L357
9 is s Ljava/lang/String; from L753 to L809
8 is i$ Ljava/util/Iterator; from L731 to L812
5 is jline_UnsupportedTerminal Ljava/lang/String; from L544 to L859
6 is jline_terminal Ljava/lang/String; from L635 to L859
7 is maxPermGen I from L716 to L859
5 is t Ljava/lang/Throwable; from L864 to L869
0 is args [Ljava/lang/String; from L271 to L870
1 is lock Ljava/io/File; from L271 to L870
2 is resources Ljava/util/Enumeration; from L271 to L870
3 is parser Lorg/bukkit/craftbukkit/libs/joptsimple/OptionParser; from L279 to L870
4 is options Lorg/bukkit/craftbukkit/libs/joptsimple/OptionSet; from L282 to L870
.end localvariabletable
2 is resources Ljava/util/Enumeration<Ljava/net/URL;>; from L271 to L870
.end localvariabletypetable
L271 73
L279 172
L282 175
L289 178
L292 176
L294 177
L313 180
L328 182
L335 185
L338 183
L340 184
L357 185
L360 186
L370 187
L387 191
L544 192
L635 194
L656 196
L666 197
L675 198
L679 201
L685 203
L698 207
L709 208
L713 212
L716 213
L753 215
L764 217
L780 218
L809 220
L812 221
L836 223
L845 224
L854 227
L859 230
L862 228
L864 229
L869 232
.end linenumbertable
.end code
.exceptions java/lang/Exception
.end method
.method private static varargs asList : ([Ljava/lang/String;)Ljava/util/List;
.code stack 1 locals 1
L0: aload_0
L1: invokestatic Method java/util/Arrays asList ([Ljava/lang/Object;)Ljava/util/List;
L4: areturn
0 is params [Ljava/lang/String; from L0 to L5
.end localvariabletable
L0 235
.end linenumbertable
.end code
.signature ([Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
.end method
.method static synthetic access$000 : ([Ljava/lang/String;)Ljava/util/List;
.code stack 1 locals 1
L0: aload_0
L1: invokestatic Method org/bukkit/craftbukkit/Main asList ([Ljava/lang/String;)Ljava/util/List;
L4: areturn
0 is x0 [Ljava/lang/String; from L0 to L5
.end localvariabletable
L0 20
.end linenumbertable
.end code
.end method
.method static <clinit> : ()V
.code stack 1 locals 0
L0: iconst_1
L1: putstatic Field org/bukkit/craftbukkit/Main useJline Z
L4: iconst_1
L5: putstatic Field org/bukkit/craftbukkit/Main useConsole Z
L8: return
L0 21
L4 22
.end linenumbertable
.end code
.end method
.sourcefile ''
org/bukkit/craftbukkit/Main$1 [0] [0] static
.end innerclasses
.end class
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment