Ugh, I couldn't finish the v0.6 beta release tonight. I ran into a tricky issue where some of the mappings don't actually correspond to anything in the jar file. Enigma will just drop those mappings by default, but I'll spend a little time to try to save them if I can. There are about 70 method and field mappings that fall into this category. I'd hate to lose someone's work.
Ugh, I couldn't finish the v0.6 beta release tonight. I ran into a tricky issue where some of the mappings don't actually correspond to anything in the jar file. Enigma will just drop those mappings by default, but I'll spend a little time to try to save them if I can. There are about 70 method and field mappings that fall into this category. I'd hate to lose someone's work.
Yeah I saw those, but I wasn't sure what they were there for.
Hello I am new just wondering if anyone can explain how to build Minecraft? I tried hitting 'export' and then loaded the source into Eclipse but it errors. Thanks.
Hello I am new just wondering if anyone can explain how to build Minecraft? I tried hitting 'export' and then loaded the source into Eclipse but it errors. Thanks.
Enigma doesn't currently export source that actually compiles. You'll have to fix up the source by hand if you want it to compile.
The Meaning of Life, the Universe, and Everything.
Join Date:
9/1/2014
Posts:
63
Member Details
Thanks for this program, I was looking for something like this!
Also, Can you tell me what this means?
java.lang.IllegalArgumentException: Inner cast must not have a package: Entry<Ljava/lang/String;Lbuildcraft/api/filler/IFillerPattern;>
at cuchaz.enigma.mapping.ClassEntry.<init>(ClassEntry.java:37)
at cuchaz.enigma.bytecode.ClassRenamer$1.get(ClassRenamer.java:88)
at javassist.bytecode.SignatureAttribute.renameClass(SignatureAttribute.java:135)
at javassist.bytecode.LocalVariableTypeAttribute.renameEntry(LocalVariableTypeAttribute.java:57)
at javassist.bytecode.LocalVariableAttribute.renameClass(LocalVariableAttribute.java:122)
at javassist.bytecode.AttributeInfo.renameClass(AttributeInfo.java:276)
at javassist.bytecode.CodeAttribute.renameClass(CodeAttribute.java:202)
at javassist.bytecode.AttributeInfo.renameClass(AttributeInfo.java:276)
at javassist.bytecode.ClassFile.renameClass(ClassFile.java:465)
at javassist.CtClassType.replaceClassName(CtClassType.java:366)
at cuchaz.enigma.bytecode.ClassRenamer.getAllClassEntries(ClassRenamer.java:94)
at cuchaz.enigma.bytecode.ClassRenamer.moveAllClassesOutOfDefaultPackage(ClassRenamer.java:113)
at cuchaz.enigma.analysis.JarIndex.indexJar(JarIndex.java:98)
at cuchaz.enigma.Deobfuscator.<init>(Deobfuscator.java:77)
at cuchaz.enigma.gui.GuiController.openJar(GuiController.java:73)
at cuchaz.enigma.gui.Gui$16$1.run(Gui.java:546)
Thanks for this program, I was looking for something like this!
Also, Can you tell me what this means?
java.lang.IllegalArgumentException: Inner cast must not have a package: Entry<Ljava/lang/String;Lbuildcraft/api/filler/IFillerPattern;>
at cuchaz.enigma.mapping.ClassEntry.<init>(ClassEntry.java:37)
at cuchaz.enigma.bytecode.ClassRenamer$1.get(ClassRenamer.java:88)
at javassist.bytecode.SignatureAttribute.renameClass(SignatureAttribute.java:135)
at javassist.bytecode.LocalVariableTypeAttribute.renameEntry(LocalVariableTypeAttribute.java:57)
at javassist.bytecode.LocalVariableAttribute.renameClass(LocalVariableAttribute.java:122)
at javassist.bytecode.AttributeInfo.renameClass(AttributeInfo.java:276)
at javassist.bytecode.CodeAttribute.renameClass(CodeAttribute.java:202)
at javassist.bytecode.AttributeInfo.renameClass(AttributeInfo.java:276)
at javassist.bytecode.ClassFile.renameClass(ClassFile.java:465)
at javassist.CtClassType.replaceClassName(CtClassType.java:366)
at cuchaz.enigma.bytecode.ClassRenamer.getAllClassEntries(ClassRenamer.java:94)
at cuchaz.enigma.bytecode.ClassRenamer.moveAllClassesOutOfDefaultPackage(ClassRenamer.java:113)
at cuchaz.enigma.analysis.JarIndex.indexJar(JarIndex.java:98)
at cuchaz.enigma.Deobfuscator.<init>(Deobfuscator.java:77)
at cuchaz.enigma.gui.GuiController.openJar(GuiController.java:73)
at cuchaz.enigma.gui.Gui$16$1.run(Gui.java:546)
Did I do something Illegal?
Yes, you have made an illegal exception to an argument. The Java police will be coming to arrest you soon
Nah, it's a just a bug. I get it as well. IllegalArgumentException is a java exception used to report an error.
Hey Cuchaz, I have installed Gradle, made sure %java_home% was set, 'gradle -version' works, etc, but I run into an error trying to build the latest source (as of right now 853f818). I get the following:
Y:\cuchaz-enigma-853f818ee7ac>gradle
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred evaluating root project 'cuchaz-enigma-853f818ee7ac'.
> Failed to apply plugin [id 'fatjar']
> Could not find method add() for arguments [fatJarPrepareFiles, class eu.app
satori.gradle.fatjar.tasks.PrepareFiles] on task set.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
Hey Cuchaz, I have installed Gradle, made sure %java_home% was set, 'gradle -version' works, etc, but I run into an error trying to build the latest source (as of right now 853f818). I get the following:
Y:\cuchaz-enigma-853f818ee7ac>gradle
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred evaluating root project 'cuchaz-enigma-853f818ee7ac'.
> Failed to apply plugin [id 'fatjar']
> Could not find method add() for arguments [fatJarPrepareFiles, class eu.app
satori.gradle.fatjar.tasks.PrepareFiles] on task set.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
BUILD FAILED
Total time: 6.579 secs
Looks Gradle can't find the fatjar plugin. The build script should download it for you.
Looks Gradle can't find the fatjar plugin. The build script should download it for you.
It shows up under my Gradle Cache folder, I downloaded both the Jar and Pom, put it in both Lib and Plugins. It still tells me 'Failed to apply Plugin' as before.
Any chance someone could throw up 0.6? 0.5 gives me the inner class error and 0.4.2 gives me a "malformed line" on the mapping file.
Good luck with that. 0.6 beta doesn't exist yet. Also, I've changed the mappings format again since 0.5. I wouldn't use the latest commits until the mappings files have been updated. Which I'll do once v0.6 is ready.
Hey Cuchaz, I finally got Enigma built from your latest commit. Quick question, do you plan on adding a mapping for Minecraft's Server?
For anyone having problems, here is what I did to fix the errors:
Use Gradle Version 1.12
Download Cuchaz's Enigma-0.5b.jar.
Add compile "org.bitbucket.mstrobel:procyon-core:0.5.25" to your Gradle Script.
Go to your Gradle Cache (for me this is 'C:\Users\USER\.gradle\caches\modules-2\files-2.1') and open procyon-core-0.5.25.jar with 7Zip,Winrar,etc.
Open Cuchaz's Enigma-0.5b.jar and move 'strobel' from the 'com' folder into 'procyon-core-0.5.25.Jar' inside the 'com' folder.
Run Cuchaz's build.gradle script.
In Enigma's project files, under 'build\classes\main', copy the entire 'cuchaz' into a copy of 'Enigma-0.5b.jar' and it should work.
This is probably just about the worst way you could do this, but it worked for me.
Yes, we'll need server mappings eventually as well. We should be able to get most of them automatically by converting mappings from the client to the server using my fancy tool. Eventually, I'll start that process, but I'm still trying to fix bugs in Enigma.
WHY ARE THERE SO MANY BUGS?!? ;_;
EDIT: I'll also fix up the Gradle build script so that works better.
Programming consists of two phases: writing bugs and fixing bugs. You are currently in the "fixing" phase, once you have fixed all current bugs you will come up with new ideas for more bugs, implement them, and then fix those. The cycle repeats until you have a complete application. Then you move on to a new project to code more bugs.
Programming consists of two phases: writing bugs and fixing bugs. You are currently in the "fixing" phase, once you have fixed all current bugs you will come up with new ideas for more bugs, implement them, and then fix those. The cycle repeats until you have a complete application. Then you move on to a new project to code more bugs.
This is the most amazing thing I have ever read! I want to print it out, frame it, and hang it on my wall! =)
Programming consists of two phases: writing bugs and fixing bugs. You are currently in the "fixing" phase, once you have fixed all current bugs you will come up with new ideas for more bugs, implement them, and then fix those. The cycle repeats until you have a complete application. Then you move on to a new project to code more bugs.
I'm dying a little inside right now, cause this is the story of my life... =P
Least capable? What are you comparing it to? If you download the newest command line build it is quite functional, and is able to decompile all minecraft classes without getting confused with the exception of one that gets it stuck in a loop. If you are using the luyten IDE it uses an outdated version of procyon.
No longer outdated. But I'n not sure how it is an IDE... its a gui.
Yeah I saw those, but I wasn't sure what they were there for.
Enigma doesn't currently export source that actually compiles. You'll have to fix up the source by hand if you want it to compile.
Also, Can you tell me what this means?
java.lang.IllegalArgumentException: Inner cast must not have a package: Entry<Ljava/lang/String;Lbuildcraft/api/filler/IFillerPattern;>
at cuchaz.enigma.mapping.ClassEntry.<init>(ClassEntry.java:37)
at cuchaz.enigma.bytecode.ClassRenamer$1.get(ClassRenamer.java:88)
at javassist.bytecode.SignatureAttribute.renameClass(SignatureAttribute.java:135)
at javassist.bytecode.LocalVariableTypeAttribute.renameEntry(LocalVariableTypeAttribute.java:57)
at javassist.bytecode.LocalVariableAttribute.renameClass(LocalVariableAttribute.java:122)
at javassist.bytecode.AttributeInfo.renameClass(AttributeInfo.java:276)
at javassist.bytecode.CodeAttribute.renameClass(CodeAttribute.java:202)
at javassist.bytecode.AttributeInfo.renameClass(AttributeInfo.java:276)
at javassist.bytecode.ClassFile.renameClass(ClassFile.java:465)
at javassist.CtClassType.replaceClassName(CtClassType.java:366)
at cuchaz.enigma.bytecode.ClassRenamer.getAllClassEntries(ClassRenamer.java:94)
at cuchaz.enigma.bytecode.ClassRenamer.moveAllClassesOutOfDefaultPackage(ClassRenamer.java:113)
at cuchaz.enigma.analysis.JarIndex.indexJar(JarIndex.java:98)
at cuchaz.enigma.Deobfuscator.<init>(Deobfuscator.java:77)
at cuchaz.enigma.gui.GuiController.openJar(GuiController.java:73)
at cuchaz.enigma.gui.Gui$16$1.run(Gui.java:546)
Yes, you have made an illegal exception to an argument. The Java police will be coming to arrest you soon
Nah, it's a just a bug. I get it as well. IllegalArgumentException is a java exception used to report an error.
EDIT: Realized you're probably using it on a mod that uses Buildcraft API, nevermind -_-'
If errors like this cause Enigma to crash, you could just delete the offending classes from the jar - if you're impatient
Y:\cuchaz-enigma-853f818ee7ac>gradle
FAILURE: Build failed with an exception.
* Where:
Build file 'Y:\cuchaz-enigma-853f818ee7ac
\build.gradle' line: 16
* What went wrong:
A problem occurred evaluating root project 'cuchaz-enigma-853f818ee7ac'.
> Failed to apply plugin [id 'fatjar']
> Could not find method add() for arguments [fatJarPrepareFiles, class eu.app
satori.gradle.fatjar.tasks.PrepareFiles] on task set.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
BUILD FAILED
Total time: 6.579 secs
Looks Gradle can't find the fatjar plugin. The build script should download it for you.
It shows up under my Gradle Cache folder, I downloaded both the Jar and Pom, put it in both Lib and Plugins. It still tells me 'Failed to apply Plugin' as before.
Good luck with that. 0.6 beta doesn't exist yet. Also, I've changed the mappings format again since 0.5. I wouldn't use the latest commits until the mappings files have been updated. Which I'll do once v0.6 is ready.
For anyone having problems, here is what I did to fix the errors:
Use Gradle Version 1.12
Download Cuchaz's Enigma-0.5b.jar.
Add compile "org.bitbucket.mstrobel:procyon-core:0.5.25" to your Gradle Script.
Go to your Gradle Cache (for me this is 'C:\Users\USER\.gradle\caches\modules-2\files-2.1') and open procyon-core-0.5.25.jar with 7Zip,Winrar,etc.
Open Cuchaz's Enigma-0.5b.jar and move 'strobel' from the 'com' folder into 'procyon-core-0.5.25.Jar' inside the 'com' folder.
Run Cuchaz's build.gradle script.
In Enigma's project files, under 'build\classes\main', copy the entire 'cuchaz' into a copy of 'Enigma-0.5b.jar' and it should work.
This is probably just about the worst way you could do this, but it worked for me.
When are you going to continue the development of futurecraft. I really hope this mod will be release one day:)
Yes, we'll need server mappings eventually as well. We should be able to get most of them automatically by converting mappings from the client to the server using my fancy tool. Eventually, I'll start that process, but I'm still trying to fix bugs in Enigma.
WHY ARE THERE SO MANY BUGS?!? ;_;
EDIT: I'll also fix up the Gradle build script so that works better.
Programming consists of two phases: writing bugs and fixing bugs. You are currently in the "fixing" phase, once you have fixed all current bugs you will come up with new ideas for more bugs, implement them, and then fix those. The cycle repeats until you have a complete application. Then you move on to a new project to code more bugs.
This is the most amazing thing I have ever read! I want to print it out, frame it, and hang it on my wall! =)
Thanks, I'm glad you like it! I stole the idea from something I read once, but I wrote all that on the spot
I'm dying a little inside right now, cause this is the story of my life... =P
No longer outdated. But I'n not sure how it is an IDE... its a gui.
Cuchaz it looks good. Good job.
Bukkit Plugins on Github