Hello folks coming in for 1.21 - please note that this series was created with 1.20 in mind. While you can follow _some_ steps, others might not work 1-to-1 in 1.21, because of a lot of changes! 1.21 Courses and Tutorials are already in the works, but will take a while to complete. For the time being, I suggest with sticking with 1.20 or 1.20.1 or deepening your java knowledge to be ready for the 1.21 courses or tutorials :)
Hey, have you by chance made a video on exporting your mod into a .jar file yet? I want to share it with my friends and also test for when i release it. Thanks!
A few things to add in case some people encounter some errors: 1. Be sure to get the x64 java version, not x86. (I as a CS student should know better but still made this stupid mistake) 2. When copying the Parchment code to add to your settings.gradle and build.gradle follow all instructions on the parchment website. For example for me now I also needed to change the mappings in the minecraft{} section in the build.gradle 3. Don't just copy the versions from the Parchment website. Their examples may work for the newest versions, but you have to compare it to the table displayed on their website. For me the version would be 2023.09.03-1.20.1 for 1.20.1. The example code on the website that was copied in this tutorial is by now for 1.20.2, which results in a version mismatch error. 4. In the gradle.properties file, the mapping_version needs to be that exact same version (2023.09.03-1.20.1 for me). In this tutorial it was not apparent for me what I need to change that version to since Kaupenjoe just inserted a date and a version without really explaining it (maybe it flew over my head). I tried 2024.01.08-1.20.1 (todays date), which obviously is not a parchment version that exists or makes sense. All in all a great tutorial if you want to copy everything the day it releases, but it complicates it a little bit for people that follow this tutorial a few months later, because explanations why some things are done, for example the mapping_version, are missing.
Also, don't be afraid to use a version that is older than the version of forge you are using. I downloaded forge for 1.20.4 but parchment is only on 1.20.3. Parchment tutorial is a little confusing on this, but just use the latest stable version even if it's not the latest minecraft version.
This is honestly the most confusing step of Minecraft modding. Like if Minecraft modding is the hunger games, this is the first few minutes of sheer chaos where you run like your life depends on it, and if you're lucky, you'll make it out alive.
For anyone wondering why they are getting an error with the 'Config' file : Kaupenjoe didn't mention it in the video, but you can just delete the 'config' line which causes an error starting the client. It is located in your .java file ! And should also be marked red if it causes errors. (For me it was probably because I am using 1.20.1 with forge 47.2.1!)
Awesome tutorial my guy! I'm a CS major in college but I'm working on my first Minecraft project now, and this tutorial makes the setup process so much less of a mystery! Appreciate the help!
Dude thank you so much! I had a great idea for a mod yesterday, but I had no idea how to get started. I'm a software engineer, so I already know the rough part. I'm 100% sure this will help me a bunch. Thank you for sharing such quality content!
he makes great courses which go deeper into certain subjects which is very helpful. hes also really quick with responses here and on the course. id really check it out if you get to a point here where you need more.
I want to help new people who have different results, this is related to an error in line 41 in your mod.java file. 1. Undo the deletion of the 'com' directory to reveal the 'Config.java' file. 2. In the 'Config.java' file, locate the error on line 18, which is related to your mod's name. 3. Hover over the name, press "More actions," and then select "import class." 4. Drag the 'Config.java' file into the 'net > your name > your mod name' location. 5. If there are no errors, you can delete the 'com' directory again and continue from there
For those having the Toml problem, MAKE SURE that the mod_id in settings.gradle matches mod_id in the mod class. Make sure there are no uppercases or spaces in your mod id either. Also makes sure that the mod_group_id matches your file structure in the java folder. For example: if your file structure is like: net->MyAwesomeMcName->MyModName->MyModName. Then your mod_group_id should be net.MyAwesomeMcName.MyModName
Hey, just wanna say your tutorials are amazing and thank you for keeping up to date with everything in so much detail. It's so rare for someone to explain things this thoroughly online with this much dedication. I've been making a mod in 1.20.1 and just finished adding tree generation and my own armour by using all of your past tutorials. However if there's one thing I would like to see an updated tutorial on for 1.20, it would be how to use tags. I remember looking at your previous tag videos but the last update was in 1.18.2, from which I believe more has changed. So if you do plan on making an updated video on tags that would be greatly appreciated! Thank you once again, and I am looking forward to following the rest of your tutorials!
You do a really great job at explaining things in your tutorials, and having a new set of them to watch for every major Minecraft update is extremely helpful. Can't wait to start making mods!
@@ModdingByKaupenjoe can u help me im using vscode and when i run ./gradlew runClient is crashes with error "> Process 'command 'C:\Program Files\Java\jdk-17.0.5\bin\java.exe'' finished with non-zero exit value 1"
if anyone is having problems with the "runClient" option, just change the forge version in settings.gradle to 47.2.19. and then press the reconfigure button and run.
First video of yours that I've seen and I'm immediately subscribing. You broke this down into easily understandable segments! I can't wait to make my dream mod! Thank you.
If you get a weird error like "Caused by: java.lang.ClassFormatError: Duplicate method name "lambda$static$34" with signature "(Lnet.minecraft.world.level.block.state.BlockState;)I" in class file net/minecraft/world/level/block/Blocks" when running the client, it may be because of a mismatch in forge minecraft version (ex: 1.20.4) and parchment mapping version (ex: 1.20.2). To fix this, follow the directions at the bottom of the parchment getting started page where it says "For using Parchment for an older version on a newer MC version"
THANK YOU SO MUCH! I've been looking for what feels like ages for a minecraft modding tutorial that goes into the depth that I need! This was literally the perfect amount of information, and is getting me started with development of my mod. :D Looking forward to watching more of your mods, and seeing what I can do!
Amazing Video, this series is the only working one i found on RUclips that actually taught me something new, the other videos didn't even explain the code they were like "You can copy the code from the description to make an item".
hi! So, im using temurin 21, is there any problems? Kaupenjoe said that it needed to be jdk 17, i was wondering if a newer version would be better, or if i just needed to use 17 anyways
I made a small mod with some inside jokes i have with my friends in 1.19 fabric, now i have a lot more to add, this is going to be fun. Your tutorials are the best.
PSA with the Adoptium JDK: You want to get the 64bit version. There is also a 32bit version on there that will mess you up later because of memory heap overload. I learned this the hard way
@@i_nooby4714 Np. But also since you mentioned you can't thank me enough, it would help more people if you also make comments about any obstacles you run into on these videos. It helps people starting out that could run into similar problems.
This tutorial was really helpful ❤ I'd recommend running the client once in a while, (for people who are new to modding, like me :)) So it's easier to know when something went wrong
if you have problems with parchment not wanting to work I just had to use the recommended installer area mdk for 1.20.1 and everything seems to work now. the build was successful
If you're having trouble launching the JVM with 3GB, make sure you're using a 64-bit version of Java. 32-bit versions require all 3GB of the allocated memory to be contiguous, and since no computer has that, it will throw an error.
Honestly, I have no clue how to code, but I do want to become a game developer so I figured that the best way to start would be to mod Minecraft. This really helped. Edit: Now that I think about it, it probably wasn't the best idea to learn all this right before 1.21 drops, but if I had waited I would've never learned.
Great Tutorial! I am left with a question though. Can't say I understand the code fully so I'm not 100% sure here. Not sure if this will be addressed in later videos but I was wondering why at the beginning all those DeferredRegister methods are being deleted. I assume it's cause those functions to register stuff are being moved someplace else for readability in coming parts? Thanks in advance!
Forge basically puts all of them inside the "main" class. I personally like to put those methods and registers into their own classes. Mainly for organizing purposes. So, you're spot on :)
i got an error and cant find anything to fix it. It appeared when it tried to runClient: Execution failed for task ':runClient'. > Process 'command 'C:\Program Files\Eclipse Adoptium\jdk-17.0.8.101-hotspot\bin\java.exe'' finished with non-zero exit value 1 * 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.
I was getting a similar error. I just had to change the parchment version to match my forge version. I should say the correct version and date at the top of the parchment website
thank you man , i went from 0% knowlge in coding and java and moding to publishing my first mod .. can you make a series reveing your follower mods ? you can start with main i would love to know what i did right and did wrong . Mod mod name is Divine Artifacts [ Forge ] in curseforge there you can find the source code
KaupenJoe! When I try to run the mod, it just gives me the following: Process 'command 'C:\Users\Rusba\.gradle\jdks\eclipse_adoptium-17-amd64-windows\jdk-17.0.12+7\bin\java.exe'' finished with non-zero exit value 1 It doesn't happen with example mod. What am I doing wrong? Can I please get some help?
For anyone getting an error when renaming the package, check if there is a config setup already (which the version of NeoForge I downloaded has). If there is do the same thing as the other file and move it over before deleting com.
Great video! I had a few issues with mods.toml, but the fix was simply to comment out all of the example dependencies stuff at the bottom. Otherwise the tutorial worked really well!
If you are getting an error while doing ./gradlew Try changing your mapping_version in gradle.properties For example: for 1.20.1 its 2023.09.03-1.20.1 For 1.20.2 its 2023.12.10-1.20.2
Hey i just started to learn how to make minecraft java mods and I'll say that im going to use your tutorial to teach myself how to work on my minecraft Java mod im working on
i have a problem when i change the packet name at the top of the example mod class. whenever i rename it, it says "cannot resolve symbol Config" what do i do about that?
Thanks for the debugging tips! it said something about java_home even though i did what you said in the installer, but after i followed your tips it worked
Can you please make a tutorial that uses Eclipse? I'm getting really frustrated that there's nothing out there for Eclipse, and everybody, for some reason, decided to just drop Eclipse like a brick and use IntelliJ. :) Thank you. :)
So sorry, I will not 🙏🏻 I personally don't really like using eclipse, nor do I know too much on how exactly it works. I have been using IntelliJ now for... idk even know how long, probably good 6 years now or maybe some time longer. Change is the constant of the world, and I don't know why people seem to be switching, I just know won't use eclipse. As mentioned in the previous answer to your other comment, you can of course still try and follow the tutorials with eclipse, really the only thing different is going to be the external libraries, which I don't even know where they are on eclipse 🤷🏻♂️ Best of luck to you though 💙💙🙏🏻
I got all of this done and it seemed to be work properly, but when i went to run client at the very end it came up with "mods.toml missing metadata for modid tutorialmod" any idea what I did wrong? (edit rq, this was after starting the forge/minecraft client, so it was saying this in minecraft not in terminal or anything like that)
comment that helped me from @thomasmuller9024 "I just solved the problem. I forgot to change mod name and mod id in the main class, but did change it in the gradle properties. Maybe you should check if they are the same in main class and gradle properties."
comment that helped me from @thomasmuller9024 "I just solved the problem. I forgot to change mod name and mod id in the main class, but did change it in the gradle properties. Maybe you should check if they are the same in main class and gradle properties."
I love the idea of modding. But every time I start IntelliJ it says my SVJ finished with non zero output and no matter wich one I try I can’t get it to work. And I don’t have the one from the video. Can anyone help?
i had this error when running the client : Execution failed for task ':processResources'. > Could not copy file 'D:\forge modding\src\main esources\META-INF\mods.toml' to 'D:\forge modding\build esources\main\META-INF\mods.toml'. > Missing property (mod_id) for Groovy template expansion. Defined keys [minecraft_version, minecraft_version_range, forge_version, forge_version_range, loader_version_range, modmc, mod_name, mod_license, mod_version, mod_authors, mod_description, project]. forge modding being my project folder name
Just a quick question about the MIT license section, what exactly does the MIT license do? From my understanding, people can use my code but have to give credit, is that basically what it is?
is it okay if i leave the license as "All rights reserved" ? Edit: I had an extra line under public Example Mod() {} , something that said "config:spec" something like that, i just deleted it and proceeded with the tutorial aaaand, it actually worked lmao. Kaupenjoe, I want to say that I'm thrilled to follow this tutorial! Thank you for everything!
Ok so I asked for help about the config.java file. Couple conflicting results from people. One was to delete it and the other was to move it along. I deleted it. It left errors which I removed references to Config. I found that I had to rename the file (TutorialMod) too. That got rid of all errors and now looks like Kaupenjoe's.
Hello, I am currently on the step where you rename package net.base.tutorialmod; - once I did this; all my folders underlined in red, even after moving it. Is this normal?
I'm having a problem with the runClient. It always exits with it saying Process 'command 'C:\Program Files\Java\jdk-17\bin\java.exe'' finished with non-zero exit value 1 I searched everywhere but didn't find anything helpful. Can someone please tell me how to fix this? Thank you in advance.
I we are talking 1.20, I really suggest going for Fabric currently. Because 1.20 already introduced a lot of changes in the minor version, Forge has a different problem. That being the split of Forge-NeoForge. You will be able to transfer quite a few skills over anyway, I would say Forge and Fabric are still about 70-ish % similar in a lot of ways. So learning one, will definitely help you immensely to learn the other :) Hope that helps 😁💙💙
@@ModdingByKaupenjoe Can I pay you $100 to do an hour call? lol i just have so many questions and you're the best person online for learning modding by far
In newer forge versions (recommended one currently) there is a configuration (config) class as well, what to do with it? I'm faily certain you can't just delete it (because nothing works).
Thanks for the video my PC will be fixed hopefully early December and I was wanting to learn how to Mod there was a game I'd been making in Survival but I think modded where you can have custom stuff such as Mobs and Items, would make it even better I'll have to go watch the coding in Java tutorials first, the only coding I've ever done was basic stuff over a decade ago for Web Design with the typical C++ and Game Design with Unreal Engine 3 (think it was 3) and I remember a little bit but neither of those are Java and I'm sure I've forgotten a lot
FOR ANYONE THAT HAS PROBLEMS WITH :"... finished with non-zero exit value -1", make sure that the mapping_version in gradle.properties is the right version (the version kaupenjoe used(mapping_version=2023.06.26-1.20.1))
I'm having trouble setting up forge I believe the issue is a notification that says "Found invalid Gradle JVM configuration. Please fix JAVA_HOME environment variable" (I am on windows) I am certain I clicked the add to local hard drive on Eclipse Temurin setup though Is there some way to manually fix this?
Super late, but if you go into your IDE and go to settings > Build, Execution, Dep > Gradle, then look towards the bottom under 'Gradle: ' and make sure the Gradle JVM is on the 'project SDK' (17) rather than the 'JAVA_HOME' which is holding the download from the description it should fix it. I was getting this same error and switching to the project sdk in the settings helped me resolve it. Hope it helps
Im having a problem with running the client, i believe ive done everything the same. My Error is: Execution failed for task ':runClient'. > Process 'command '/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1 * 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.
I didn't get the zip file at 2:33 , if you could help with that it would be grately appreciated. Also, i looked into the privacy Policy of the IntelliJ IDEA thing, and it wants my IP address, email, full name, and passcode of something. That concerns me.
Using the steps I show gets me the normal zip file, so idk why that wouldn't work. As for intellij, firstly make sure to the _community_ edition, because you might have downloaded the Ultimate Edition _which is not needed!_ You should not need to log into anything for the community edition. If the general terms are not something you're comfortable with, you can use any other ide, but I am unable to help with how any particular work there, sorry 🙏🏻
just wondering about this! i'm pretty sure that now that java 21 is out we should be using 21 instead of 17 going forward right? very late to this tutorial and appreciate it a lot but just curious about that :)
If you're using 1.20.5+ then yes java 21, if not keep using java 17. If you wanna follow the full tutorials series, you will have a hard time with 1.20.2+. I _highly_ suggest following with 1.20.1 🙏🏻🙏🏻
when i launch the client i get an error: "C:\user\(my user)\desktop\forge-1.20.1-47.2.32-mdk\build esources\main has mods that were not found" if anyone knows why this happens i would really appreciate it
for some strange reason everything in the mod.java folder is coming up as errors and the "$"s in the mod.toml folder are marked as errors. everything was going smoothly until i clicked on the elephant then it just started giving errors. plz help D:
comment that helped me from @thomasmuller9024 "I just solved the problem. I forgot to change mod name and mod id in the main class, but did change it in the gradle properties. Maybe you should check if they are the same in main class and gradle properties."
thank you so much for these awesome tutorials! the only problem I have is that when I run the ./gradlew command it says this: ./gradlew : The term './gradlew' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + ./gradlew genIntellijRuns + ~~~~~~~~~ + CategoryInfo : ObjectNotFound: (./gradlew:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException what should I do?
I've had the same problem. I fixed it. So, I had the main/first directory and inside it another folder with all that stuff. I pulled out this "stuff" out of the folder and put it inside of the main directory and... it worked. So I guess the files "gradlew.bad" and "gradlew" should be put directly in the main/first directory. Sorry for the complex explaining. Hope it helps someone 😉
everybody who got the "Process 'command '/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1 * 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. " Error or something similar. Use the exact forge version he used, 1.20.1 - 47.0.19. This fixed the error for me, idk if there is any other solution but that's what worked for me
I did notice though that apparently, the build failed for me after adding parchment into the code. Edit: It was just cause I was using the current date for parchment. I changed it to 2023.6.26-1.20.1 and that fixed it for me.
What does this error message mean? Does this have something to do with my java jdk? I have actually downloaded jdk 17. The error occurs when I execute runClient. Exception in thread "main" java.lang.module.ResolutionException: Module it.unimi.dsi.fastutil reads more than one module named cpw.mods.securejarhandler
For some reason I had to redo these first steps and now in my projext settings thing the SDK file is saying Eclipse Temurin instead of '17 java version" like yours does, how do I fix that?
Hello folks coming in for 1.21 - please note that this series was created with 1.20 in mind. While you can follow _some_ steps, others might not work 1-to-1 in 1.21, because of a lot of changes! 1.21 Courses and Tutorials are already in the works, but will take a while to complete. For the time being, I suggest with sticking with 1.20 or 1.20.1 or deepening your java knowledge to be ready for the 1.21 courses or tutorials :)
Do u think it will be easy to upgrade a 1.20 mod to 1.21?
Would you just have to use an older idk for older versions of Minecraft?
Did you also made a tutorial on how to export the mod and actually play it in the real instance of minecraft?
can't wait, in the meen time I well be continuing with your 1.18.2 series until the 1.21 tutorials release
Hey, have you by chance made a video on exporting your mod into a .jar file yet? I want to share it with my friends and also test for when i release it. Thanks!
A few things to add in case some people encounter some errors:
1. Be sure to get the x64 java version, not x86. (I as a CS student should know better but still made this stupid mistake)
2. When copying the Parchment code to add to your settings.gradle and build.gradle follow all instructions on the parchment website. For example for me now I also needed to change the mappings in the minecraft{} section in the build.gradle
3. Don't just copy the versions from the Parchment website. Their examples may work for the newest versions, but you have to compare it to the table displayed on their website. For me the version would be 2023.09.03-1.20.1 for 1.20.1. The example code on the website that was copied in this tutorial is by now for 1.20.2, which results in a version mismatch error.
4. In the gradle.properties file, the mapping_version needs to be that exact same version (2023.09.03-1.20.1 for me). In this tutorial it was not apparent for me what I need to change that version to since Kaupenjoe just inserted a date and a version without really explaining it (maybe it flew over my head). I tried 2024.01.08-1.20.1 (todays date), which obviously is not a parchment version that exists or makes sense.
All in all a great tutorial if you want to copy everything the day it releases, but it complicates it a little bit for people that follow this tutorial a few months later, because explanations why some things are done, for example the mapping_version, are missing.
Dude thank you so much I didn't understand what he meant before. Kaupenjoe needs to pin this
duuuude thanks maaan , you saved me from losin it totally
TYSM! I had an idea of what might be wrong since I was using 1.20.2, but this explanation got me the rest of the way there
Thank you! You saved a lot of time for me
Also, don't be afraid to use a version that is older than the version of forge you are using. I downloaded forge for 1.20.4 but parchment is only on 1.20.3. Parchment tutorial is a little confusing on this, but just use the latest stable version even if it's not the latest minecraft version.
This is honestly the most confusing step of Minecraft modding. Like if Minecraft modding is the hunger games, this is the first few minutes of sheer chaos where you run like your life depends on it, and if you're lucky, you'll make it out alive.
I sure hope so.
For anyone wondering why they are getting an error with the 'Config' file : Kaupenjoe didn't mention it in the video, but you can just delete the 'config' line which causes an error starting the client. It is located in your .java file ! And should also be marked red if it causes errors. (For me it was probably because I am using 1.20.1 with forge 47.2.1!)
you're literally amazing
ABSOLUTE FUCKING LEGEND OMG
thank you, you are very helpful
by any chance do you know why the mod must be before the version 1.21
Well, at least someone is helping us with this
You have an attention to the viewer that is rare in programming videos. Congratulations!
Thank you very much 🙏🏻💙💙
Awesome tutorial my guy! I'm a CS major in college but I'm working on my first Minecraft project now, and this tutorial makes the setup process so much less of a mystery! Appreciate the help!
same here :DDD yea this video slaps
Kaupenjoe on his way to have the only real comprehensive, easy to follow tutorials for Minecraft modding
Dude thank you so much! I had a great idea for a mod yesterday, but I had no idea how to get started. I'm a software engineer, so I already know the rough part. I'm 100% sure this will help me a bunch. Thank you for sharing such quality content!
he makes great courses which go deeper into certain subjects which is very helpful. hes also really quick with responses here and on the course. id really check it out if you get to a point here where you need more.
I want to help new people who have different results, this is related to an error in line 41 in your mod.java file.
1. Undo the deletion of the 'com' directory to reveal the 'Config.java' file.
2. In the 'Config.java' file, locate the error on line 18, which is related to your mod's name.
3. Hover over the name, press "More actions," and then select "import class."
4. Drag the 'Config.java' file into the 'net > your name > your mod name' location.
5. If there are no errors, you can delete the 'com' directory again and continue from there
Mate you just saved me. Thank You!
thank you so much this saved me
Thank you! This was the problem for me.
For those having the Toml problem, MAKE SURE that the mod_id in settings.gradle matches mod_id in the mod class. Make sure there are no uppercases or spaces in your mod id either. Also makes sure that the mod_group_id matches your file structure in the java folder. For example: if your file structure is like: net->MyAwesomeMcName->MyModName->MyModName. Then your mod_group_id should be net.MyAwesomeMcName.MyModName
Hey, just wanna say your tutorials are amazing and thank you for keeping up to date with everything in so much detail. It's so rare for someone to explain things this thoroughly online with this much dedication.
I've been making a mod in 1.20.1 and just finished adding tree generation and my own armour by using all of your past tutorials. However if there's one thing I would like to see an updated tutorial on for 1.20, it would be how to use tags. I remember looking at your previous tag videos but the last update was in 1.18.2, from which I believe more has changed. So if you do plan on making an updated video on tags that would be greatly appreciated!
Thank you once again, and I am looking forward to following the rest of your tutorials!
Ye, I will absolutely do another video on tags, I think it is much overdue anyway 😎🙏🏻
@@ModdingByKaupenjoe Thanks! I really appreciate it. Looking forward to the rest of this updated series.
You do a really great job at explaining things in your tutorials, and having a new set of them to watch for every major Minecraft update is extremely helpful. Can't wait to start making mods!
Let's go, glad to hear! Excited to see what you come up with in terms of mods 😁😁💙
@@ModdingByKaupenjoe can u help me im using vscode and when i run ./gradlew runClient is crashes with error
"> Process 'command 'C:\Program Files\Java\jdk-17.0.5\bin\java.exe'' finished with non-zero exit value 1"
@@Mystery_Mugdid you resolve the issue? if not, try checking if your java version is 17
like the sdk, language version, etc.
if anyone is having problems with the "runClient" option, just change the forge version in settings.gradle to 47.2.19. and then press the reconfigure button and run.
thank you
@@killerkittehs np
there is no forge version in settings .gradle
First video of yours that I've seen and I'm immediately subscribing. You broke this down into easily understandable segments! I can't wait to make my dream mod! Thank you.
Let's go! Thank you so much for the kind words and welcome to modding 💙
Excited to see your mod when it's ready 😁😁
If you get a weird error like "Caused by: java.lang.ClassFormatError: Duplicate method name "lambda$static$34" with signature "(Lnet.minecraft.world.level.block.state.BlockState;)I" in class file net/minecraft/world/level/block/Blocks" when running the client, it may be because of a mismatch in forge minecraft version (ex: 1.20.4) and parchment mapping version (ex: 1.20.2). To fix this, follow the directions at the bottom of the parchment getting started page where it says "For using Parchment for an older version on a newer MC version"
thanks 🙏🙏 i didn't realise that i was using newer version of minecraft and couldn't find a fix to this bug anywhere, this helped
THANK YOU SO MUCH! I've been looking for what feels like ages for a minecraft modding tutorial that goes into the depth that I need!
This was literally the perfect amount of information, and is getting me started with development of my mod. :D
Looking forward to watching more of your mods, and seeing what I can do!
Awesome to hear, thank you so much for the kind words - excited to see your mods come to live 😎😁😁
Amazing Video, this series is the only working one i found on RUclips that actually taught me something new, the other videos didn't even explain the code they were like "You can copy the code from the description to make an item".
Thank you
hi! So, im using temurin 21, is there any problems? Kaupenjoe said that it needed to be jdk 17, i was wondering if a newer version would be better, or if i just needed to use 17 anyways
@@predovlr usually, the version is quite strict. It might complain or throw an error if it doesn't use the right version 🙏🏻🙏🏻
@@ModdingByKaupenjoe tysm! Ill use the right version!
I made a small mod with some inside jokes i have with my friends in 1.19 fabric, now i have a lot more to add, this is going to be fun. Your tutorials are the best.
I can't wait to make my own mod using your tutorials! I have always wanted to and you are the (amazing) person who made it possible.
Hyphens are not allowed in the modid btw lol. It's only lower case letters, numbers and underscores, not hyphens.
Ye, apparently a thing that changes semi-recently, but I wasn't aware of it 🙏🏻🙏🏻
PSA with the Adoptium JDK: You want to get the 64bit version. There is also a 32bit version on there that will mess you up later because of memory heap overload. I learned this the hard way
I can't thank you enough
@@i_nooby4714 Np. But also since you mentioned you can't thank me enough, it would help more people if you also make comments about any obstacles you run into on these videos. It helps people starting out that could run into similar problems.
This tutorial was really helpful ❤
I'd recommend running the client once in a while, (for people who are new to modding, like me :)) So it's easier to know when something went wrong
This is like the only good tutorial ever for modding.
so excited to make
It would be great if you tried to explain what exactly we delete in TutorialMod class. Can't understand this chaos and why we do that
Great tutorial! Looking forward to watching the rest and seeing what I can create :D
Thanks, finnaly, i just couldn't make this work before.
if you have problems with parchment not wanting to work I just had to use the recommended installer area mdk for 1.20.1 and everything seems to work now. the build was successful
You do a great job keeping up with Minecraft, I'm sure you'll be the #1 modding guide for years
Hello, I am a Korean viewer. I dream of becoming a programmer, but I am practicing while watching this video. Thank you for uploading this video!
If you're having trouble launching the JVM with 3GB, make sure you're using a 64-bit version of Java. 32-bit versions require all 3GB of the allocated memory to be contiguous, and since no computer has that, it will throw an error.
I'm glad this is still appliable to linux development too
great tutorial!! at first it is a bit overwhelming, but once one powers through it, it gets very simple
FINALLY A NON-MCREATOR RUclipsR
Honestly, I have no clue how to code, but I do want to become a game developer so I figured that the best way to start would be to mod Minecraft. This really helped.
Edit: Now that I think about it, it probably wasn't the best idea to learn all this right before 1.21 drops, but if I had waited I would've never learned.
10:00 IT IS I! KAUPENJOE! *kaupenjoe said menacingly*
Great Tutorial! I am left with a question though. Can't say I understand the code fully so I'm not 100% sure here. Not sure if this will be addressed in later videos but I was wondering why at the beginning all those DeferredRegister methods are being deleted. I assume it's cause those functions to register stuff are being moved someplace else for readability in coming parts?
Thanks in advance!
Forge basically puts all of them inside the "main" class. I personally like to put those methods and registers into their own classes. Mainly for organizing purposes. So, you're spot on :)
i got an error and cant find anything to fix it. It appeared when it tried to runClient:
Execution failed for task ':runClient'.
> Process 'command 'C:\Program Files\Eclipse Adoptium\jdk-17.0.8.101-hotspot\bin\java.exe'' finished with non-zero exit value 1
* 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.
Same for me !
same, I really hope I can figure it out
Try to change the forge version to 47.2.0 in your gradle.properties file
@@ettoremilani9259 Thank you! It's working :)
I was getting a similar error. I just had to change the parchment version to match my forge version. I should say the correct version and date at the top of the parchment website
[[dependencies.${mod_id}]] #optional line 44
[[dependencies.${mod_id}]] line 58
expected, got '$' line 44
expected, got '$' line 58
how to fix
thank you man , i went from 0% knowlge in coding and java and moding to publishing my first mod ..
can you make a series reveing your follower mods ?
you can start with main i would love to know what i did right and did wrong .
Mod mod name is Divine Artifacts [ Forge ] in curseforge there you can find the source code
trying to follow this tutorial after the java tutorials is insane this man talks like 1000% faster
nice tutorial, its incredible that you can setup the workspace so simply.
KaupenJoe! When I try to run the mod, it just gives me the following:
Process 'command 'C:\Users\Rusba\.gradle\jdks\eclipse_adoptium-17-amd64-windows\jdk-17.0.12+7\bin\java.exe'' finished with non-zero exit value 1
It doesn't happen with example mod. What am I doing wrong? Can I please get some help?
same problem
same
For anyone getting an error when renaming the package, check if there is a config setup already (which the version of NeoForge I downloaded has). If there is do the same thing as the other file and move it over before deleting com.
I think this is the answer I've been looking for. Thank you!
when i use Temurin 17 for gradle JVM, it says "JAVA HOME isn't set
Nice video it took me a while to figure it out but in the end I got it
Great video! I had a few issues with mods.toml, but the fix was simply to comment out all of the example dependencies stuff at the bottom. Otherwise the tutorial worked really well!
If you are getting an error while doing ./gradlew
Try changing your mapping_version in gradle.properties
For example: for 1.20.1 its 2023.09.03-1.20.1
For 1.20.2 its 2023.12.10-1.20.2
Hey i just started to learn how to make minecraft java mods and I'll say that im going to use your tutorial to teach myself how to work on my minecraft Java mod im working on
I'm subscribing, this is amazing.
i have a problem when i change the packet name at the top of the example mod class. whenever i rename it, it says "cannot resolve symbol Config" what do i do about that?
In my case, remove any reference to Config and also delete Config entirely
Thanks for the debugging tips! it said something about java_home even though i did what you said in the installer, but after i followed your tips it worked
Can you please make a tutorial that uses Eclipse?
I'm getting really frustrated that there's nothing out there for Eclipse, and everybody, for some reason, decided to just drop Eclipse like a brick and use IntelliJ. :)
Thank you. :)
So sorry, I will not 🙏🏻
I personally don't really like using eclipse, nor do I know too much on how exactly it works. I have been using IntelliJ now for... idk even know how long, probably good 6 years now or maybe some time longer. Change is the constant of the world, and I don't know why people seem to be switching, I just know won't use eclipse.
As mentioned in the previous answer to your other comment, you can of course still try and follow the tutorials with eclipse, really the only thing different is going to be the external libraries, which I don't even know where they are on eclipse 🤷🏻♂️
Best of luck to you though 💙💙🙏🏻
Hey, I would like to know why you didn't use IntelliJ's Minecraft plugin, are there any advantages the way you did it?
Why is it that when I open the folder in intellij and go to mods.toml, the modId on line 18 is underlined in red?
I got all of this done and it seemed to be work properly, but when i went to run client at the very end it came up with "mods.toml missing metadata for modid tutorialmod"
any idea what I did wrong?
(edit rq, this was after starting the forge/minecraft client, so it was saying this in minecraft not in terminal or anything like that)
Did you fixed tit?
same error here did you solve it ?
i have the same issue
comment that helped me from @thomasmuller9024 "I just solved the problem. I forgot to change mod name and mod id in the main class, but did change it in the gradle properties. Maybe you should check if they are the same in main class and gradle properties."
This guy deserves way more subscribers
When I run minecraft using the gradle tasks, it starts up but it says that it is missing metadata from the toml file. What should I do now?
comment that helped me from @thomasmuller9024 "I just solved the problem. I forgot to change mod name and mod id in the main class, but did change it in the gradle properties. Maybe you should check if they are the same in main class and gradle properties."
I love the idea of modding. But every time I start IntelliJ it says my SVJ finished with non zero output and no matter wich one I try I can’t get it to work. And I don’t have the one from the video. Can anyone help?
i had this error when running the client :
Execution failed for task ':processResources'.
> Could not copy file 'D:\forge modding\src\main
esources\META-INF\mods.toml' to 'D:\forge modding\build
esources\main\META-INF\mods.toml'.
> Missing property (mod_id) for Groovy template expansion. Defined keys [minecraft_version, minecraft_version_range, forge_version, forge_version_range, loader_version_range, modmc, mod_name, mod_license, mod_version, mod_authors, mod_description, project].
forge modding being my project folder name
Helped me a lot!your tutorials are great!
ive worked with command blocks for creating stuff before but ive always wanted to know how to mod, WISH ME LUCK
I'm so glad these exist; I would have no idea where to start without this!
my goal was to get a faster build time faster than 3m 11s and got 2m 5s. I now have completed my goal
Just a quick question about the MIT license section, what exactly does the MIT license do? From my understanding, people can use my code but have to give credit, is that basically what it is?
Yep, that's pretty much it 😁
is it okay if i leave the license as "All rights reserved" ?
Edit: I had an extra line under public Example Mod() {} , something that said "config:spec" something like that, i just deleted it and proceeded with the tutorial aaaand, it actually worked lmao.
Kaupenjoe, I want to say that I'm thrilled to follow this tutorial! Thank you for everything!
As long as you give credit you are totally good keeping it ARR 😎
Nice, gonna be an awesome series, I am already hyped for it 😁😁
Ok so I asked for help about the config.java file. Couple conflicting results from people. One was to delete it and the other was to move it along. I deleted it. It left errors which I removed references to Config. I found that I had to rename the file (TutorialMod) too. That got rid of all errors and now looks like Kaupenjoe's.
Hello,
I am currently on the step where you rename package net.base.tutorialmod; - once I did this; all my folders underlined in red, even after moving it. Is this normal?
were you able to fix this?
@@Jay-tl6ex yeah!
How did you do that?
Please tell
@@NoName-is9qv I copied the top of his code from the github and replaced his name with mine 🤷♂️ make sure the name is the name of where the file is!
Did you know that intellij has plugin that generates the modding workspace with parameters you set there?
if thats true i just wasted 6 hours of my life setting this up
@@gamercubedyt1 That's why i am tellyng this to you
Make sure the repositories maven is in a separate new maven function because you will get a build error if its in the maven that appears by default
I'm having a problem with the runClient. It always exits with it saying
Process 'command 'C:\Program Files\Java\jdk-17\bin\java.exe'' finished with non-zero exit value 1
I searched everywhere but didn't find anything helpful. Can someone please tell me how to fix this? Thank you in advance.
I am having this same issue! Did you figure it out?
I got it to work by using Forge version 47.2.0
Hope this can help you!
@@spitefulnotdesperate yes. Actually I just restarted the computer and reinstalled mcreator
thank you so much, it helped me a lot!
Hey bro I nought your modding course and only have 1 question! Should I start out learning forge or fabric for my modding as a beginner?
I we are talking 1.20, I really suggest going for Fabric currently. Because 1.20 already introduced a lot of changes in the minor version, Forge has a different problem. That being the split of Forge-NeoForge.
You will be able to transfer quite a few skills over anyway, I would say Forge and Fabric are still about 70-ish % similar in a lot of ways. So learning one, will definitely help you immensely to learn the other :)
Hope that helps 😁💙💙
@@ModdingByKaupenjoe Can I pay you $100 to do an hour call? lol i just have so many questions and you're the best person online for learning modding by far
You're the best man tysm
In newer forge versions (recommended one currently) there is a configuration (config) class as well, what to do with it? I'm faily certain you can't just delete it (because nothing works).
The solution btw is just to leave it be. So just pretend it's not there. It doesn't really change anything.
@@jebediahkerman3826 i tried that too but than everything gets underlined as if theres one big error? help pls
Thanks for the video my PC will be fixed hopefully early December and I was wanting to learn how to Mod there was a game I'd been making in Survival but I think modded where you can have custom stuff such as Mobs and Items, would make it even better
I'll have to go watch the coding in Java tutorials first, the only coding I've ever done was basic stuff over a decade ago for Web Design with the typical C++ and Game Design with Unreal Engine 3 (think it was 3) and I remember a little bit but neither of those are Java and I'm sure I've forgotten a lot
Ah finally, all the java I learned from kan academy instead of doing math can help me now
I can't get any of the settings to be a jdk 17 or whatever, it's always 21, except the language option which has 17, What do I do now?
I have this problem to if someone finds the reason please tell us.
@@tobiassalzer4618 could you fix it?
FOR ANYONE THAT HAS PROBLEMS WITH :"... finished with non-zero exit value -1", make sure that the mapping_version in gradle.properties is the right version (the version kaupenjoe used(mapping_version=2023.06.26-1.20.1))
I'm having trouble setting up forge
I believe the issue is a notification that says "Found invalid Gradle JVM configuration. Please fix JAVA_HOME environment variable"
(I am on windows)
I am certain I clicked the add to local hard drive on Eclipse Temurin setup though
Is there some way to manually fix this?
Super late, but if you go into your IDE and go to settings > Build, Execution, Dep > Gradle, then look towards the bottom under 'Gradle: ' and make sure the Gradle JVM is on the 'project SDK' (17) rather than the 'JAVA_HOME' which is holding the download from the description it should fix it. I was getting this same error and switching to the project sdk in the settings helped me resolve it. Hope it helps
Im having a problem with running the client, i believe ive done everything the same. My Error is: Execution failed for task ':runClient'.
> Process 'command '/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
* 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.
I am having the same problem, have you found any solution?
i think u should use all x64 bit where possible
did you fix it?
@@mejdplayzbro2075 what does that mean
whats like the main difference between fabric and forge? as im wondering if i follow the fabric tutorial or the forge one
forge is more messy but has a lot of big mods already written
fabric is more optimised but has like 0 big mods for it
Extremely important! If you are using minecraft 1.20.4 like I am, use mapping_version=2024.04.14-1.20.4
I didn't get the zip file at 2:33 , if you could help with that it would be grately appreciated. Also, i looked into the privacy Policy of the IntelliJ IDEA thing, and it wants my IP address, email, full name, and passcode of something. That concerns me.
Using the steps I show gets me the normal zip file, so idk why that wouldn't work.
As for intellij, firstly make sure to the _community_ edition, because you might have downloaded the Ultimate Edition _which is not needed!_
You should not need to log into anything for the community edition. If the general terms are not something you're comfortable with, you can use any other ide, but I am unable to help with how any particular work there, sorry 🙏🏻
@@ModdingByKaupenjoe thank you for responding
@@exitspree yes, i got forge installer when i got it just to gte mods, thank you for helping!
just wondering about this! i'm pretty sure that now that java 21 is out we should be using 21 instead of 17 going forward right? very late to this tutorial and appreciate it a lot but just curious about that :)
If you're using 1.20.5+ then yes java 21, if not keep using java 17. If you wanna follow the full tutorials series, you will have a hard time with 1.20.2+. I _highly_ suggest following with 1.20.1 🙏🏻🙏🏻
when i launch the client i get an error: "C:\user\(my user)\desktop\forge-1.20.1-47.2.32-mdk\build
esources\main has mods that were not found" if anyone knows why this happens i would really appreciate it
im getting a similar error
for some strange reason everything in the mod.java folder is coming up as errors and the "$"s in the mod.toml folder are marked as errors. everything was going smoothly until i clicked on the elephant then it just started giving errors. plz help D:
same
comment that helped me from @thomasmuller9024 "I just solved the problem. I forgot to change mod name and mod id in the main class, but did change it in the gradle properties. Maybe you should check if they are the same in main class and gradle properties."
great tutorial! But wait, how do you actually turn this into a jar file?
thank you so much for these awesome tutorials! the only problem I have is that when I run the ./gradlew command it says this:
./gradlew : The term './gradlew' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a
path was included, verify that the path is correct and try again.
At line:1 char:1
+ ./gradlew genIntellijRuns
+ ~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (./gradlew:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
what should I do?
were you able to fix it? I'm having the same issue right now and have no clue on how to fix it
Nah i haven't worked on this since September
I've had the same problem. I fixed it. So, I had the main/first directory and inside it another folder with all that stuff. I pulled out this "stuff" out of the folder and put it inside of the main directory and... it worked. So I guess the files "gradlew.bad" and "gradlew" should be put directly in the main/first directory. Sorry for the complex explaining. Hope it helps someone 😉
what do i do i got this error "Caused by: java.lang.IllegalStateException: ProjectScopeServices has been closed." :(
man I don't think we're getting any help
everybody who got the "Process 'command '/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
* 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.
" Error or something similar. Use the exact forge version he used, 1.20.1 - 47.0.19. This fixed the error for me, idk if there is any other solution but that's what worked for me
How do I move my folder outside onedrive? Im using Windows 11 btw.
I can't wait to see the rest
I did notice though that apparently, the build failed for me after adding parchment into the code. Edit: It was just cause I was using the current date for parchment. I changed it to 2023.6.26-1.20.1 and that fixed it for me.
In your introduction to Java series, you don't use Forge with the project generator, do I use Forge or Java?
What does this error message mean? Does this have something to do with my java jdk? I have actually downloaded jdk 17.
The error occurs when I execute runClient.
Exception in thread "main" java.lang.module.ResolutionException: Module it.unimi.dsi.fastutil reads more than one module named cpw.mods.securejarhandler
I keep getting unable to start daemon process when I build the file
did you ever get a fix to this?
@@rodar3147 Make sure you installed the 64bit version of the Adoptium JDK.
Will the course have any geckolib tutorials, like animated items, or 3d armor?
Is there a Kaupenjoe for Minecraft Alpha/Beta?
Hey! I followed the tutotial and it worked up until i tried to start Minecraft. It says "cannot find symbol variable Config"
What can i do to fix it?
bit late, but jsut delete that whole line of code with the word Config in it.
parchment isnt working, I did all the steps you did, so whats going on?
For some reason I had to redo these first steps and now in my projext settings thing the SDK file is saying Eclipse Temurin instead of '17 java version" like yours does, how do I fix that?
I personally downloaded java 17 and it appeared