Code Monkey home page Code Monkey logo

retromcp-java's People

Contributors

2zqa avatar cirozdp avatar counter185 avatar danygames2014 avatar flamarine avatar geolykt avatar gesundeswasser avatar jonastisell avatar lassebq avatar mckuhei avatar nutzey avatar phoenixvx avatar soldev69 avatar the-minecraft-scientist avatar thexxturboxx avatar williamistgithub avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

retromcp-java's Issues

Outdated patches

Fails in latest build of pre3, also fails in pre2 release.
Patching does not fail in pre1 release, however.

image

No idea if other versions of Minecraft fails to patch or not.

Import project into Eclipse

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.

c0.0.11a fails to decompile (RetroMCP-Java-GUI.jar, ver. 1.0)

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

Can't run ModLoader mods alongside compiled mod

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

Gradle setup fails

Issue

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''

image

Verbose Log

[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

System Info

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)

cant build

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?

Incomplete exceptor files in some versions

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` exception

$ ./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

alpha 1.0.16 Recompile finishes with errors

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?

Compiling RetroMCP

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?

Mappings for beta1.5_01 are messed up

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

change target within gui application

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?

Error when decompiling Classic 0.0.11a

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.

Decompile task fails

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:

Mappings mappings = Mappings.read(MCPPaths.get(mcp, MCPPaths.MAPPINGS), side.name, "named");

which is trying to get the MCPPaths.MAPPINGS path, which is hardcoded to be conf/mappings.tiny.
This file doesn't exist, instead, the mappings are split into 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

Decompiling r1.1 with Modloader/ModloaderMP/Audiomod fails

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

"View working directory" only works after closing application

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

No lwjgl64 in java.library.path in IntelliJ by default

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)

src or source?

There are two exactly the same directories with sources - 'src' and 'source'.

Which one gets compiled?
I am quite confused.

Error when Reobfuscating and Building Classic 0.0.11a

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

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.

Support TinyV2 Namespaced Mappings

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.

Compatibility with Forge and/or ModLoader(MP)

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?

[Feature Suggestion] VSCode support

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).

Unexpected opcode spam

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

Current Versions is empty

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

where are the textures

i cant find the textures referenced in the code on my computer at all aside from actual minecraft installations

High CPU usage for a1.2.6

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.

Advast thinks it a virus

uhh yeah idk what but it happens on 1.0RC3
screenshot:
image
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

Decompiled source uses same name for different locals

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.