mcphackers / retromcp-java Goto Github PK
View Code? Open in Web Editor NEWA rewrite of MCP to provide support for many versions of Minecraft which were never supported by original MCP
License: MIT License
A rewrite of MCP to provide support for many versions of Minecraft which were never supported by original MCP
License: MIT License
the Workspace Directory not on the latest V1 release how do i fix/get the workspace directory
I decided to upgrade from version 1.0-pre3 to 1.0. And I'm having a problem importing into Eclipse. On I opened the folder "workspace" in Eclipse and the project was imported. In 1.0 opening a folder "minecraft" does nothing. What am I doing wrong? I am sorry for my English.
Error on line 17 in minecraft\src\com\mojang\minecraft\level\DirtyChunkSorter.java
name clash: compare(com.mojang.minecraft.level.Chunk,com.mojang.minecraft.level.Chunk) in com.mojang.minecraft.level.DirtyChunkSorter overrides a method whose erasure is the same as another method, yet neither overrides the other
first method: compare(java.lang.Object,java.lang.Object) in com.mojang.minecraft.level.DirtyChunkSorter
second method: compare(T,T) in java.util.Comparator
Error on line 31 in minecraft\src\com\mojang\minecraft\level\DirtyChunkSorter.java
name clash: compare(java.lang.Object,java.lang.Object) in com.mojang.minecraft.level.DirtyChunkSorter and compare(T,T) in java.util.Comparator have the same erasure, yet neither overrides the other
Libraries used to be in $WORKSPACEDIR/libs but now they're in $WORKSPACEDIR/libs/client and libs/server respectively, this hasn't been changed in the workspace.
Everytime is try to use it it just boots up regular minecraft with no changes
So I combine ModLoader, forge, and the mod I want to edit into "minecraft.jar" in the jars folder and (after fixing decompilation errors) everything works. The issue comes in when I add HowManyItems to "jars/mods" to help test the mod.
crash.txt
When I try to run ./gradlew setup
after building in the RetroMCP-Java directory, the build fails with the message A problem occurred starting process 'command '/usr/lib/jvm/java-8-openjdk-amd64/bin/java''
[INFO] [org.gradle.process.internal.DefaultExecHandle] Starting process 'command '/usr/lib/jvm/java-8-openjdk-amd64/bin/java''. Working directory: /home/<my-user>/public-repos/RetroMCP-Java/test Command: /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -cp /home/<my-user>/public-repos/RetroMCP-Java/build/classes/java/main:/home/<my-user>/public-repos/RetroMCP-Java/build/resources/main:/home/<my-user>/.gradle/caches/modules-2/files-2.1/com.github.MCPHackers/Stitch/fdbe41ae758bf2501fc7addb0b78938c7f7da226/91a9b2b0b9ad686cc834c5f1a2a18c85a80fd62b/Stitch-fdbe41ae758bf2501fc7addb0b78938c7f7da226.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/net.fabricmc/tiny-remapper/0.8.2/2cc6565989469ec38893bfb7802b31c0d0d11ea0/tiny-remapper-0.8.2.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.3/1f2a432d1212f5c352ae607d7b61dcae20c20af5/asm-commons-9.3.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.3/9595bc05510d0bd4b610188b77333fe4851a1975/asm-util-9.3.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.3/4b071f211b37c38e0e9f5998550197c8593f6ad8/asm-analysis-9.3.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.3/78d2ecd61318b5a58cd04fb237636c0e86b77d97/asm-tree-9.3.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/net.fabricmc/mapping-io/0.3.0/f7c41de27b01e622ba85f72794012bf7447e4156/mapping-io-0.3.0.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.3/8e6300ef51c1d801a7ed62d07cd221aca3a90640/asm-9.3.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/com.github.MCPHackers/RetroFernflower/3992b4b81fe2b106f2e53dca2d7425fce72dd9f5/87b2b724fe6377fe78084540d2f00be7c03202b2/RetroFernflower-3992b4b81fe2b106f2e53dca2d7425fce72dd9f5.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.fusesource.jansi/jansi/2.4.0/321c614f85f1dea6bb08c1817c60d53b7f3552fd/jansi-2.4.0.jar:/home/<my-user>/public-repos/RetroMCP-Java/libs/mcinjector.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.json/json/20220320/6df2c050972619466f6dcef7654ef9bcc01dfd0/json-20220320.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/com.github.MCPHackers/DiffPatch/e2473fdba3/77e12bdc2a50345e938e24e3373d36e7aff8364d/DiffPatch-e2473fdba3.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/28.0-jre/54fed371b4b8a8cce1e94a9abd9620982d3aa54b/guava-28.0-jre.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/net.fabricmc/tiny-mappings-parser/0.3.0+build.17/2f10540a290e382a7cd35c16ec3900046a4e252/tiny-mappings-parser-0.3.0+build.17.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.9/122c7cee69b53ed4a7681c03d4ee4c0e2765da5/commons-lang3-3.9.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.18/1191f9f2bc0c47a8cce69193feb1ff0a8bcb37d5/commons-compress-1.18.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.tukaani/xz/1.8/c4f7d054303948eb6a4066194253886c8af07128/xz-1.8.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/5.0.4/4fdac2fbe92dfad86aa6e9301736f6b4342a3f5c/jopt-simple-5.0.4.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/com.google.guava/failureaccess/1.0.1/1dcf1de382a0bf95a3d8b0849546c88bac1292c9/failureaccess-1.0.1.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/com.google.guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/b421526c5f297295adef1c886e5246c39d4ac629/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.2/25ea2e8b0c338a877313bd4672d3fe056ea78f0d/jsr305-3.0.2.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.checkerframework/checker-qual/2.8.1/eb2e8ab75598548cc8acf9a1ca227e480e01881e/checker-qual-2.8.1.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.3.2/d1a0c5032570e0f64be6b4d9c90cdeb103129029/error_prone_annotations-2.3.2.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.3/ba035118bc8bac37d7eff77700720999acd9986d/j2objc-annotations-1.3.jar:/home/<my-user>/.gradle/caches/modules-2/files-2.1/org.codehaus.mojo/animal-sniffer-annotations/1.17/f97ce6decaea32b36101e37979f8b647f00681fb/animal-sniffer-annotations-1.17.jar org.mcphackers.mcp.main.MainCLI setup -debug
[DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: STARTING
[DEBUG] [org.gradle.process.internal.DefaultExecHandle] Waiting until process started: command '/usr/lib/jvm/java-8-openjdk-amd64/bin/java'.
[DEBUG] [org.gradle.process.internal.DefaultExecHandle] Changing state to: FAILED
[DEBUG] [org.gradle.process.internal.DefaultExecHandle] Process 'command '/usr/lib/jvm/java-8-openjdk-amd64/bin/java'' finished with exit value -1 (state: FAILED)
<my-user> = My Linux username
Java Version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)
OS
Running Ubuntu 20.04 on WSL2 (Host system is Windows 11)
Hi
so when we are trying to start our build of the modification of minecraft it says it was made with the wrong JDK version and so you need to use JDK 8
when i download JDK 8, retroMCP does not run
any fixes?
In 1.1 and a1.0.16_02, presumably other versions there are nonfatal compile errors that show up when decompiling.
a1.0.16_02 error:
Error on line 29 in minecraft/src/net/minecraft/src/NetClientHandler.java
unreported exception java.io.IOException; must be caught or declared to be thrown
This isn't neccessary to fix but is annoying to see in the logs when recompiling.
$ ./gradlew setup
> Task :compileJava FAILED
/path/to/RetroMCP-Java/src/main/java/org/mcphackers/mcp/tasks/TaskDecompile.java:80: error: reference to newFileSystem is ambiguous
MappingUtil.modifyClasses(mappingTree, FileSystems.newFileSystem(originalJar, null).getPath("/"), className -> {
^
both method newFileSystem(Path,ClassLoader) in FileSystems and method newFileSystem(Path,Map<String,?>) in FileSystems match
/path/to/RetroMCP-Java/src/main/java/org/mcphackers/mcp/tools/FileUtil.java:40: error: reference to newFileSystem is ambiguous
try(FileSystem fs = FileSystems.newFileSystem(sourceZip, null)) {
^
both method newFileSystem(Path,ClassLoader) in FileSystems and method newFileSystem(Path,Map<String,?>) in FileSystems match
/path/to/RetroMCP-Java/src/main/java/org/mcphackers/mcp/tools/FileUtil.java:52: error: reference to newFileSystem is ambiguous
try(FileSystem fs = FileSystems.newFileSystem(sourceZip, null)) {
^
both method newFileSystem(Path,ClassLoader) in FileSystems and method newFileSystem(Path,Map<String,?>) in FileSystems match
/path/to/RetroMCP-Java/src/main/java/org/mcphackers/mcp/tools/FileUtil.java:59: error: reference to newFileSystem is ambiguous
try(FileSystem fs = FileSystems.newFileSystem(sourceZip, null)) {
^
both method newFileSystem(Path,ClassLoader) in FileSystems and method newFileSystem(Path,Map<String,?>) in FileSystems match
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
4 errors
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 962ms
1 actionable task: 1 executed
because it breaks and we have our runtimes to run mc anyway.
Is the native download the last step that needs to be done?
Exception in thread "Minecraft main thread"
java.lang.NoSuchFieldError: X
at net.minecraft.client.a.e.e(Unknown Source)
at net.minecraft.client.a.e.a(Unknown Source)
at net.minecraft.client.d.run(d.java:359)
at java.lang.Thread.run(Thread.java:750)
Version: inf-20100415
Build jar: https://anonfiles.com/j0g1I9c0z4/minecraft_jar
Patches: https://anonfiles.com/P3geI0cbz5/PATCHES_ZIP
Thanks in advance.
I tried recompiling a1.0.16 after changing the version string, and it says that it completed with errors:
PATH_TO_RetroMCP\a1.0.16\minecraft\src\net\minecraft\src\NetClientHandler.java
unreported exception java.io.IOException; must be caught or declared to be thrown
and the game doesn't recompile, anyone know how to fix this?
I need some help, EVERY TIME I EXPORT I can't find anything new in the folders. Where does retromcp build?
I noticed that RMCP has been updated what seems like alot, so i decided to try and compile it. There doesnt seem to be a easy way to get the combined jar (RetroMCP-Java-All). Ive tried for a while and tried to find documentation, theres none. How do you do it?
After changing the working directory to C:\Users\<user>\RetroMCP
, the working directory reverts back to my download folder (The default working directory when I installed RetroMCP).
Basically I would like to compile my mod for Java 6 instead of 8.
Is there a way to change the used compiler?
When will support for Infdev 20100618 be added?
When I decompile, rebuild, and update the MD5 checksums, I get an unusual error when I run the client JAR from the RetroMCP UI. However, no errors occur when I run the server JAR from the UI. I've tried using both Java 8 and Java 17, but I've had no luck.
Any help on this issue would be greatly appreciated!
The beta1.5_01 mappings have an issue, the incorrect server version is used, it should be beta1.5_02 not beta1.5_01 as 01 has a nasty bug, and beta1.5_02 was just fatal bug fixes
It doesnt generate a workspace directory
The workspace that is generated from RetroMCP is broken on Linux and uses invalid paths.
can we have an option in the gui to change -target? i have javac 1.18.0 but i need it to build with java 8 else an error occurs. can an option be added to the build menu for this?
Hello. I am experiencing a persistant error with RetroMCP v1.0. Whenever I try to decompile Classic 0.0.11a, it Finishes with errors. The errors being:
"Error on line 17 in minecraft\src\com\mojang\minecraft\level\DirtyChunkSorter.java
name clash: class DirtyChunkSorter has two methods with the same erasure, yet neither overrides the other
first method: compare(com.mojang.minecraft.level.Chunk,com.mojang.minecraft.level.Chunk) in java.util.Comparator
second method: compare(java.lang.Object,java.lang.Object) in com.mojang.minecraft.level.DirtyChunkSorter
Error on line 31 in minecraft\src\com\mojang\minecraft\level\DirtyChunkSorter.java
name clash: compare(java.lang.Object,java.lang.Object) in com.mojang.minecraft.level.DirtyChunkSorter and compare(com.mojang.minecraft.level.Chunk,com.mojang.minecraft.level.Chunk) in java.util.Comparator have the same erasure, yet neither overrides the other"
I have no clue on how to fix this.
Running the Decompile
task on the latest commit fails on every game version, here's the stack trace:
(I shortened this to not make this post longer than it needs to be)
java.nio.file.NoSuchFileException: conf\mappings.tiny
...
at org.mcphackers.rdi.injector.data.Mappings.read(Mappings.java:33)
at org.mcphackers.mcp.tasks.TaskDecompile.getMappings(TaskDecompile.java:136)
at org.mcphackers.mcp.tasks.TaskDecompile.lambda$setStages$1(TaskDecompile.java:82)
at org.mcphackers.mcp.tasks.TaskStaged$Stage.doTask(TaskStaged.java:70)
...
java.lang.RuntimeException: Failed to save class
at org.mcphackers.mcp.tools.fernflower.DirectoryResultSaver.saveClassEntry(DirectoryResultSaver.java:34)
at de.fernflower.struct.ContextUnit.save(ContextUnit.java:154)
at de.fernflower.struct.StructContext.saveContext(StructContext.java:72)
at de.fernflower.main.Fernflower.decompileContext(Fernflower.java:56)
at de.fernflower.main.decompiler.BaseDecompiler.decompileContext(BaseDecompiler.java:46)
at org.mcphackers.mcp.tools.fernflower.Decompiler.decompile(Decompiler.java:41)
at org.mcphackers.mcp.tasks.TaskDecompile.lambda$setStages$2(TaskDecompile.java:107)
...
Caused by: java.nio.file.NoSuchFileException: temp\client\src\net\minecraft\src\a.java
...
at org.mcphackers.mcp.tools.fernflower.DirectoryResultSaver.saveClassEntry(DirectoryResultSaver.java:29)
... 14 more
From what I can see here, it's trying to find the mappings.tiny
file, which it can't.
The stack trace refers to this line:
MCPPaths.MAPPINGS
path, which is hardcoded to be conf/mappings.tiny
.client.tiny
and server.tiny
.
Replacing this line with
Mappings mappings = Mappings.read(MCPPaths.get(mcp, MCPPaths.CONF + "/" + side.name + ".tiny"), side.name, "named");
so that it reads the correct files, gives this stack trace instead:
java.lang.RuntimeException: Failed to save class
at org.mcphackers.mcp.tools.fernflower.DirectoryResultSaver.saveClassEntry(DirectoryResultSaver.java:34)
at de.fernflower.struct.ContextUnit.save(ContextUnit.java:154)
at de.fernflower.struct.StructContext.saveContext(StructContext.java:72)
at de.fernflower.main.Fernflower.decompileContext(Fernflower.java:56)
at de.fernflower.main.decompiler.BaseDecompiler.decompileContext(BaseDecompiler.java:46)
at org.mcphackers.mcp.tools.fernflower.Decompiler.decompile(Decompiler.java:41)
at org.mcphackers.mcp.tasks.TaskDecompile.lambda$setStages$2(TaskDecompile.java:107)
...
Caused by: java.nio.file.NoSuchFileException: temp\client\src\net\minecraft\src\a.java
...
at org.mcphackers.mcp.tools.fernflower.DirectoryResultSaver.saveClassEntry(DirectoryResultSaver.java:29)
... 14 more
Alpha 1.0.15 maps to server a0.1.2_01.jar instead of a0.1.0.jar
could you add a way to make mods and versions like b1.8 pre decompile?
it could help people who make mods
I've built my client using the UI and wanted to run it from my launcher but it didn't work.
Decompiling a r1.1 minecraft.jar Client patched with Modloader/ModloaderMP/Audiomod fails at the beginning of the process with this error:
java.lang.StringIndexOutOfBoundsException: String index out of range: 35
at java.lang.String.codePointAt(String.java:687)
at org.mcphackers.rdi.injector.remapper.Remapper.remapSignature(Remapper.java:735)
at org.mcphackers.rdi.injector.remapper.Remapper.remapSignature(Remapper.java:717)
at org.mcphackers.rdi.injector.remapper.Remapper.remapField(Remapper.java:455)
at org.mcphackers.rdi.injector.remapper.Remapper.process(Remapper.java:231)
at org.mcphackers.rdi.nio.RDInjector.lambda$applyMappings$0(RDInjector.java:94)
at org.mcphackers.rdi.nio.RDInjector.transform(RDInjector.java:80)
at org.mcphackers.mcp.tasks.TaskDecompile.applyInjector(TaskDecompile.java:189)
at org.mcphackers.mcp.tasks.TaskDecompile.lambda$setStages$1(TaskDecompile.java:72)
at org.mcphackers.mcp.tasks.TaskStaged$Stage.doTask(TaskStaged.java:76)
at org.mcphackers.mcp.tasks.TaskStaged$Stage.access$200(TaskStaged.java:60)
at org.mcphackers.mcp.tasks.TaskStaged.doTask(TaskStaged.java:36)
at org.mcphackers.mcp.tasks.Task.performTask(Task.java:65)
at org.mcphackers.mcp.MCP.lambda$performTask$0(MCP.java:115)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Patched JAR can be downloaded here: https://github.com/mojontwins/MC_Mods/raw/master/misc/minecraft.jar
It opens Thunar (though only after I close RMCP) but I also have Nautilus (GNOME's file manager) and the PCMan File Manager (LXDE's file manager) installed.
I'm using LXDE as the DE but also have the GNOME shell installed. I know that I did not get this issue before installing Thunar (but then I also was on an older version of RetroMCP).
Strangely enough, I am not experiencing this issue with other applications
Java version:
openjdk 17.0.3 2022-04-19
OpenJDK Runtime Environment JBR-17.0.3+7-463.3-jcef (build 17.0.3+7-b463.3)
OpenJDK 64-Bit Server VM JBR-17.0.3+7-463.3-jcef (build 17.0.3+7-b463.3, mixed mode)
Program log:
[Geolykt@emeric-pc-linux RetroMCP-Java]$ ./gradlew runShadow
> Task :runShadow
(java:9223): GLib-GIO-WARNING **: 20:30:36.924: /home/Geolykt/.local/share/applications/defaults.list contains a [Added Associations] group, but it is not permitted here. Only the non-desktop-specific mimeapps.list file may add or remove associations.
ThunarThumbnailer: Failed to retrieve supported types: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.4.2/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 23s
6 actionable tasks: 1 executed, 5 up-to-date
I setup a workspace on a1.0.3, decompiled, tried opening it and got this lovely error. Apparently, libraries in the default IntelliJ workspace have still not been moved over. I'll try submitting a pr if I can navigate RMCPJ's code at all now.
Exception in thread "Minecraft main thread" java.lang.UnsatisfiedLinkError: no lwjgl64 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1124)
at org.lwjgl.Sys$1.run(Sys.java:72)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
at org.lwjgl.Sys.loadLibrary(Sys.java:87)
at org.lwjgl.Sys.<clinit>(Sys.java:117)
at org.lwjgl.opengl.Display.<clinit>(Display.java:137)
at net.minecraft.src.Minecraft.startGame(Minecraft.java:96)
at net.minecraft.src.Minecraft.run(Minecraft.java:329)
at java.lang.Thread.run(Thread.java:748)
This issue is on the latest RMCP-J prerelease (1.0.0-pre3)
There are two exactly the same directories with sources - 'src' and 'source'.
Which one gets compiled?
I am quite confused.
I cannot reobfuscate or build Classic 0.0.11a, I just get errors.
Errors when Reobfuscating:
"java.lang.NullPointerException: Cannot read field "classes" because "mappings" is null
at org.mcphackers.mcp.tasks.TaskReobfuscate.reobfuscate(TaskReobfuscate.java:86)
at org.mcphackers.mcp.tasks.TaskStaged$Stage.doTask(TaskStaged.java:76)
at org.mcphackers.mcp.tasks.TaskStaged$Stage.access$200(TaskStaged.java:60)
at org.mcphackers.mcp.tasks.TaskStaged.doTask(TaskStaged.java:36)
at org.mcphackers.mcp.tasks.Task.performTask(Task.java:65)
at org.mcphackers.mcp.MCP.lambda$performTask$0(MCP.java:115)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)"
Errors when Building:
"java.lang.NullPointerException: Cannot read field "classes" because "mappings" is null
at org.mcphackers.mcp.tasks.TaskReobfuscate.reobfuscate(TaskReobfuscate.java:86)
at org.mcphackers.mcp.tasks.TaskStaged$Stage.doTask(TaskStaged.java:76)
at org.mcphackers.mcp.tasks.TaskStaged$Stage.access$200(TaskStaged.java:60)
at org.mcphackers.mcp.tasks.TaskStaged.doTask(TaskStaged.java:36)
at org.mcphackers.mcp.tasks.TaskBuild.lambda$setStages$0(TaskBuild.java:30)
at org.mcphackers.mcp.tasks.TaskStaged$Stage.doTask(TaskStaged.java:76)
at org.mcphackers.mcp.tasks.TaskStaged$Stage.access$200(TaskStaged.java:60)
at org.mcphackers.mcp.tasks.TaskStaged.doTask(TaskStaged.java:36)
at org.mcphackers.mcp.tasks.Task.performTask(Task.java:65)
at org.mcphackers.mcp.MCP.lambda$performTask$0(MCP.java:115)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)"
I have no clue how to fix this.
The working path is not consistent on Linux.
Example:
If you run it from a file browser (using double-click) the working path is set to your home directory
Which might cause data loss.
The working path should be in the directory that the jar file was ran in.
Projects like @FabricMC, @QuiltMC, @Legacy-Fabric, and @babric already provide mappings that many people are used to using for other types of mods in Tiny format, using intermediary mappings that make porting mappings to other versions a lot easier.
I believe being able to use existing mappings for decompilation from projects that already maintain them would save a lot of time and effort, compared to remapping the supported versions from these groups yet again. And it would be a great help to people who are already used to using them.
Of course, this would be optional if implemented, but still great to have.
when i setup the project it doesn't automatically download the server jar which was annoying and i didn't know until i put a b1.7.3 server jar in the jars folder
Compatibility with ML(MP) can be easily achieved by editing the client (and) server jar.
However, Forge requires some patching procedure and so I am not sure if RetroMCP-Java is directly compatible with it.
Is there any way to use Forge (and ML(MP)) with RetroMCP-Java or does this need additional changes inside RetroMCP-Java?
Right now RMCP only supports Eclipse and IntelliJ but VSCode support would also be nice for modding on low end hardware that struggles to run IntelliJ properly (due to a bug with eclipse I can't use that either).
java.lang.IllegalStateException: invalid bridge method: unexpected opcode
at org.mcphackers.rdi.injector.visitors.FixBridges.visitClass(FixBridges.java:68)
at org.mcphackers.rdi.injector.visitors.ClassVisitor.visitClass(ClassVisitor.java:43)
at org.mcphackers.rdi.injector.visitors.AddExceptions.visitClass(AddExceptions.java:23)
at org.mcphackers.rdi.injector.visitors.ClassVisitor.visit(ClassVisitor.java:28)
at org.mcphackers.rdi.injector.visitors.ClassVisitor.visit(ClassVisitor.java:23)
at org.mcphackers.rdi.injector.RDInjector.transform(RDInjector.java:106)
at org.mcphackers.mcp.tasks.TaskDecompile.lambda$setStages$3(TaskDecompile.java:127)
at org.mcphackers.mcp.tasks.TaskStaged$Stage.doTask(TaskStaged.java:70)
at org.mcphackers.mcp.tasks.TaskStaged$Stage.access$200(TaskStaged.java:54)
at org.mcphackers.mcp.tasks.TaskStaged.doTask(TaskStaged.java:35)
at org.mcphackers.mcp.tasks.Task.performTask(Task.java:58)
at org.mcphackers.mcp.MCP.lambda$performTask$0(MCP.java:84)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
this is spammed in console on decompile
Some asm has gone horribly wrong
this exception might be related:
org.json.JSONException: A JSONArray text must start with '[' at 1 [character 2 line 1]
at org.json.JSONTokener.syntaxError(JSONTokener.java:521)
at org.json.JSONArray.<init>(JSONArray.java:109)
at org.json.JSONArray.<init>(JSONArray.java:162)
at org.mcphackers.mcp.tools.Util.parseJSONArray(Util.java:195)
at org.mcphackers.mcp.tools.versions.VersionParser.getJson(VersionParser.java:156)
at org.mcphackers.mcp.tools.versions.VersionParser.<init>(VersionParser.java:31)
at org.mcphackers.mcp.tools.versions.VersionParser.<clinit>(VersionParser.java:24)
at org.mcphackers.mcp.main.MainCLI.<init>(MainCLI.java:71)
at org.mcphackers.mcp.main.MainCLI.main(MainCLI.java:59)
happens on both gui and cli jar but i prefer cli
i cant find the textures referenced in the code on my computer at all aside from actual minecraft installations
I don't know if it's just alpha 1.2.6, or my computer, but when running Alpha 1.2.6 through RetroMCP for testing, compared to a session of a1.2.6 (unmodified) running via BetaCraft, not only is RetroMCP's session have a more unstable CPU usage, but is also using about 40-50% more CPU usage than the BetaCraft session (30-low 50% CPU for BetaCraft, 60-high 90% for RetroMCP using the same settings), making for testing with 2 sessions under RetroMCP unusable due to my laptop lagging a ton.
uhh yeah idk what but it happens on 1.0RC3
screenshot:
log:
Nothing to clear!
java.io.FileNotFoundException: C:\Users\Administrator\Desktop\1.1.1x Deobfustcate B1.8.1\1.1.1x_21 1.0 CR4\conf\conf.zip (Access is denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:101)
at org.mcphackers.mcp.tools.FileUtil.downloadFile(FileUtil.java:103)
at org.mcphackers.mcp.tasks.TaskSetup.doTask(TaskSetup.java:55)
at org.mcphackers.mcp.tasks.Task.performTask(Task.java:58)
at org.mcphackers.mcp.MCP.lambda$performTask$0(MCP.java:85)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
plz fix for 1.0RC4
I found a strange case where a mod jar I tried to decompile managed to produce duplicated locals, where as the pure game jar (version b1.7.3) decompiled correctly.
The jar in question contains a lot of obfuscated Minecraft classes so I'm not comfortable with uploading it as an attachment here, and I'm not knowledgeable enough to check out java bytecode for possible problems. I have yet to try debugging RetroMCP and seeing what Fernflower (or whatever does the remapping/deobfuscation) does wrong here.
It would be appreciated if someone could chime in here and maybe tell if this is some Fernflower issue that has been fixed upstream, and if not, I could either provide the jar or debug RetroMCP to try nail down the bug.
java -jar RetroMCP.jar setup 1.2.5; java -jar RetroMCP.jar decompile
< java -jar RetroMCP.jar setup=1.2.5 decompile
or java -jar RetroMCP.jar setupDecomp 1.2.5
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.