TL;DR
Java Proficiency
Before diving into Minecraft modding, it's crucial to have a solid understanding of Java. Many experienced modders emphasize that questions about basic Java concepts may not be well-received in modding communities [2:1]. If you're new to Java, consider taking courses or following online resources to build your skills before attempting mod development
[1].
Mod Loaders: Forge and Fabric
Choosing the right mod loader is an important step in creating Minecraft mods. Forge and Fabric are two popular options. Forge is often recommended for those who are familiar with Java and want to create complex mods [5:1]. Fabric, on the other hand, is known for being lightweight and having good documentation, making it suitable for beginners
[5:1]. Each has its own setup process and community support, so exploring both can help you decide which fits your needs best.
Tutorials and Resources
Several tutorials and resources are available to guide you through the modding process. McJty's tutorial series on YouTube is highly recommended for its comprehensive coverage and clear explanations [2:1]. While KaupenJoe also offers tutorials, some users suggest that his approach involves more copy-pasting without detailed explanations
[3:2]. Additionally, the FabricMC wiki provides valuable information for those using the Fabric mod loader
[4:1].
Understanding Boilerplate Code
A common challenge in modding is dealing with boilerplate code, which is necessary for setting up items, blocks, and other game elements [1:2]. Although this can be tedious, it's essential for ensuring compatibility and stability. As you become more familiar with the process, you'll develop a sense of which parts of the code are reusable and which require customization
[1:3].
Community and Collaboration
Joining modding communities can provide support and inspiration. Engaging with others who share your interest can lead to collaborations and shared learning experiences [1:9]. Discord servers and forums are great places to connect with fellow modders, ask questions, and find modding buddies who can offer guidance and feedback.
Since the moment I got java edition, I've loved minecraft mods. I've gotten pretty deep into mekanism, and these mods always amaze me.
This also lead me to trying making mods myself. So far I got intellij, followed kaupenjoe videos and even did some mooc.fi java courses to get a basic understanding of the language. However, I found that when trying to implement my own features, I'm mainly implementing mountains of boilerplate to get everything registered. Is this just the hard reality of making mods, or am I missing something? I want it to be fun, but it's mainly frustrating to me that things like geckolib blocks consist of a number of classes all following strict structures to get the desired result.
This isn't really supposed to be a rant, more of a genuine confusion about what modding entails. Any tips or experiences?
Depending on what you are doing, the beginning will feel like lots of boilerplate. However, when you develop a more robust codebase, you'll eventually get to actually making stuff.
For example, there's some tedium setting up item registration methods, and you gotta set up this whole thing to add it to the creative menu, and add it to your model generator, your tags, etc. But once all that is set up, you can just use it again. Call the item registration method you used already. Simple add() into the creative menu. One line in your model datagen. Just add it to the tag you made already.
Don't get discouraged, as there's ups and downs. It's very satisfying when you finish something and see it working ingame
Thanks for the reassurance, I understand that it gets easier at some point. However, especially from a beginners perspective, it feel like such a grind to get something working based on a wiki (eg geckolib) where they also assume you can figure out shit yourself easily.
I also feel like having a modding community or modding buddy might be more fun. Do you have experience with this? I am in some modding discords but i feel like people who are better than me would have little interest in sharing things/helping me.
What are you struggling with currently? I’m nowhere near the experience level I really want yet, but I’m two years into my modding journey and I’ve created mods with everything fro mixins, to blocks, to menus, to keybinds, entities, particles, sounds, etc.
I tend to avoid libraries unless strictly necessary, but reading documentation will only take you so far, sometimes you just need to reference an existing open-source mod. I also use MultiLoader-Template, so I can write less code but still release on Fabric, Forge, and NeoForge.
that's just how it is. Java is a verbose and ugly language. Minecraft is a messy codebase. And you're modding, not developing - you gotta worry about compat.
Once you get used to the boilerplate, you'll get a sense of what code actually "does stuff" and you can save a lot of brain space by forgetting the boilerplate when designing things.
I'd also recommend MCJty tutorials over KaupenJoe's copy-paste fest.
Still, huge respect for actually learning instead of just bugging someone in fabricord to teach you everything, lol. It's rare nowadays.
Yeah, i understand no experienced mod developer will likely be eager to become my personal teacher. Still, sometimes it would be nice to have a modding buddy or a smaller group you share your learning/experience with.
As for the mcjty over kaupenjoe - i will check him out to see if that fits my learning style. Thanks!
Welcome to programming.
Well, with something like pygame you can make a functional program in like 20 lines, so not all programming is quite the same, but I get that it is a necessary evil
Think of it like this: you aren’t writing a game, you are adding/modifying content in an existing game with a code base that’s evolved more than 10 years. So not only do you have to learn your way around an undocumented game’s decompiled code, you also have to work with a layer (mod loader) on top of it to even begin. There’s much more setup work than making a one-off game demonstration bc you’re not able to control every aspect of
The boilerplate is required to avoid mods modifying the same thing and crashing the game
If you really want to you can skip that, however that will mean your mod will be incompatible with basically everything else
Fair enough, making things reliably is worth something. It’s just kind of convoluted and mysterious this way. Maybe my expectations were partially fueled by my experience with game engines, which shield you from the ‘dirty work’. If something like that were available in minecraft, I’d go nuts (where you’re responsible for custom behaviour and the engine for the boilerplate)
Edit: punctuation
That's what mcreator basically is, but then performance is the tradeoff, which is okay for simple mods, but may be unplayable for more complicated things
I already know decently well how to code and how video games work, but I dont know how to make a mod for minecraft. Are there any good tutorials about mod creation?
I know you said you can code, but I really have to emphasize this. You need to be proficient in Java. If you ask a Java question in a modding discord, you will not get help. Also, use IntelliJ Idea.
I'm assuming you want to use Forge/NeoForge. If you want to use Fabric(-like), I'm afraid I'm a noob in that field, so ignore my reply.
Look at McJty's tutorial series on YouTube. Truthfully, most YouTube tutorials are good enough, except KaupenJoe. He just copy-pastes code. I strongly recommend McJty's, though. Why?
McJty not only has complete tutorials for most modern versions, he has an entire website and GitHub repo with all the code in his example mod. When your code doesn't work, you can compare his with yours side-by-side without needing to pause a pixelated YouTube video.
Before you start coding, join the NeoForge official discord as well as the Modded Minecraft Development discord. Both are great fallback forums for when Google and YouTube don't solve your problem. Just be warned that the NeoForge discord doesn't support older versions. If you're modding a really old version, join the Legacy Minecraft Modding discord and look at their tutorials instead.
Start out by following McJty's tutorial series for your version of choice. Learn how he does things, observe how the Forge API works (it's weird, be warned), and get used to working with Minecraft's infrastructure. Don't just dive into your own mod like I did years ago - you'll lose motivation quickly as you try to juggle learning the API and developing your idea.
Here are some very important out-of-order tips for once you start your own mod:
Once you're confident in your Java and Forge knowledge, start modding!
I’m fairly new to modded Minecraft and thought it would be fun/educational to make my own mod, however, I don’t really know what resources to use or anything so if anyone could point me in the right direction that’d be greatly appreciated.
There's a YouTuber that makes really good beginners tutorials, I think his channel is called "tutorials by kaupenjoe" and he's been doing them for pretty much every recent major version.
Yup, I've heard he's the top guy in recent versions for both fabric and neoforge. Hes also not afraid to shoutout other tutorials where his content is lacking
I want to start making them for me and other people
With two years of Java under my belt, I want to start applying my skills. I think modded Minecraft would be a fun way to develop my skills and apply my knowledge in Java app development. Does anyone know where to find a tutorial on how to set up my IDE (IntelliJ, Eclipse, etc...) to begin making mods for Minecraft Java edition?
You will want to use SpigotMC for the quickest way to get started. You can check out the guides here: https://www.spigotmc.org/wiki/spigot-plugin-development/
will that limit the compatability with other mods?
Nope. They all get packaged as a .jar folder and thrown into a folder so you can have as many as you would like!
If you want to do content mods, I recommend the Fabric modloader. Good tutorials and many great mods were made by more "green" programmers.
Hello everyone,
I want to create my own Minecraft mod, I have browsed through YouTube, tried a lot of tutorials, but I cant even seem to SET UP the environment! Can someone please suggest a tutorial which is good and for version 1.16? I use Eclipse if it makes any difference.
Thanks in advance for your help
Step by step tutorial: https://codakid.com/guide-to-minecraft-modding-with-java/
Tons of sample code: https://github.com/TheGreyGhost/MinecraftByExample
Isnt it 1.12.2? Or will it be same? Thanks anyways!
Hello all, I have been playing modded minecraft for YEARS and I would like to make my own mod now! I do not know how to code but- I do learn pretty quickly. If there is anyone who can point me in the right direction or just give any advice because I don't really know where to start I would be very appreciative. I want to use JDK as I've seen a lot of people saying to stay far, far away from MCcreator. Again, any help and any tips or suggestions for videos/websites to learn from is deeply appreciated. Thank you for reading! :D
Since you don't know how to code yet, I'd definitely recommend learning some Java basics first. For getting started on modding the videos from Kaupenjoe have been very helpful, when I got started. He always does tutorial series for every major version for both Fabric & Forge/Neoforge. He also has a playlist that teaches you Java basics with some exercises iirc. Good luck! :D
I started watching his tutorials last night after I posted this, I stumbled across him when researching tutorials, and so far, I think I understand what's going on, but we'll see, I suppose. Thank you!
Full Java course on yt (i forgor the author but it's exactly 12hours long)
Kaupenjoe's tutorial series for the version of your choice as a quick rundown of what's possible
Reading source code of other mods for reference on how they implement features similar to what you want to do
Joining some modding discord and asking there for help if you have particular difficulties with something
Additionally Coding with Jonh has short but very well done videos on various Java topics
You could search Java common patterns for a playlist of common Java patterns (i forgor the author, but thumbnails are yellow colored, sorry if that's too vague), their usage and meaning (mostly because Minecraft, Forge and big mods use stuff like Builders, Factories etc.)
Do you know offhand any modding discords? I know I could just Google it, but I was wondering if you had any recommendations instead of me just hoping in blind. I think a discord would be good because I have a lot of questions, and I'm really, really bad about needing answers from my brain to move on. I've heard that chatgpt is good for coding, so I may just have to ask it what stuff means or whatever questions I have. Thank you for the java patterns recommendations and referencing other mods that sounds super helpful cause I'm super visual. And also thank you for commenting :)
As for modding discords I know these exist, but I didn't spend a lot of time in neither of them, so I have no saying in which one you should use:
I don't know about chatGPT for minecraft modding tbh, I feel like it would need a lot of context about vanilla, forge and your source code bases.
Bro Code
Kaupenjoe is way better for mc modding though
You need basic Java knowledge before you even start watching mc modding guides
Learn Java and pray you don't have whatever dumbass brain cells prevent me from learning how to code.
learn to program first, that’s the biggest mindfuck standing in your way
you already have a goal in mind, so that’s great
I think I'm worried I won't be smart enough to get how to do it, cause honestly it seems like A LOOOOOT to remember, but I've also seen soooo many memes about coders just bashing their heads against the metaphorical coding wall until it works so who knows.
pretty much
it was a whole new way of thinking for me and i literally had to brute force myself to understand how a computer thinks and works. once you get past that initial hurdle, everything makes much more sense
Also thank you for your comment :)
Can someone recommend me tutorials for learning Java? I want to make a Minecraft mod but I have 0 coding experience and Java seems really hard.
KaupenJoe has both intro to Java and intro to modding forge and fabric on YouTube. Best of luck.
Thank you, tried watching some of his videos and I'm trying to install jdk and other tools.
It’s a long road but you will be able to get right into the nitty gritty on what’s going on. It’s been a game changer for me (see what I did there, modding humour). Best of luck and happy gaming!
Happy cake day!
Hello, i have recently looked into trying to learn to make mods (i dont really care if its forge, neoforge, or anything else, it just has to be recent) and i'd really like to find a tutorial series that teaches how to make mods, by remaking a mod. Doesnt have to be a big mod, a small mod, all is ok, as long as its fairly well known. This would help me, as i dont really have any big ideas for mods, themain reason for why i havent started. I am ok if the tutorial series is for older versions, but i'd prefer something post 1.14 (so with the new textures). (Also free as i am poor 😭). Is there something like that?
Tldr: i'd like a minecraft tutorial series on modding that teaches how to remake a prexisting mod, preferably post 1.14 and free.
See Kaupenjoe on youtube. He has free tutorials on there but also has some paid courses with much more in depth tutorials.
So recently I started making my own mod by following Kaupenjoe's modding tutorial series for 1.21.1 and I already added a couple blocks, items and recipes. I even tried to make my own stuff, a column block that he didn't show in his series. But the thing is, this is my first time using Java and I'm having trouble trying to understand things on my own. Now, I do know how to program in Python for example and I know what OOP is, my problem is understanding how Java works exactly. For example when I'm using Python, whenever I type in a function of whatever, I can see the documentation and I can figure out what it's doing. In Java (or with Forge specifically) I haven't found a comprehensive documentation, similar to the ones I'm used to with Python. If I want to make my own mod with its own mechanism and so on, I need to understand Java and Java for Minecraft modding specifically. Can you recommend some sources to me? But can you please spare me with the very very basics, like yes, I do know what variables and declaration is, I want to know how to use the functions and objects that Forge itself adds. Thank you!
Edit 1: I want to add that yes, there is a forge documentation, but it's very... vague. It's not very comprehensive to me.
Edit 2: I want to make another edit, because a lot of people mentioned the use of AI. Yes, I did try to use AI when making my mod, but only when I got stuck and I had no other idea. I am aware that AI isn't always accurate and I even experienced it.
For one, don't use Forge for 1.21.1. Use NeoForge, you're gonna have a better time (unless that's what you're already using and you just wrote Forge instead). Second, make sure your IDE is setup correctly.
If you're using IntelliJ (as you should), install the Minecraft Development plugin. It includes a bunch of utilities, including all kinds of templates for mods and plugins. Now for documentation, you're not gonna find much for Minecraft. Best you can get is Parchment, which will name method parameters correctly but you won't see documentation anywhere other than NeoForge stuff, so for vanilla Minecraft stuff you'll have to ask other people or look into how Minecraft uses them
I was considering moving to NeoForge instead. For now I only added a couple blocks and item, also some recipes and also data generators. I'm also using IntelliJ and Parchment, but I'm not sure if I have the Minecraft Development plugin installed.
I am in the same boat as you, with very limited coding knowledge in general.
My advice is to join the various modded Minecraft discords. Just searching the discord using the search bar I’ve found solutions to multiple problems, and asking questions when you can’t find answers sometimes is met with “just learn Java” but some of the people there will try to help.
Secondly, in IntelliJ Kaupenjoe shows you where Minecraft’s vanilla files are and all the methods and classes used to make the base game. This paired with exploring NeoForge mods on curseforge that do something close to what I’m trying to do has been… fruitful lol
I also use intellijs AI assistant to help with explaining things, doing/implementing math equations for things like ui element scaling, and basic structuring of my mod files to keep things neat and readable.
With that I’ve been able to create a progression mod for magic staves that is an addon for Irons Spells and Spellbooks that reads from a registry of magic schools from irons and “tiers of weaponry” that I made custom and generates staves in-game for every school and tier on mod initialization. Right now I’ve got it generating 48 staves without registering a single item myself the way kaupenjoe does it in ModItems. The staves are upgradable with irons spells materials and augmentable with apotheosis and ars noveau.
I’m currently working on an Origins style mod that taps into Project MMO and various other mods to add perks/attribute bonuses to origins selected on player login. Since origins Forge stops at 1.20.1 and the team stopped working on the NeoForge upgrade to 1.21.1 I’ve decided to try making my own simpler version of Origins lol
I’ve done all this with about 4 hours of java knowledge and I’m learning more and more every day.
run into the same problem when returning to modding. I've not touched making mods since the days of Risugami's ModLoader back in Beta 1.4 to Release 1.4 or so. So definitely behind a bit. Back then we had a javadoc that made it pretty obvious what everything in the modloader actually did. I've yet to find such a thing for Forge or Fabric, there's very little documentation for either for some reason.
I'll definitely be following this thread to see what everyone else has to say.
So I am going to say something pretty crazy here but I don't think Java is the issue, the issue is that you don't really know where to start when programming.
While Python doesn't offer things such as interfaces for polymorphism and isn't generally as strict on OOP, moving from one language to the other is usually pretty simple. From Py to Java specifically all you need to understand is static typing and access modifiers, with a sprinkle of interfaces and polymorphisms as well as a general understanding of the boilerplate code Java uses - but these things are rather easy concepts. What you're reallig missing here is experience, confidence and general software architecture knowledge.
The solution to this is just "do it". Give yourself an idea of something to program in Minecraft, break that idea into simple statements and then implement it.
Also, to add my 2 cents, 1.20.1 with neoforge might be the best modern version to use. It's the one everyone else uses basically so it's generally the best documented.
Honestly, just get some development experience under your belt, minecraft isn't exactly technically simple, if you want to start regardless, you're going to be basically bashing your head against a wall because yes, docu in general tends to be somewhat meh at best. Additionally, while i'm not particularly familiar with how the communities around each mod loader are, generally, people aren't super keen on holding someone's hand and basically writing their code for them, so you're not going to find much help there either.
I saw in another post you're using GPT, don't use AI as a beginner, at all, you're basically cutting off your own legs because it's going to be very hard for you to differentiate from it helping you understand and it just doing whatever for you, you're just gonna have to trust me here, it's going to make you a worse developer by far.
Thanks for the answer. Just to clarify, yes, I did use AI. I didn't use it to write all of my code. I tried to make the code myself, and when I was stuck and I couldn't find anything on the internet, that's when I used AI because I was absolutely clueless.
Yea thats because of you having little to no development experience, you should never need ai
I love NeoForge way over Forge. I cracked open their NeoForge.jar in Eclipse and just poked around for a bit, looking at how their mods (and some popular mods like apotheosis and mekanism) work. Their GitHubs are also a good resource
How to create minecraft mods
Key Considerations for Creating Minecraft Mods
Choose Your Platform:
Set Up Your Development Environment:
Learn the Basics of Java or JavaScript:
Explore Existing Mods:
Start Small:
Testing Your Mod:
Documentation and Community:
Recommendation: Start with a simple project, such as creating a new block or item, to familiarize yourself with the modding process. As you gain confidence, you can gradually tackle more complex features. Engaging with the modding community can also provide support and feedback on your projects.
Get more comprehensive results summarized by our most cutting edge AI model. Plus deep Youtube search.