Jump to content

Learning minecraft mod code


JayyThePotato

Recommended Posts

hello everyone, so i am VERY new to coding mods for minecraft but i am somewhere between beginner and intermediate with java, recently i decided to pick up coding for an old mod called witchery from 1.7.10 because it was my favorite mod and its the reason i played 1.7.10 exclusively until the 1.13 release. now obviously because the code is relatively old a lot of changes had to be made and i got it down to a working file however since i finished fixing all the errors i tried to run the client and it ran and opened minecraft however in the minecraft tab that opened i got an error, the screenshot is cut off but it says" has mods that were not found" i googled it to see what it was but i didnt manage to come up with anything aside from a different post on this forum with the same issue that was related to MOD_ID.  976356525_forgeforum1.png.02a3ba034695ef0f911ca226b962e474.png

the error code :-

[14:45:59] [Server-Worker-7/ERROR] [ne.mi.fm.ModLoader/LOADING]: Skipping lifecycle event SETUP, 1 errors found.
[14:45:59] [Server-Worker-7/FATAL] [ne.mi.fm.ModLoader/LOADING]: Failed to complete lifecycle event SETUP, 1 errors found
[14:45:59] [Server-Worker-7/FATAL] [ne.mi.ev.EventBus/EVENTBUS]: EventBus 0 shutting down - future events will not be posted.
java.lang.Exception: stacktrace
    at net.minecraftforge.eventbus.EventBus.shutdown(EventBus.java:278) ~[eventbus-2.2.0-service.jar:?] {}
    at net.minecraftforge.fml.client.ClientModLoader.lambda$createRunnableWithCatch$5(ClientModLoader.java:115) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.fml.client.ClientModLoader.startModLoading(ClientModLoader.java:123) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.fml.client.ClientModLoader.lambda$onreload$3(ClientModLoader.java:105) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.fml.client.ClientModLoader.lambda$createRunnableWithCatch$5(ClientModLoader.java:113) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
    at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1640) [?:1.8.0_271] {}
    at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1632) [?:1.8.0_271] {}
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) [?:1.8.0_271] {}
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067) [?:1.8.0_271] {}
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703) [?:1.8.0_271] {}
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172) [?:1.8.0_271] {}
[14:46:02] [Server-Worker-1/ERROR] [ne.mi.fm.ModLoader/LOADING]: Skipping lifecycle event ENQUEUE_IMC, 1 errors found.
[14:46:02] [Server-Worker-1/FATAL] [ne.mi.fm.ModLoader/LOADING]: Failed to complete lifecycle event ENQUEUE_IMC, 1 errors found
[14:46:02] [Server-Worker-1/FATAL] [ne.mi.ev.EventBus/EVENTBUS]: EventBus 0 shutting down - future events will not be posted.
java.lang.Exception: stacktrace
    at net.minecraftforge.eventbus.EventBus.shutdown(EventBus.java:278) ~[eventbus-2.2.0-service.jar:?] {}
    at net.minecraftforge.fml.client.ClientModLoader.lambda$createRunnableWithCatch$5(ClientModLoader.java:115) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.fml.client.ClientModLoader.finishModLoading(ClientModLoader.java:137) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.fml.client.ClientModLoader.lambda$onreload$4(ClientModLoader.java:107) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
    at java.util.concurrent.CompletableFuture.uniRun(CompletableFuture.java:719) [?:1.8.0_271] {}
    at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:701) [?:1.8.0_271] {}
    at java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:457) [?:1.8.0_271] {}
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) [?:1.8.0_271] {}
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067) [?:1.8.0_271] {}
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703) [?:1.8.0_271] {}
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172) [?:1.8.0_271] {}

 

any help would be greatly appreciated <3

Link to comment
Share on other sites

7 minutes ago, JayyThePotato said:

theres like 80 java classes in each package and i think 15 packages. i dont know how i would sort them into the github repo

You should learn to use Git, which is the encouraged method of uploading your code to GitHub.

 

Also, what do you mean by

17 hours ago, JayyThePotato said:

and i got it down to a working file however since i finished fixing all the errors

? There is a lot of changes from 1.7.10 to newer versions. If all you did was to fix the compile time errors, then the mod will not work at all. IMO it would be less work to write the mod from scratch rather than porting across such a huge version gap.

Edited by DavidM

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

Link to comment
Share on other sites

2 minutes ago, DavidM said:

You should learn to use Git, which is the encouraged method of uploading your code to GitHub.

 

Also, what do you mean by

? There is a lot of changes from 1.7.10 to newer versions. If all you did was to fix the compile time errors, then the mod will not work at all. IMO it would be less work to write the mod from scratch rather than porting across such a huge version gap.

ill learn to use it and post the full code, and what i did was fix all the errors that came up when i launched it in inteliiJ with the 1.15 gradle. 

Link to comment
Share on other sites

1 minute ago, JayyThePotato said:

ill learn to use it and post the full code, and what i did was fix all the errors that came up when i launched it in inteliiJ with the 1.15 gradle. 

In that case, I'm afraid you are far from updating the mod.

 

All the "launching of IntelliJ" is going to do is load the Gradle file, which is only used to setup the workspace (and other misc stuff such as building the mod). It won't give an error as long as you have a valid build.gradle.

 

After that, you will still have to actually update the code. I would expect a mod like Witchery to have about 80000+ lines of code, and the majority of those need to be rewritten due to the large update. I would suggest to learn more about Minecraft modding first before tackling on a large project like this.

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

Link to comment
Share on other sites

Just now, DavidM said:

In that case, I'm afraid you are far from updating the mod.

 

All the "launching of IntelliJ" is going to do is load the Gradle file, which is only used to setup the workspace (and other misc stuff such as building the mod). It won't give an error as long as you have a valid build.gradle.

 

After that, you will still have to actually update the code. I would expect a mod like Witchery to have about 80000+ lines of code, and the majority of those need to be rewritten due to the large update. I would suggest to learn more about Minecraft modding first before tackling on a large project like this.

oh damn, thank you, i thought this would be an easier entry than coding something like witchery from scratch because its such an intensive mod. i have already codded a small scale mod  and added like items and blocks and such to better understand how the minecraft code works, and i thought this would be like a half-stepping stone to further understand all the specialties that come with it. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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