Code Monkey home page Code Monkey logo

mcp-reborn's Introduction

MCP-Reborn Build Status

MCP-Reborn is an MCP (Mod Coder Pack) for minecraft for making modded clients for minecraft and researching its code. It is based on MCPConfig and ForgeGradle by MinecraftForge Team.

⚠️ WARNING ⚠️: You CANNOT publish any code generated by this tool.

Supported versions:

1.13->1.20.2

Important

1.17< Needs JDK 16

1.18> Needs JDK 17

How to use

  1. Import the build.gradle in Intellij.

  2. Run the Gradle "setup" task in the mcp folder in IntelliJ - you may need to select View > Tool Windows > Gradle to get this option.

    373de4ebc77d5079584370dd7fbe8745

    This will generate the decompiled source code, which you can now find in the "src" folder in the project.

  3. Modify the source code as you please.

  4. To test your modified code, go back to the Gradle tasks list (where you ran setup), and run the "runclient" task. This will compile your new, modified game and run it, to allow you to test.
    Note: You can also run the autogenerated run configuration 'Minecraft'

  5. Once you have reached a final result you are happy with, there is a bit of a process to turn it into a JAR file that can actually run from the game launcher. Go to the "build" folder in the Gradle tasks, and run the "build" task. This will generate the new executable JAR file in the "build/libs/" directory.

    a647ab0eb336062ffd80c8e053e10266
  6. With that JAR generated, open your Minecraft versions folder. On Linux, this defaults to ~/.minecraft/versions. On Windows, it's in AppData/Roaming/.minecraft/versions. Find the variant your modded version is based on (that is, if you modded 1.16.4, find the 1.16.4 folder). Duplicate that folder, and rename it. For me, I was modifying villagers so I called it "1.16.4_villager_mod".

  7. Go into that folder and delete the original Minecraft JAR file. Then, rename the JSON file to be identical to the folder name. For me, that made it "1.16.4_villager_mod.json".

  8. Using a text editor, find the first instance of "downloads": This tells Minecraft where to obtain the game JAR file. If you leave this in, Minecraft will automatically download the vanilla JAR. But we want to run your new modded JAR. So delete everything from that "downloads": through the client, server, and server_mappings headers, which finally end in /server.txt"}},. Once you remove that, this section should hold "assets": "1.16", "complianceLevel": 1, "id": "1.16.4". The last thing we need to do in this JSON file is to change that ID field to match the name of the folder and the JSON file. So in this case, we want "id":"1.16.4_villager_mod".

  9. Now, take your new JAR file from the build/libs/ directory, and copy it into this same version folder, and, for the final time, rename it to the new name we've been using - 1.16.4_villager_mod.jar.

  10. Using an archive manager (Ubuntu comes with one built in; Windows users can download 7-Zip), open the base version's JAR file (in this case, 1.16.4.jar, which you'll find in its folder), and your JAR file. You'll need to copy 4 files/folders from the base JAR into your new one.

    1. The folder "assets"
    2. The folder "data"
    3. The file "pack.png"
    4. The file "pack.mcmeta"
  11. Finally, still in that archive manager, delete the META-INF folder from your new JAR.

  12. Your files should all be configured now. In the Minecraft launcher (close and reopen it if it's already open), go to "Installations" in the upper left, and then create a new installation. Name it whatever you want. For the version, select the version you made (1.16.4_villager_mod.jar). Create it, then go back to the launcher home screen by clicking "Play" in the upper left. In the lower left, select your new custom version, and hit the big green "Play" button.

How to add Optifine

Creators:

  • Hexeption
  • kingdevnl

Special thanks to: MinecraftForge Team who made this tool possible. ❤

mcp-reborn's People

Contributors

ahmed605 avatar apie357 avatar bismurphy avatar dangeredwolf avatar devcyntrix avatar eighty88 avatar flowarg avatar funkemunky avatar hexeption avatar josephworks avatar justred23 avatar kernelfreeze avatar kingdevnl avatar marcono1234 avatar samirmokiem avatar vinc3nz 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  avatar  avatar  avatar  avatar  avatar  avatar

mcp-reborn's Issues

Duplicate Classes?

I imported some image into the src/main/java and somehow my classes just duplicated, it could've been something else but even before putting this image in the java directory, it didn't have all of these extra classes?

(I believe myself that it's probably because I didn't put them in the resources directory, and if so, I'm gonna remember to do that from now on.)

How do you make?

I know you use MCPConfig and ForgeGradle by MinecraftForge Team but how do you actually do this kind of project?

About ProGuard

What would be the best way to obfuscate this with ProGuard? I am asking because proguard has so much optimization to shrinking, obfuscation, and more. So, how would you use ProGuard with MCP-Reborn?

How to add build.gradle to Intellij Idea?

Hey. I have almost never used Intellij Idea before and am not familiar with Gradle, and in general my programming skills are extremely small. But I really want to take a look at the Minecraft source code and explore it. The main page of your repository says that you need to import build.gradle into Intellij Idea, but I don’t know how to do it, I didn’t find such a function there. I tried to add the folder I downloaded from GitHub to Intellij Idea, but my folder structure does not match the screenshot on the main page of your repository: https://prnt.sc/twkm1x
Please tell me what is wrong and how should I import the build.gradle file in Intellij Idea correctly?

Idk where you would do this so im sorry

Well basically my friend wants to make a map and needs a datapack but i read that code generated by this tool cannot be published so i just wanted to request if u could make an exception if i give all credits of the datapack to you

How to use this in eclipse?

I'm very stupid and haven't coded Minecraft related stuff since 2014 could someone teach me how to use this in eclipse?

Error when loading project to IntelliJ

The following error occurs when loading MCP to IntelliJ:

org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'mcp-reborn'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.wrapException(LifecycleProjectEvaluator.java:79)
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:73)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$400(LifecycleProjectEvaluator.java:54)
at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run(LifecycleProjectEvaluator.java:107)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:68)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:682)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:138)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:60)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:41)
at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:266)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:179)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:138)
at org.gradle.initialization.DefaultGradleLauncher.getConfiguredBuild(DefaultGradleLauncher.java:116)
at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:86)
at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:83)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:38)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:96)
at org.gradle.internal.invocation.GradleBuildController.configure(GradleBuildController.java:83)
at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:70)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.run(RunAsBuildOperationBuildActionRunner.java:47)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:43)
at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:50)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:46)
at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:74)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:46)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:32)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:62)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:34)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:59)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:46)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'mcp-reborn'.
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:92)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$2.run(DefaultScriptPluginFactory.java:204)
at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:77)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:209)
at org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationScriptPlugin.java:61)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:58)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:41)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run(LifecycleProjectEvaluator.java:105)
... 89 more
Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin [id 'net.minecraftforge.gradle.forgedev.patcher']
at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:149)
at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.java:124)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyType(DefaultObjectConfigurationAction.java:120)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:38)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:86)
at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:143)
at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:46)
at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.java:34)
at org.gradle.api.Script$apply.callCurrent(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
at build_bzfrcdugimqqlatc71sdyoglg.run(D:\Desktop\MCP-Reborn-master\MCP-Reborn-master\build.gradle:14)
at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:90)
... 103 more
Caused by: java.lang.RuntimeException: java.lang.NoSuchFieldException: modifiers
at com.amadornes.artifactural.gradle.ReflectionUtils.findField(ReflectionUtils.java:71)
at com.amadornes.artifactural.gradle.ReflectionUtils.get(ReflectionUtils.java:105)
at com.amadornes.artifactural.gradle.GradleRepositoryAdapter.add(GradleRepositoryAdapter.java:88)
at net.minecraftforge.gradle.common.util.BaseRepo$Builder.attach(BaseRepo.java:122)
at net.minecraftforge.gradle.patcher.PatcherPlugin.apply(PatcherPlugin.java:127)
at net.minecraftforge.gradle.patcher.PatcherPlugin.apply(PatcherPlugin.java:76)
at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:42)
at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:50)
at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:163)
at org.gradle.api.internal.plugins.DefaultPluginManager.access$200(DefaultPluginManager.java:46)
at org.gradle.api.internal.plugins.DefaultPluginManager$AddPluginBuildOperation.run(DefaultPluginManager.java:251)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:143)
... 116 more
Caused by: java.lang.NoSuchFieldException: modifiers
at java.base/java.lang.Class.getDeclaredField(Class.java:2417)
at com.amadornes.artifactural.gradle.ReflectionUtils.findField(ReflectionUtils.java:67)
... 132 more

