Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

I've been trying to setup the recent Forge Modloader (4.1.1) so I can work on a mod for MC 1.3.2 (in MCP 7.2), but I've been running into an issue with my install.  When I run the install.sh, it crashes in the execution of MCPMerger.

 

Various other details: I did this with appropriate, vanilla clients and server; and loaded everything into the appropriate folder.  I am running this on a Mac OS X (10.6.8 ).  Any help would be appreciated.

 

Full Logs are posted here:

 

 

> Running MCPMerger

Server -skip : aec  7 (<init> 8) 0 []

Client -skip : aec <init> 7 (<init> 8) 0 []

Server -skip : aec <init> 7 (<init> 8) 0 []

Client *add* : aec <init> 7 (<init> 8) 1 [<init>]

Client -skip : aec a 6 (<init> 8) 1 [<init>]

Server *add* : aec a 6 (<init> 8) 2 [<init>]

Server -skip : aec a 6 (d 7) 2 [<init>]

Client *add* : aec a 6 (d 7) 3 [a]

Client *add* : aec a 5 (d 7) 4 [a]

Client *add* : aec a 4 (d 7) 5 [a]

Client -skip : aec d 3 (d 7) 5 [a]

Server -skip : aec d 3 (d 7) 5 [a]

Client *add* : aec d 3 (d 7) 6 [d]

Client -skip : aec a 2 (d 7) 6 [d]

Server *add* : aec a 2 (d 7) 7 [d]

Server -skip : aec a 2 (c 6) 7 [d]

Client *add* : aec a 2 (c 6) 8 [a]

Client -skip : aec b 1 (c 6) 8 [a]

Server -skip : aec b 1 (c 6) 8 [a]

Client *add* : aec b 1 (c 6) 9

Server *add* : aec b 0 (c 6) 10

Server *add* : aec b 0 (e 5) 11

Server *add* : aec b 0 (a 4) 12

Server *add* : aec b 0 (a 3) 13

Server *add* : aec b 0 (b 2) 14

Server *add* : aec b 0 (a 1) 15

MethodWrapper{name=<init>, desc=()V, server=false, client=true}

MethodWrapper{name=<init>, desc=(Ljava/io/File;)V, server=true, client=false}

MethodWrapper{name=a, desc=(Lbh;)F, server=false, client=true}

MethodWrapper{name=a, desc=(Lbh;IF)Z, server=false, client=true}

MethodWrapper{name=a, desc=(Lbh;F)V, server=false, client=true}

MethodWrapper{name=d, desc=(Lwd;F)V, server=false, client=true}

MethodWrapper{name=d, desc=()V, server=true, client=false}

MethodWrapper{name=a, desc=(Lwd;)F, server=false, client=true}

MethodWrapper{name=b, desc=(Lwd;IF)Z, server=false, client=true}

MethodWrapper{name=c, desc=(Ljava/lang/String;)Laed;, server=true, client=false}

MethodWrapper{name=e, desc=(Ljava/lang/String;)V, server=true, client=false}