Sound not working

Hi I decompiled 1.16.1 but the sound won't work when I start it from IntelliJ in debug mode. Any ideas?

How to make a zoom function + compile/obfuscate?

I'm loving MCPReborn so much, seeing Minecraft in a whole new dimension, especially with the code.

However, I'm wondering about how you can make a zoom function similar to Optifine? That's something I've wanted to add, however, I don't know how to.

And, how can I obfuscate or compile my mod when I'm finished?

Lwjgl 3

How would you do keybinds for this version?

Having issues getting this to work in the launcher

I used to be able to do this sort of stuff like 5 years ago, but since then stuff has changed. I need to be able to change the json file in the versions folder so it will actually run. I followed a tutorial for doing this, but it was dated for 1.12.2 and things have changed. I wanna know how to make the json so it works with my mod. Im confused as the jar file this generates isnt how the regular minecraft files look like. For instance, the regular files have hundreds of class files when you open it. This one does not. How is the launcher even supposed to know what to do with this?

If anyone can walk me through this, that would be awesome!

Edit: i did a thing to the json file, and now its telling me there is a JNI error or something. Im starting to think this isnt meant to be used in the launcher.

Not able to reobfuscate

The build script doesn't reobfuscate the game files. Is there any script for reobfuscation?

1.15.2 crashes when it is launched in Intellij

Whenever I run 1.15.2 in Intellij I get this message saying: GLFW error 65542: WGL: The driver does not appear to support OpenGL. Please make sure you have up-to-date drivers (see aka.ms/mcdriver for instructions). I have tried everything I could find and I still get the error. If I run build and launch it through the minecraft launcher though, it works fine. Can someone help?

Cannot run builded jar

Hello guys,

When I run the gradle command runclient, everything works fine and as intended.

However, I cannot start the jar compiled with the build command (located in build/libs).

Here's what I tried and the errors.

Running the jar using the Minecraft launcher :

java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.client.Minecraft
	at net.minecraft.client.main.Main$2.run(Main.java:122)

Running the jar directly using command-line (java -cp mcp-reborn-1.0.0.jar net.minecraft.client.main.Main) :

Exception in thread "main" java.lang.NoClassDefFoundError: it/unimi/dsi/fastutil/Hash$Strategy
        at net.minecraft.client.main.Main.main(Main.java:59)
Caused by: java.lang.ClassNotFoundException: it.unimi.dsi.fastutil.Hash$Strategy
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
        ... 1 more

Running the jar directly using the command-line with the mcp Start class (java -cp mcp-reborn-1.0.0.jar mcp.client.Start) :

Exception in thread "main" java.lang.NoClassDefFoundError: it/unimi/dsi/fastutil/Hash$Strategy
        at net.minecraft.client.main.Main.main(Main.java:59)
        at mcp.client.Start.main(Start.java:17)
Caused by: java.lang.ClassNotFoundException: it.unimi.dsi.fastutil.Hash$Strategy
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
        ... 2 more

Does anyone know how to debug this ?

Thanks in advance !

Cannot use setup due to 401 on joined-1.13.1.pom

I am attempting to use MCP 1.13.1 but whenever I attempt to run setup I end up getting an error:
Could not HEAD 'http://repo.strezz.org/artifactory/list/Strezz-Central/net/minecraft/joined/1.13.1/joined-1.13.1.pom'. Received status code 401 from server: Unauthorized

I am not sure why this is happening, but I cannot seem to fix it.

Execution failed for task ':runclient'

Console:
`> Task :compileJava NO-SOURCE

Task :processResources NO-SOURCE
Task :classes UP-TO-DATE

Task :runclient
Error: Could not find or load main class net.minecraft.client.main.Main

Task :runclient FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':runclient'.

Process 'command 'C:\Program Files\Java\jdk1.8.0_261\bin\java.exe'' finished with non-zero exit value 1`

Failures:
org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_261\bin\java.exe'' finished with non-zero exit value 1 at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:395) at org.gradle.process.internal.DefaultJavaExecAction.execute(DefaultJavaExecAction.java:37) at org.gradle.api.tasks.JavaExec.exec(JavaExec.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:46) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:786) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:753) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101) at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46) at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:273) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:258) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.lang.Thread.run(Thread.java:748)

1.15.2 - No Client Sound

No sound is playing when testing version 1.15.2.

After adding a copy of my assets folder sounds play, Perhaps add instructions onto the github page to do this?

Cannot setup MCPR

Whenever I import/open build.gradle all the files that are shown in the how to use section images are different from what I get and cannot find the setup script, if I may sound like a noob I have never used intelij before or had any success with any tools to decompile/edit minecraft.

Logging into servers

How would I be able to import my client token from my account to login to servers?

ProGuard Config File

Hello,
I've read some suggesting that proguard works for obfuscation of the output jarfile. However, I haven't been able to get it to work properly. Would anyone here be kind enough to post their configuration file for proguard? Thanks.

BlockStateFlatteningMap

theres about 100 errors with this "class" that is missing or something