MethodWrapper{name=a, desc=([Ljava/io/File;)V, server=true, client=false}

MethodWrapper{name=a, desc=(Ljava/lang/String;Z)Laee;, server=true, client=false}

MethodWrapper{name=b, desc=(Ljava/lang/String;)Z, server=true, client=false}

MethodWrapper{name=a, desc=(Ljava/lang/String;Lim;)Z, server=true, client=false}

Server -skip : aeb  3 (<init> 17) 0 []

Client -skip : aeb <init> 3 (<init> 17) 0 []

Server -skip : aeb <init> 3 (<init> 17) 0 []

Client *add* : aeb <init> 3 (<init> 17) 1 [<init>]

Client -skip : aeb b 2 (<init> 17) 1 [<init>]

Server *add* : aeb b 2 (<init> 17) 2 [<init>]

Server -skip : aeb b 2 (h 16) 2 [<init>]

Client *add* : aeb b 2 (h 16) 3

Client -skip : aeb a 1 (h 16) 3

Server -skip : aeb a 1 (h 16) 3

Client *add* : aeb a 1 (h 16) 4 [a]

Server *add* : aeb a 0 (h 16) 5 [a]

Server *add* : aeb a 0 (b 15) 6 [a]

Server *add* : aeb a 0 (c 14) 7 [a]

Server *add* : aeb a 0 (a 13) 8 [a]

Server *add* : aeb a 0 (d 12) 9 [a]

Server *add* : aeb a 0 (a 11) 10 [a]

Server *add* : aeb a 0 (a 10) 11 [a]

Server *add* : aeb a 0 (a 9) 12 [a]

Server *add* : aeb a 0 (b 8) 13 [a]

Server *add* : aeb a 0 (a 7) 14 [a]

Server *add* : aeb a 0 (e 6) 15 [a]

Server *add* : aeb a 0 (f 5) 16 [a]

Server *add* : aeb a 0 (a 4) 17 [a]

Server *add* : aeb a 0 (b 3) 18 [a]

Server *add* : aeb a 0 (g 2) 19 [a]

Server *add* : aeb a 0 (<clinit> 1) 20 [a]

MethodWrapper{name=<init>, desc=(Lsz;Lgl;Lgl;III)V, server=false, client=true}

MethodWrapper{name=<init>, desc=(Ljava/io/File;Ljava/lang/String;Z)V, server=true, client=false}

MethodWrapper{name=b, desc=(Lul;)Z, server=false, client=true}

MethodWrapper{name=a, desc=(Lul;)V, server=false, client=true}

MethodWrapper{name=h, desc=()V, server=true, client=false}

MethodWrapper{name=b, desc=()Ljava/io/File;, server=true, client=false}

MethodWrapper{name=c, desc=()V, server=true, client=false}

MethodWrapper{name=a, desc=(Lxc;)Lwq;, server=true, client=false}

MethodWrapper{name=d, desc=()Laed;, server=true, client=false}

MethodWrapper{name=a, desc=(Laed;Lan;)V, server=true, client=false}

MethodWrapper{name=a, desc=(Laed;)V, server=true, client=false}

MethodWrapper{name=a, desc=(Log;)V, server=true, client=false}

MethodWrapper{name=b, desc=(Log;)V, server=true, client=false}

MethodWrapper{name=a, desc=(Ljava/lang/String;)Lan;, server=true, client=false}

MethodWrapper{name=e, desc=()Laer;, server=true, client=false}

MethodWrapper{name=f, desc=()[Ljava/lang/String;, server=true, client=false}

MethodWrapper{name=a, desc=()V, server=true, client=false}

MethodWrapper{name=b, desc=(Ljava/lang/String;)Ljava/io/File;, server=true, client=false}

MethodWrapper{name=g, desc=()Ljava/lang/String;, server=true, client=false}

MethodWrapper{name=<clinit>, desc=()V, server=true, client=false}

Server -skip : aea  12 (<init> 32) 0 []

Client -skip : aea <init> 12 (<init> 32) 0 []

Server -skip : aea <init> 12 (<init> 32) 0 []

Client *add* : aea <init> 12 (<init> 32) 1 [<init>]

Client *add* : aea <init> 11 (<init> 32) 2 [<init>]

Client -skip : aea b 10 (<init> 32) 2 [<init>]

Server *add* : aea b 10 (<init> 32) 3 [<init>]

Server -skip : aea b 10 (a 31) 3 [<init>]

Client *add* : aea b 10 (a 31) 4

Client -skip : aea c 9 (a 31) 4

Server -skip : aea c 9 (a 31) 4

Client *add* : aea c 9 (a 31) 5 [c]

Client -skip : aea b 8 (a 31) 5 [c]

Server -skip : aea b 8 (a 31) 5 [c]

Client *add* : aea b 8 (a 31) 6

Client -skip : aea a 7 (a 31) 6

Server -skip : aea a 7 (a 31) 6

Client *add* : aea a 7 (a 31) 7 [a]

Client -skip : aea l 6 (a 31) 7 [a]

Server *add* : aea l 6 (a 31) 8 [a]

Server *add* : aea l 6 (a 30) 9 [a]

Server -skip : aea l 6 (b 29) 9 [a]

Client *add* : aea l 6 (b 29) 10 [l]

Client -skip : aea m 5 (b 29) 10 [l]

Server -skip : aea m 5 (b 29) 10 [l]

Client *add* : aea m 5 (b 29) 11 [m]

Client -skip : aea n 4 (b 29) 11 [m]

Server -skip : aea n 4 (b 29) 11 [m]

Client *add* : aea n 4 (b 29) 12 [n]

Client -skip : aea a 3 (b 29) 12 [n]

Server -skip : aea a 3 (b 29) 12 [n]

Client *add* : aea a 3 (b 29) 13 [a]

Client -skip : aea o 2 (b 29) 13 [a]

Server -skip : aea o 2 (b 29) 13 [a]

Client *add* : aea o 2 (b 29) 14 [o]

Client -skip : aea a 1 (b 29) 14 [o]

Server -skip : aea a 1 (b 29) 14 [o]

Client *add* : aea a 1 (b 29) 15 [a]

Server *add* : aea a 0 (b 29) 16 [a]

Server *add* : aea a 0 (c 28) 17 [a]

Server *add* : aea a 0 (d 27) 18 [a]

Server *add* : aea a 0 (e 26) 19 [a]

Server *add* : aea a 0 (f 25) 20 [a]

Server *add* : aea a 0 (h 24) 21 [a]

Server *add* : aea a 0 (i 23) 22 [a]

Server *add* : aea a 0 (j 22) 23 [a]

Server *add* : aea a 0 (k 21) 24 [a]

Server *add* : aea a 0 (m 20) 25 [a]

Server *add* : aea a 0 (n 19) 26 [a]

Server *add* : aea a 0 (o 18) 27 [a]

Server *add* : aea a 0 (p 17) 28 [a]

Server *add* : aea a 0 (q 16) 29 [a]

Server *add* : aea a 0 (b 15) 30 [a]

Server *add* : aea a 0 (a 14) 31 [a]

Server *add* : aea a 0 (a 13) 32 [a]

Server *add* : aea a 0 (e 12) 33 [a]

Server *add* : aea a 0 (a 11) 34 [a]

Server *add* : aea a 0 (f 10) 35 [a]

Server *add* : aea a 0 (b 9) 36 [a]

Server *add* : aea a 0 (g 8) 37 [a]

Server *add* : aea a 0 (r 7) 38 [a]

Server *add* : aea a 0 (s 6) 39 [a]

Server *add* : aea a 0 (t 5) 40 [a]

Server *add* : aea a 0 (a 4) 41 [a]

Server *add* : aea a 0 (u 3) 42 [a]

Server *add* : aea a 0 (v 2) 43 [a]

Server *add* : aea a 0 (d 1) 44 [a]

MethodWrapper{name=<init>, desc=(IIFZ)V, server=false, client=true}

MethodWrapper{name=<init>, desc=(IIZ)V, server=false, client=true}

MethodWrapper{name=<init>, desc=(Laed;)V, server=true, client=false}

MethodWrapper{name=b, desc=(Lul;Lrv;Lsz;)Lul;, server=false, client=true}

MethodWrapper{name=c, desc=(Lul;)I, server=false, client=true}

MethodWrapper{name=b, desc=(Lul;)Lun;, server=false, client=true}

MethodWrapper{name=a, desc=(Lul;Lrv;Lsz;)Lul;, server=false, client=true}

MethodWrapper{name=a, desc=()Lan;, server=true, client=false}

MethodWrapper{name=a, desc=(Lan;)Lan;, server=true, client=false}

MethodWrapper{name=l, desc=()I, server=false, client=true}

MethodWrapper{name=m, desc=()F, server=false, client=true}

MethodWrapper{name=n, desc=()Z, server=false, client=true}

MethodWrapper{name=a, desc=(IIIF)Laea;, server=false, client=true}

MethodWrapper{name=o, desc=()Laea;, server=false, client=true}

MethodWrapper{name=a, desc=(Ljava/lang/String;)Lsv;, server=false, client=true}

MethodWrapper{name=b, desc=()J, server=true, client=false}

MethodWrapper{name=c, desc=()I, server=true, client=false}

MethodWrapper{name=d, desc=()I, server=true, client=false}

MethodWrapper{name=e, desc=()I, server=true, client=false}

MethodWrapper{name=f, desc=()J, server=true, client=false}

MethodWrapper{name=h, desc=()Lan;, server=true, client=false}

MethodWrapper{name=i, desc=()I, server=true, client=false}

MethodWrapper{name=j, desc=()Ljava/lang/String;, server=true, client=false}

MethodWrapper{name=k, desc=()I, server=true, client=false}

MethodWrapper{name=m, desc=()Z, server=true, client=false}

MethodWrapper{name=n, desc=()I, server=true, client=false}

MethodWrapper{name=o, desc=()Z, server=true, client=false}

MethodWrapper{name=p, desc=()I, server=true, client=false}

MethodWrapper{name=q, desc=()Luy;, server=true, client=false}

MethodWrapper{name=b, desc=(J)V, server=true, client=false}

MethodWrapper{name=a, desc=(III)V, server=true, client=false}

MethodWrapper{name=a, desc=(Ljava/lang/String;)V, server=true, client=false}

MethodWrapper{name=e, desc=(I)V, server=true, client=false}

MethodWrapper{name=a, desc=(Z)V, server=true, client=false}

MethodWrapper{name=f, desc=(I)V, server=true, client=false}

MethodWrapper{name=b, desc=(Z)V, server=true, client=false}

MethodWrapper{name=g, desc=(I)V, server=true, client=false}

MethodWrapper{name=r, desc=()Z, server=true, client=false}

MethodWrapper{name=s, desc=()Z, server=true, client=false}

MethodWrapper{name=t, desc=()Lva;, server=true, client=false}

MethodWrapper{name=a, desc=(Lva;)V, server=true, client=false}

MethodWrapper{name=u, desc=()Z, server=true, client=false}

MethodWrapper{name=v, desc=()Z, server=true, client=false}

MethodWrapper{name=d, desc=(Z)V, server=true, client=false}

Server -skip : adz  4 (<init> 2) 0 []

Client -skip : adz <init> 4 (<init> 2) 0 []

Server -skip : adz <init> 4 (<init> 2) 0 []

Client *add* : adz <init> 4 (<init> 2) 1 [<init>]

Client -skip : adz a 3 (<init> 2) 1 [<init>]

Server *add* : adz a 3 (<init> 2) 2 [<init>]

Server -skip : adz a 3 (accept 1) 2 [<init>]

Client *add* : adz a 3 (accept 1) 3 [a]

Client *add* : adz a 2 (accept 1) 4 [a]

Client *add* : adz a 1 (accept 1) 5 [a]

Server *add* : adz a 0 (accept 1) 6 [a]

MethodWrapper{name=<init>, desc=(ILjava/util/Random;Lmp;I)V, server=false, client=true}

MethodWrapper{name=<init>, desc=(Lady;)V, server=true, client=false}

MethodWrapper{name=a, desc=(Lfj;Ljava/util/List;Ljava/util/Random;)V, server=false, client=true}

MethodWrapper{name=a, desc=(Ljava/util/List;Ljava/util/Random;IIIII)Ladz;, server=false, client=true}

MethodWrapper{name=a, desc=(Lrv;Ljava/util/Random;Lmp;)Z, server=false, client=true}

MethodWrapper{name=accept, desc=(Ljava/io/File;Ljava/lang/String;)Z, server=true, client=false}

Server -skip : ady  2 (<init> 10) 0 []

Client -skip : ady <init> 2 (<init> 10) 0 []

Server -skip : ady <init> 2 (<init> 10) 0 []

Client *add* : ady <init> 2 (<init> 10) 1 [<init>]

Client -skip : ady toString 1 (<init> 10) 1 [<init>]

Server *add* : ady toString 1 (<init> 10) 2 [<init>]

Server -skip : ady toString 1 (c 9) 2 [<init>]

Client *add* : ady toString 1 (c 9) 3 [toString]

Server *add* : ady toString 0 (c 9) 4 [toString]

Server *add* : ady toString 0 (d 8) 5 [toString]

Server *add* : ady toString 0 (a 7) 6 [toString]

Server *add* : ady toString 0 (b 6) 7 [toString]

Server *add* : ady toString 0 (a 5) 8 [toString]

Server *add* : ady toString 0 (f 4) 9 [toString]

Server *add* : ady toString 0 (a 3) 10 [toString]

Server *add* : ady toString 0 (a 2) 11 [toString]

Server *add* : ady toString 0 (a 1) 12 [toString]

MethodWrapper{name=<init>, desc=(Ljava/lang/String;)V, server=false, client=true}

MethodWrapper{name=<init>, desc=(Ljava/io/File;)V, server=true, client=false}

MethodWrapper{name=toString, desc=()Ljava/lang/String;, server=false, client=true}

MethodWrapper{name=c, desc=()I, server=true, client=false}

MethodWrapper{name=d, desc=()V, server=true, client=false}

MethodWrapper{name=a, desc=(Ljava/lang/String;Z)Laee;, server=true, client=false}

MethodWrapper{name=b, desc=(Ljava/lang/String;)Z, server=true, client=false}

MethodWrapper{name=a, desc=(Ljava/lang/String;Lim;)Z, server=true, client=false}

MethodWrapper{name=f, desc=(Ljava/lang/String;)V, server=true, client=false}

MethodWrapper{name=a, desc=(Ljava/io/File;Ljava/lang/Iterable;Lvp;IILim;)V, server=true, client=false}

MethodWrapper{name=a, desc=(Ljava/io/File;Ljava/io/File;Lvp;IILim;)V, server=true, client=false}

MethodWrapper{name=a, desc=(Ljava/io/File;Ljava/util/Collection;)V, server=true, client=false}

Server -skip : adx  11 (<init> 4) 0 []

Client -skip : adx <init> 11 (<init> 4) 0 []

Server -skip : adx <init> 11 (<init> 4) 0 []

Client *add* : adx <init> 11 (<init> 4) 1 [<init>]

Client -skip : adx a 10 (<init> 4) 1 [<init>]

Server *add* : adx a 10 (<init> 4) 2 [<init>]

Server -skip : adx a 10 (a 3) 2 [<init>]

Client *add* : adx a 10 (a 3) 3 [a]

Client *add* : adx a 9 (a 3) 4 [a]

Client *add* : adx a 8 (a 3) 5 [a]

Client *add* : adx a 7 (a 3) 6 [a]

Client *add* : adx a 6 (a 3) 7 [a]

Client *add* : adx a 5 (a 3) 8 [a]

Client -skip : adx b 4 (a 3) 8 [a]

Server *add* : adx b 4 (a 3) 9 [a]

Server *add* : adx b 4 (a 2) 10 [a]

Server *add* : adx b 4 (a 1) 11 [a]

Client *add* : adx b 4 (a 0) 12

Client *add* : adx b 3 (a 0) 13

Client *add* : adx a 2 (a 0) 14

Client *add* : adx <clinit> 1 (a 0) 15 [a]

MethodWrapper{name=<init>, desc=(IZ)V, server=false, client=true}

MethodWrapper{name=<init>, desc=(Ljava/io/File;Ljava/lang/String;Z)V, server=true, client=false}

MethodWrapper{name=a, desc=(II)I, server=false, client=true}

MethodWrapper{name=a, desc=(I)I, server=false, client=true}

MethodWrapper{name=a, desc=()Z, server=false, client=true}

MethodWrapper{name=a, desc=(Lrv;III)V, server=false, client=true}

MethodWrapper{name=a, desc=(ILjava/util/Random;)I, server=false, client=true}

MethodWrapper{name=a, desc=(Ljava/util/Random;)I, server=false, client=true}

MethodWrapper{name=a, desc=(Lxc;)Lwq;, server=true, client=false}

MethodWrapper{name=a, desc=(Laed;Lan;)V, server=true, client=false}

MethodWrapper{name=a, desc=()V, server=true, client=false}

MethodWrapper{name=b, desc=(I)I, server=false, client=true}

MethodWrapper{name=b, desc=()Z, server=false, client=true}

MethodWrapper{name=a, desc=(Ladg;IIII)Z, server=false, client=true}

MethodWrapper{name=<clinit>, desc=()V, server=false, client=true}

Server -skip : adw  6 (<init> 6) 0 []

Client -skip : adw <init> 6 (<init> 6) 0 []

Server -skip : adw <init> 6 (<init> 6) 0 []

Client *add* : adw <init> 6 (<init> 6) 1 [<init>]

Client *add* : adw <init> 5 (<init> 6) 2 [<init>]

Client -skip : adw a 4 (<init> 6) 2 [<init>]

eq: MethodWrapper{name=<init>, desc=(Ljava/lang/String;)V, server=true, client=true} MethodWrapper{name=<init>, desc=(Ljava/lang/String;)V, server=true, client=true}

Server *add* : adw a 4 (<init> 6) 2 [<init>]

Server -skip : adw a 4 (a 5) 2 [<init>]

Client *add* : adw a 4 (a 5) 3 [a]

Client *add* : adw a 3 (a 5) 4 [a]

Client *add* : adw a 2 (a 5) 5 [a]

Client *add* : adw a 1 (a 5) 6 [a]

Server *add* : adw a 0 (a 5) 7 [a]

Server *add* : adw a 0 (b 4) 8 [a]

Server *add* : adw a 0 (a 3) 9 [a]

Server *add* : adw a 0 (a 2) 10 [a]

Server *add* : adw a 0 (b 1) 11 [a]

MethodWrapper{name=<init>, desc=()V, server=false, client=true}

MethodWrapper{name=<init>, desc=(Ljava/lang/String;)V, server=true, client=true}

MethodWrapper{name=a, desc=(Ljava/io/DataInputStream;)V, server=false, client=true}

MethodWrapper{name=a, desc=(Ljava/io/DataOutputStream;)V, server=false, client=true}

MethodWrapper{name=a, desc=(Lkx;)V, server=false, client=true}

MethodWrapper{name=a, desc=()I, server=false, client=true}

MethodWrapper{name=a, desc=(Lan;)V, server=true, client=false}

MethodWrapper{name=b, desc=(Lan;)V, server=true, client=false}

MethodWrapper{name=a, desc=()V, server=true, client=false}

MethodWrapper{name=a, desc=(Z)V, server=true, client=false}

MethodWrapper{name=b, desc=()Z, server=true, client=false}

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 4, Size: 3

at java.util.ArrayList.add(ArrayList.java:367)

at cpw.mods.fml.common.asm.transformers.MCPMerger.processFields(MCPMerger.java:468)

at cpw.mods.fml.common.asm.transformers.MCPMerger.processClass(MCPMerger.java:384)

at cpw.mods.fml.common.asm.transformers.MCPMerger.processJar(MCPMerger.java:217)

at cpw.mods.fml.common.asm.transformers.MCPMerger.main(MCPMerger.java:107)

Decompile Exception: 1

[\spoiler]

Seems to me like you don't have a clean jar.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

  • Author

I had checked that.  To double check, I even made my game vanilla again and recopied all the data.  For some reason, it comes up with the same errors and thinks my client has been modified.

Because your client has been modified

There is no other way around it.

 

Delete your entire minecraft/mcp folder and try again.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Lex:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 4, Size: 3

  at java.util.ArrayList.add(ArrayList.java:367)

  at cpw.mods.fml.common.asm.transformers.MCPMerger.processFields(MCPMerger.java:468)

  at cpw.mods.fml.common.asm.transformers.MCPMerger.processClass(MCPMerger.java:384)

  at cpw.mods.fml.common.asm.transformers.MCPMerger.processJar(MCPMerger.java:217)

  at cpw.mods.fml.common.asm.transformers.MCPMerger.main(MCPMerger.java:107)

Seems like a MCPMerger issue to me.

Read the EAQ before posting! OR ELSE!

 

This isn't building better software, its trying to grab a place in the commit list of a highly visible github project.

 

www.forgeessentials.com

 

Don't PM me, I don't check this account unless I have to.

Thats caused by your jar being modified, quit having a modified jar.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

  • Author

Aha - I think I figured it out.  I had a clean .jar, but I had also copied over a modded .jar.backup, which was loading into the .jar.  To prevent this from happening, I would recommend including a clause in your backup function to check the md5 sum of the .jar.backup.

You mean like these ones?

    if not md5_c == clean_c:
        print 'Warning, Modified Client jar detected'
        print 'Continuing with decompile may produce unpredictable results'
        print 'If you continue, do not come to the FML or Forge team with decompile issues.'
        answer = raw_input('If you really want to continue, enter "Yes" ')
        if answer.lower() not in ['yes', 'y']:
            print 'You have not entered "Yes", aborting the decompile process'
            sys.exit(1)
            
    if not md5_s == clean_s:
        print 'Warning, Modified Server jar detected'
        print 'Continuing with decompile may produce unpredictable results'
        print 'If you continue, do not come to the FML or Forge team with decompile issues.'
        answer = raw_input('If you really want to continue, enter "Yes" ')
        if answer.lower() not in ['yes', 'y']:
            print 'You have not entered "Yes", aborting the decompile process'
            sys.exit(1)
    

Yaya, I added them in for a reason.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Guest
This topic is now closed to further replies.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.