example return (String)p_206304_0_.map(BlockStateFlatteningMap::updateId, (p_206305_0_) -> {

and another example...

p_209301_0_.put("minecraft:" + p_209301_1_ + "eastlowerleftfalsefalse", BlockStateFlatteningMap.makeDynamic("{Name:'minecraft:" + p_209301_1_ + "',Properties:{facing:'east',half:'lower',hinge:'left',open:'false',powered:'false'}}"));

I dont think its "Pre mcp's" fault but i just put that there

Missing server code

As I can see this tool only provides Minecraft Client code, bot not Minecraft server code.
I would like to be able to decompile Minecraft server to see how it generates structures.

If it feels incomplete please warn me.

Decompiling 1.16.1 server

Hello,
I would like to know, where I have to place the server jar for decompiling.
And do I have to execute any extra gradlew commands or is decompiling server included in gradlew setup?

Missing instructions

Opened build.gradle as project in Intellij. Workspace setup normally. There's no mcp folder, so I can't proceed to step 2 (running the setup in the mcp folder). I'm pretty sure there are some steps missing in the included instructions for using this tool.

1.16.1 wont start in the launcher

First, I know there is no 1.16.1 release yet, but if I download it straight away its set on 1.16.1. I know its most likely not supported because of that. But maybe someone can help me fix this?

Anyway so what happened is I just build the client (it has some small modifications) and I copied the data and assets folder into it, copied a json file over, renamed everything, changed the json so it won't download the vanilla jar again and changed the id in the json. But when I started it, I got this crash: crash-2020-07-13_20.14.46-client.txt

Please respond if you know how to fix this.

Problem when running MCPReborn

This is the error I get when I run MCPReborn:

java.lang.ExceptionInInitializerError
at org.lwjgl.glfw.GLFW.glfwCreateWindow(GLFW.java:1842)
at net.minecraft.client.MainWindow.(MainWindow.java:89)
at net.minecraft.client.renderer.VirtualScreen.create(VirtualScreen.java:21)
at net.minecraft.client.Minecraft.(Minecraft.java:373)
at net.minecraft.client.main.Main.main(Main.java:141)
at mcp.client.Start.main(Start.java:17)
Caused by: java.lang.IllegalStateException: GLFW windows may only be created on the main thread and that thread must be the first thread in the process. Please run the JVM with -XstartOnFirstThread. For offscreen rendering, make sure another window toolkit (e.g. AWT or JavaFX) is initialized before GLFW.
at org.lwjgl.glfw.EventLoop$OffScreen.(EventLoop.java:39)
... 6 more

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head --
Thread: Render thread
Stacktrace:
at org.lwjgl.glfw.GLFW.glfwCreateWindow(GLFW.java:1842)
at net.minecraft.client.MainWindow.(MainWindow.java:89)
at net.minecraft.client.renderer.VirtualScreen.create(VirtualScreen.java:21)
at net.minecraft.client.Minecraft.(Minecraft.java:373)

-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.main.Main.main(Main.java:141)
at mcp.client.Start.main(Start.java:17)

mcp reborn 1.15.1 crashes in the launcher

Every time I click play in the minecraft launcher for mcp reborn 1.15.1 it instantly brings be back to the launcher and says
ERROR Game Crashed An unexpected issue occurred and the game has crashed. We're sorry for the inconvenience.
I followed the steps to get everything working, import it, run setup, and then run build to export it. I put the jar into a file in versions created the json file and put the version into the launcher. In the log file it says
[20:15:58] [Client Shutdown Thread/ERROR]: Caught previously unhandled exception :
java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.client.Minecraft
at net.minecraft.client.main.Main$2.run(Main.java:121) ~[mcp-reborn-1.0.0:?]
Can someone please help!

1.15.1 RunClient Error

A fatal error has been detected by the Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000001e8e9008, pid=9804, tid=212

JRE version: Java(TM) SE Runtime Environment (8.0_51-b16) (build 1.8.0_51-b16)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.51-b03 mixed mode windows-amd64 compressed oops)
Problematic frame:
C 0x000000001e8e9008

Failed to write core dump. Minidumps are not enabled by default on client versions of Windows

An error report file with more information is saved as:
C:\Users\MCPfannkuchenYT\Desktop\MCP1.15\MCP-Reborn-1.15.1\Client\hs_err_pid9804.log

If you would like to submit a bug report, please visit:
http://bugreport.java.com/bugreport/crash.jsp
The crash happened outside the Java Virtual Machine in native code.
See problematic frame for where to report the bug.

MCP doesn't work with launcher

Hello, i just built my version of mcp and i put it in the version folder with the json
mcp.log
if i start the project with intellij run it works fine, but when i try to run the jar by the launcher it gives me this error and the client crash:
java.lang.ExceptionInInitializerError

at net.minecraft.client.resources.DownloadingPackFinder.(DownloadingPackFinder.java:62)
at net.minecraft.client.Minecraft.(Minecraft.java:367)
at net.minecraft.client.main.Main.main(Main.java:160)
Caused by: java.lang.NullPointerException
at net.minecraft.resources.VanillaPack.lambda$static$0(VanillaPack.java:44)
at net.minecraft.util.Util.make(Util.java:281)
at net.minecraft.resources.VanillaPack.(VanillaPack.java:38)
... 3 more

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.