If anyone is having an error at 2:56 where it says "Identifier has private access", if you're modding for 1.21+ you need to replace 'new Identifier' with 'Identifier.of', and keep all the paramters the same.
this is a great video although I'd like you to explain what every minecraft/fabric class does so I don't feel like I'm following the video in a blind way. I've been able to make the items and all of that but I still felt like I haven't learned anything(and I've done your java course as well plus prior to that I already knew javascript,css and html)
For real, I'm a literal software engineer and even I find 99% of modding tutorials to be mindless and one dimensional. No one is actually explaining what the fuck these classes do or even why we are changing what we are. I have to reverse engineer the meaning of every instruction lmao
I kinda disagree. I like that the videos are short so you can get the basics down, then go more in-depth later ( I get what you mean though just personal preference )
thank you for providing such a great resource for the community! i also really like the idea of combining the custom item and custom item group guides into one video instead of splitting them up like you’ve done in previous series. very concise and easy to follow :)
Nice tutorial, though I wold explain more in depth what everything does without rushing to type, I noticed this especially in 11:26, where I had to pause the video every second, also there was no explanation about the meaning of the different functions.
I've been programming for a long time now (over a decade), but never really in Java and wanted to try my hand at minecraft modding. So far so good but I already forgot a semicolon so I'm getting the real experience here xD But Java ain't so different from C# so far, so that's nice.
Oh ye! Java and C# are incredibly similar! I saw a comment once that said: "C# tastes like C, looks like Java" - I feel like that sounds about right 🤣😁
I think you are missing explaining why do we have to put such parameters in the functions, just writing while spelling out what you are writing is not enough, for example, it would've been very good to understand why are you putting those parameters at 3:10, maybe explaining a bit of how minecraft loads items, then we know why we have to put those things. Sorry for being so harsh, you do end up explaining some of the concepts at least int he item group things, but it's a lot to take in a single go hahaha, we gotta take it easy, thank you for the series.
Ok this makes a bit more sense after digging around other tutorials and having a PHP background myself. But if this is your first time coding, I wish you the very, very best of luck
Ye, I really try to make it clear in the first episode of the series to first get some java knowledge (or at least programming!). Fully agreed, without any background this'll be rough (almost by design) 🙏🏻🙏🏻
Alright, I had the "purple and black cube" texture issue for my custom item instead of my PNG. But I was able to fix it. Here is what I did: - Created a 16x16 Texture. - Fixed Spelling errors. - Mod ID Consistency: Double-checked that my mod ID used in my files matches the mod ID used throughout my mod (in the texture path and other files). My issue was that Fabric had named my mod with dash's instead of the name I gave it. For example, the "tutorialmod" in the resources/assets path was instead "tutorial-mod". After changing that folders spelling error, the code worked, & I was able to see the custom texture. I hope this helps others!
Thank you so much. I had the same issue. I used "CTRL + SHIFT + F" and "SHIFT SHIFT" hotkeys to search the whole project for "tutorial-mod" (without the quotes) and renamed most of it with "tutorialmod". Also watch out for how you name the directories. I had a typo in "models" (I typed "modles")
I've noticed something strange with how things get loaded in: I've been able to refactor the ModItems class so that nothing happens when you poke it except for a log message (that is to say, everything is done by initializing final members. Which is fine if you *only* put your items into your own custom item group, since only adding things to existing (vanilla or other mods) registries requires you to poke a registry *after* creating it...), but if I don't poke it, the mod items still don't show up. My best guess is this is a detail of Java that I didn't know about before; final members aren't actually created until the class has been poked in _some_ way, which in this case is by making it print out that log message.
Exactly! This is the reason for the registerModItems method which looks like it just outputs a log, but in actuality initializes the static members of the class, so the items are actually properly registered at the correct time! There are some other ways of doing this, putting every thing in a static block or making the registration happen in a method, but I personally like my way the most :)
I used "CTRL + SHIFT + F" and "SHIFT SHIFT" hotkeys to search the whole project for "tutorial-mod" (without the quotes) and renamed most of it with "tutorialmod". Also watch out for how you name the directories. I had a typo in "models" (I typed "modles")
in the advanced item tutorial you make a class just for that item and then theres a thing in the Item class called hasGlint and just set the return value to true
Fantastic tutorial. I was wondering how you open the vanilla Minecraft files in order to find vanilla IDs and how features are implemented for various items? Edit: Found out how. You can use the middle mouse button to open classes that you type in.
Could you please make an in depth video on NBT data? Revently I've been struggling with it and I can't find any reliable videos or resources? Specifically, I would like to see how someone could sort itemStacks and multiple itemStacks inside NBT data.
Hey im trying to make a mod were if an item is in your inventory you will gain creative fly. but I cant figure out how to detect an item in the inventory and there is little documentation on the subject. any help would be great.
Thanks for the free and awesome tutorials! Quick question though, I notice that in the code for the "registerModItems" function the items are registered in the class itself, and the function just adds the items to a group, is it bad practice to also register the items inside of that function? Or is there some advantage to leaving the item outside of the function? I'm pretty new to Java so some of its theory is still processing in my brain.
No, so either thing works, the main thing the registerModItems method does is it acts as a static initializer for the class to actually register the items. You could also assign them inside of that, but I prefer it to the way that I show. I do not believe there is any mechanical difference between doing it my or another way 🤔
Hey, just adding my thoughts here. Either way works, but registering the item outside in the class is a good practice in case you need those item object in some other class as well (Let's say you want to create another item group which contains these items...). Also this way, it looks much more cleaner!
I followed your video but for some reason the texture is not loading for the ruby. I did add the ruby.png but it is not loading the textures. Just a black and purple blocks. I tried again. It works now.
@@4ud170r i found out why it was happening with me, the folder class didnt match up to the modid tags, i runned through it again to make sure i do not forget anything
I used "CTRL + SHIFT + F" and "SHIFT SHIFT" hotkeys to search the whole project for "tutorial-mod" (without the quotes) and renamed most of it with "tutorialmod". Also watch out for how you name the directories. I had a typo in "models" (I typed "modles")
Hello, so happy that this tutorial is coming out. Just finished the java course for Minecraft modding. I want to create mods for hypixel skyblock which is the game mode that I play, will this tutorial will be good for that. I don't want to create new blocks and such things but change things in the game such as taking information from tab or inventorys and having it on the screen all the time and being able to change the position of the information.
@@nickn27 I mean it is compatible with 1.20.1 Fabric. Plus, some songs have their full instrumentation on 1.13+, so they *might* be having a better time.
@@pacomatic9833 What? Thats irrelevant. Hypixel runs on 1.7 iirc and the best version to play skyblock on is 1.8.9. Most if not all mods for skyblock are mod for 1.8.9 because it doesnt have the shitty combat system that microsoft introduced.
It doesn't really matter, either is going to be totally fine. For a complete beginner it is much more essential to have a good Java foundation. Because with that you will be able to pick up either forge or fabric _much_ easier 😁
I've decided to go the Fabric route first myself simply because the ecosystem for that modloader seems to favor the kinds of tiny quality of life or bite-sized content mods that make more sense for the scope of a beginner, so whatever I do end up making might find more success there. Plus I want to be able to play my mod with sodium lol
Does anybody know what to do when i want to type in Identifier and it doesn't work (even when i import the same thing as in the vid) and forces me to write Identifier.Serializer which then causes other problems? I'm on a later version. It says that " 'Identifier(java.lang.String, java.lang.String)' has private access in 'net.minecraft.util.Identifier'
If anyone is having an error at 2:56 where it says "Identifier has private access", if you're modding for 1.21+ you need to replace 'new Identifier' with 'Identifier.of', and keep all the paramters the same.
I followed all instructions perfectly and clearly yet I cannot do the modItems class because my class cant be imported at all, no autocomplete and manually importing doesnt work either, as well my data generator is all broken and the fabric api imports are red, I don't think I did anything wrong, I followed everything step by step and its still not working, and finding nothing online to fix this issue
had the same problem but I think its bec this was made a little bit ago so the fabric loader was updated and (I think) they combined itemgroups within Itemgroup and because I guessed that and changed all the instances of groups to group it works!
I used "CTRL + SHIFT + F" and "SHIFT SHIFT" hotkeys to search the whole project for "tutorial-mod" (without the quotes) and renamed most of it with "tutorialmod". Also watch out for how you name the directories. I had a typo in "models" (I typed "modles")
Hello, and thank you so much! Your videos are incredibly helpful to me. But... EVERYTHING works except for one thing: minecraft does not see the texture and shows a black and purple tile instead I've already lost hope... How can I fix this?
@@ModdingByKaupenjoe had the same problem. I'm a complete newbie to coding, so i just rechecked it million times, rewrote something a little and it loaded! thanks for your tutorials, it is really helpful and entertaining.
I have this error: Cannot snapshot ...\lang\en_us.json: not a regular file. I followed everything and it was working perfectly, but then I tried to launch it again and it broke.
Hi, how did you add more ram to Minecraft, and do you know how I can test it with my normal account and settings with other fabrics mods I have like sodium and iris
hey i need some help, i followed both the first tutorial of this serie and this just perfectly, theres no single error in code, made sure of it, and the mod doesnt work? the only thing that has been different was the run code part of i believe the first chapter? where it just, said that game crashed and didnt open nothing, it never opens it, thats the only difference, how do i solve that?
ik its been a long time since the release of the vid but im having some trouble, the item isnt loading, everything is correct, quadruple checked, and the item just dosnt exist, no errors are playing either
The game loads the new items into the new item group just fine, but the textures of the items are just purple and black checkered boxes, and the names of the items are long with dots and categories. Note, I have checked and rechecked the en_us.json and the ruby.json and the ruby.png four times over! It's not that. What do I do?
i fix the same problem, check your en_us.json the path is, item.nameMOD.nameITEM. I check my code for 3 times and only one letter was missing in the nameMOD. Letter "i" so hard to see.
I used "CTRL + SHIFT + F" and "SHIFT SHIFT" hotkeys to search the whole project for "tutorial-mod" (without the quotes) and renamed most of it with "tutorialmod". Also watch out for how you name the directories. I had a typo in "models" (I typed "modles")
is there any way you could do a tutorial on how to merge your fabric and forge mod into one file? like the falling trees mod, it has its own build.gradle but it has its own fabric and forge src folders, idk if that makes sense
You want to take a look at the architectury api: github.com/architectury/architectury-api That basically offers you fabric, forge and common packages that allows you to have everything in one project. I have not tried it out myself, but I might want to look at it in the future for tutorials 😎😁
How do these mods preform on servers? I want to make mods for my server but want to know if they will work server side (without a client download?) and will 100% follow this course if I know I can do that haha
@@ModdingByKaupenjoe actually, there's a really great resource called "Polymer" by patbox, which allows for creation of serverside items and blocks, so you can still use fabric completely serversided!
can you make a video about how to make a custom gui screen and it will open when i press a key and the key will changeable in controls setting . im trying to make a client . if you make this it will be a great help for me . plzzz
Are these videos compatible with Quilt too? I'm redoing my very early stages Forge mod on Fabric, but one of the API mods I want to use is Quilt exclusive. (I also just want to be able to smoothly run my mod with Sodium and Iris lol)
You don't add it to the package, but the assets textures _folder_ and you should be able to simply drag it into the folder and it's a simple drag and drop. Once again not the package, but in the folder!
Hey, i know it's been a while since this videos release but i've followed the vidoe so far but when i get to importing the texture for the ruby it just just load for some reason specifically showing "Unable to load model: 'tutorialmod:ruby#inventory' referenced from: tutorialmod:ruby#inventory: java.io.FileNotFoundException: tutorialmod:models/item/ruby.json" not sure on the issue any help is great
I managed to fix it almost, check the folder name of models/textures folder. For me, it was different than tutorialmod. I just renamed it and the model works, I still got a missing texture but that's one step closer I think EDIT: managed o fix it, once you change the doler name, make sure to fix it in the models/item .json file you made
error: Identifier(String,String) has private access in Identifier return Registry.register(Registries.ITEM, new Identifier(TutorialMod.MOD_ID, name), item); ↑ what should I do with these? please help me
Well, firstly using 1.21 (or anything 1.20.5+) with this series will not work in the long run, because there have been a lot of changes, just so you're aware🙏🏻 As for your issue, you wanna use Identifier.of instead of new Identifier
How is it different? I just choose to place the registration of the items outside the "ExampleMod" or main class. All the steps should pretty much be the same 🤷🏻♂️
@@ModdingByKaupenjoeon the fabric website they do: public static final Item CUSTOM_ITEM = new Item(new FabricItemSettings()); public void onInitialize() { Registry.register(Registries.ITEM, new Identifier("tutorial", "custom_item"), CUSTOM_ITEM); } looks faster to me is there any benefits to the method in the video
Sure, but it is less organized. If you keep everything in the main class, like blocks, items, block entities etc it will get cluttered very fast! The way I show it is to make it all more organized and neater for bigger projects 🤷🏻♂️
how do i make a custom trident? when i try to create one with the "tridentItem" it works with my custom model but when i throw it, it is just a normal trident in the ground.
The problem there is that the model and texture for the thrown trident entity is different from the model and texture for the item in your hand and inventory. You need to give it the custom model and texture for both the item and the thrown trident entity.
Stared at "layer0": "myfirstmod:items/raw_ruby" as I wrote it for a solid hour, frustrated as to why the texture wasn't loading. Checked with how you wrote it too many times to count. I wrote "items" instead of "item". Yup. Won't ever get that hour back.
for anyone else who may be struggling with this, I learned the hard way that the en.us.json file is supposed to be en_us.json check your file names if shit doesn't work
that's quite normal if you are just learning to program. I recommend watching the java tutorial he specifies in the 1st video and then trying to piece it together using what you know about Java. Also, if you are using Idea, you can select a class or method you wanna know more about and press F4. It will show you how it works. Though that can be very confusing, so looking up documentation is not a bad idea either. The reason you are confused is bc this is less about learning Java and more about learning to use Minecraft and fabric as an interface (a tool which provides predefined functions to help you create what you want) . It involves a lot of abstraction ("here is what you can do, don't worry about how it works"), which can feel very unsatisfactory if you also want to learn more about the language and why certain thing are done in certain ways. You can think of this as someone teaching you how to drive a car. You don't need to know how cars are made and why you need to shift gears, you just need to know what a car is and that shifting gears correctly is important. After all, driving by itself is challenging enough in the beginning. If you wanna know more about how computer languages work or computers themselves in general, you need to start looking into Computer Science courses. Luckly there're plenty available for free online. After that, the best thing you can do is getting used to reading documentations (seriously, it's super useful. Don't know what a class/function does? Documentation -> ctrl+F, -> "ClassName/methodName() -> read and learn") and joining a dev-community, f.e some kind of Minecraft modding discord server/channel and become that guy who asks typical beginner question, but everyone is happy to answer to. Just be nice and everyone will be super useful.
If anyone is having an error at 2:56 where it says "Identifier has private access", if you're modding for 1.21+ you need to replace 'new Identifier' with 'Identifier.of', and keep all the paramters the same.
YOU HAVE SAVED NOT JUST MY LIFE, BUT MY OTHER LIVES AS WELL
THANK YOU
thank you!
thank you
You are the exact definition of those Superman vids with the Starman song in the background
OH MY GOD THANK YOU!
If you are on 1.20.5, use Item.Settings() not FabricItemSettings()
Thank you!
Thanks u saved me
thank you
bump
Thx
this is a great video although I'd like you to explain what every minecraft/fabric class does so I don't feel like I'm following the video in a blind way. I've been able to make the items and all of that but I still felt like I haven't learned anything(and I've done your java course as well plus prior to that I already knew javascript,css and html)
+1
Same
For real, I'm a literal software engineer and even I find 99% of modding tutorials to be mindless and one dimensional. No one is actually explaining what the fuck these classes do or even why we are changing what we are. I have to reverse engineer the meaning of every instruction lmao
I kinda disagree. I like that the videos are short so you can get the basics down, then go more in-depth later ( I get what you mean though just personal preference )
@@cosmic_gate476 Yes because that would take a VERY long time, Minecraft is very complicated
thank you for providing such a great resource for the community! i also really like the idea of combining the custom item and custom item group guides into one video instead of splitting them up like you’ve done in previous series. very concise and easy to follow :)
Thank you so much for the kind words 💙💙
@ModdingByKaupenjoe how long did it take you to learn coding(im just beginning, and I have a entire mod idea written down)
Nice tutorial, though I wold explain more in depth what everything does without rushing to type, I noticed this especially in 11:26, where I had to pause the video every second, also there was no explanation about the meaning of the different functions.
for anyone wondering about name: " " string name item item part at 3:26 just type in a " and it auto fills.
thank you i was losing my mind
Thanks!
cant seem to make it work
I've been programming for a long time now (over a decade), but never really in Java and wanted to try my hand at minecraft modding. So far so good but I already forgot a semicolon so I'm getting the real experience here xD
But Java ain't so different from C# so far, so that's nice.
Oh ye! Java and C# are incredibly similar! I saw a comment once that said: "C# tastes like C, looks like Java" - I feel like that sounds about right 🤣😁
I think you are missing explaining why do we have to put such parameters in the functions, just writing while spelling out what you are writing is not enough, for example, it would've been very good to understand why are you putting those parameters at 3:10, maybe explaining a bit of how minecraft loads items, then we know why we have to put those things.
Sorry for being so harsh, you do end up explaining some of the concepts at least int he item group things, but it's a lot to take in a single go hahaha, we gotta take it easy, thank you for the series.
Ok this makes a bit more sense after digging around other tutorials and having a PHP background myself. But if this is your first time coding, I wish you the very, very best of luck
Ye, I really try to make it clear in the first episode of the series to first get some java knowledge (or at least programming!).
Fully agreed, without any background this'll be rough (almost by design) 🙏🏻🙏🏻
Alright, I had the "purple and black cube" texture issue for my custom item instead of my PNG. But I was able to fix it.
Here is what I did:
- Created a 16x16 Texture.
- Fixed Spelling errors.
- Mod ID Consistency: Double-checked that my mod ID used in my files matches the mod ID used throughout my mod (in the texture path and other files).
My issue was that Fabric had named my mod with dash's instead of the name I gave it.
For example, the "tutorialmod" in the resources/assets path was instead "tutorial-mod".
After changing that folders spelling error, the code worked, & I was able to see the custom texture.
I hope this helps others!
OMG TYSM I have been comparing code for hours think i mistyped something TYSM👍
I was about to delete the project and restart so thanks
in my case the folder from the resources path had another modid that couldnt be changed, got it rigth still
The exact EXACT same thing happened to me, so thank you
Thank you so much. I had the same issue. I used "CTRL + SHIFT + F" and "SHIFT SHIFT" hotkeys to search the whole project for "tutorial-mod" (without the quotes) and renamed most of it with "tutorialmod". Also watch out for how you name the directories. I had a typo in "models" (I typed "modles")
I've noticed something strange with how things get loaded in:
I've been able to refactor the ModItems class so that nothing happens when you poke it except for a log message (that is to say, everything is done by initializing final members. Which is fine if you *only* put your items into your own custom item group, since only adding things to existing (vanilla or other mods) registries requires you to poke a registry *after* creating it...), but if I don't poke it, the mod items still don't show up. My best guess is this is a detail of Java that I didn't know about before; final members aren't actually created until the class has been poked in _some_ way, which in this case is by making it print out that log message.
Exactly! This is the reason for the registerModItems method which looks like it just outputs a log, but in actuality initializes the static members of the class, so the items are actually properly registered at the correct time! There are some other ways of doing this, putting every thing in a static block or making the registration happen in a method, but I personally like my way the most :)
Will you ever show biome creation, natural custom mob spawning, plants, trees, etc?
Yep most of that is planned for World Gen 😎🙏🏻
@@ModdingByKaupenjoe excellent, cheers man
0:10 That intro is fantastic.
the textures wont render in in minecraft and appear as purple and black blocks any idea why?
same problem
I used "CTRL + SHIFT + F" and "SHIFT SHIFT" hotkeys to search the whole project for "tutorial-mod" (without the quotes) and renamed most of it with "tutorialmod". Also watch out for how you name the directories. I had a typo in "models" (I typed "modles")
did you make sure to change the tutorial mod part, that was my problem
Great video! How would you go about making the item look enchanted, like a nether star for example?
in the advanced item tutorial you make a class just for that item and then theres a thing in the Item class called hasGlint and just set the return value to true
the best tutorial you can get for free (also the best tutorial you can get period)
Very useful series, thank you for making it. :)
amazing video. this guy is so great that he makes a tutorial series for every version on forge and fabric. what a legend
Glad you're enjoying them 💙🙏🏻
@@ModdingByKaupenjoeis there a video for custom structures
Fantastic tutorial. I was wondering how you open the vanilla Minecraft files in order to find vanilla IDs and how features are implemented for various items?
Edit: Found out how. You can use the middle mouse button to open classes that you type in.
Can you make a video on adding other mods to our modding environment, so we can launch our mod along with its dependencies?
I think to do this you just have to open the workspace's run folder, and then drop the mods in the mods folder
thanks a lot for these tutorials they are amazing and keep up the great work!!!
Could you please make an in depth video on NBT data? Revently I've been struggling with it and I can't find any reliable videos or resources? Specifically, I would like to see how someone could sort itemStacks and multiple itemStacks inside NBT data.
Since 1.21 'new Identifier(TutorialMod.MOD_ID)' has been replaced by 'Identifier.of(TutorialMod.MOD_ID)'
Thank you, you safe my time!
Hey im trying to make a mod were if an item is in your inventory you will gain creative fly. but I cant figure out how to detect an item in the inventory and there is little documentation on the subject. any help would be great.
Rip
Thanks for the free and awesome tutorials! Quick question though, I notice that in the code for the "registerModItems" function the items are registered in the class itself, and the function just adds the items to a group, is it bad practice to also register the items inside of that function? Or is there some advantage to leaving the item outside of the function? I'm pretty new to Java so some of its theory is still processing in my brain.
No, so either thing works, the main thing the registerModItems method does is it acts as a static initializer for the class to actually register the items. You could also assign them inside of that, but I prefer it to the way that I show. I do not believe there is any mechanical difference between doing it my or another way 🤔
@@ModdingByKaupenjoe Alright, thanks!
Hey, just adding my thoughts here. Either way works, but registering the item outside in the class is a good practice in case you need those item object in some other class as well (Let's say you want to create another item group which contains these items...). Also this way, it looks much more cleaner!
alright, thanks for the addition!
I followed your video but for some reason the texture is not loading for the ruby. I did add the ruby.png but it is not loading the textures. Just a black and purple blocks.
I tried again. It works now.
how did you solve it
@@carluxobr8138 try again. I did it all from the start again.
@@4ud170r i found out why it was happening with me, the folder class didnt match up to the modid tags, i runned through it again to make sure i do not forget anything
I used "CTRL + SHIFT + F" and "SHIFT SHIFT" hotkeys to search the whole project for "tutorial-mod" (without the quotes) and renamed most of it with "tutorialmod". Also watch out for how you name the directories. I had a typo in "models" (I typed "modles")
Hello, so happy that this tutorial is coming out. Just finished the java course for Minecraft modding.
I want to create mods for hypixel skyblock which is the game mode that I play, will this tutorial will be good for that. I don't want to create new blocks and such things but change things in the game such as taking information from tab or inventorys and having it on the screen all the time and being able to change the position of the information.
Then this tutorial isnt for you. This is for fabric, meanwhile skyblock is played with 1.8.9 and on forge.
@@nickn27 I mean it is compatible with 1.20.1 Fabric.
Plus, some songs have their full instrumentation on 1.13+, so they *might* be having a better time.
@@pacomatic9833 What? Thats irrelevant. Hypixel runs on 1.7 iirc and the best version to play skyblock on is 1.8.9. Most if not all mods for skyblock are mod for 1.8.9 because it doesnt have the shitty combat system that microsoft introduced.
@@nickn27 Key word: might
@@nickn27 ...if hypixel ran on 1.7, why would people use 1.8? hypixel runs on 1.8.
how do you make the pngs for the item textures?
gimp, procreate, paintdotnet, etc. your drawing area should be 16x16 pixels.
yeah just use gimp
FabricItemGroupEntries, Registries - not working
I was lucky to get errors, ty to fabric weird self-folder-naming. So I'm now familiar with process of checking logs and fixing minor problems, haha
forgot the comma... took forever to find XD
how do i make the 2d model 3d @Modding by Kaupenjoe
For a complete begginer, would you recommend fabric or forge?
It doesn't really matter, either is going to be totally fine. For a complete beginner it is much more essential to have a good Java foundation. Because with that you will be able to pick up either forge or fabric _much_ easier 😁
Fabric will most likely replace forge eventually.
It's gaining momentum fast.
I've decided to go the Fabric route first myself simply because the ecosystem for that modloader seems to favor the kinds of tiny quality of life or bite-sized content mods that make more sense for the scope of a beginner, so whatever I do end up making might find more success there. Plus I want to be able to play my mod with sodium lol
Does anybody know what to do when i want to type in Identifier and it doesn't work (even when i import the same thing as in the vid) and forces me to write Identifier.Serializer which then causes other problems? I'm on a later version. It says that " 'Identifier(java.lang.String, java.lang.String)' has private access in 'net.minecraft.util.Identifier'
If anyone is having an error at 2:56 where it says "Identifier has private access", if you're modding for 1.21+ you need to replace 'new Identifier' with 'Identifier.of', and keep all the paramters the same.
@@rednastyb thank you so much
I followed all instructions perfectly and clearly yet I cannot do the modItems class because my class cant be imported at all, no autocomplete and manually importing doesnt work either, as well my data generator is all broken and the fabric api imports are red, I don't think I did anything wrong, I followed everything step by step and its still not working, and finding nothing online to fix this issue
had the same problem but I think its bec this was made a little bit ago so the fabric loader was updated and (I think) they combined itemgroups within Itemgroup and because I guessed that and changed all the instances of groups to group it works!
For those who are missing some classes, make sure that "Mojang Mappings" is not enabled. I enabled it and didn't know what the hell was wrong, lol.
hey i have a problem my texture is a giant 3D cube with purple and black how do i fix it
the assets folder "tutorial-mod" folder should be called "tutorialmod" which is the same as the mod id , that should fix it
I used "CTRL + SHIFT + F" and "SHIFT SHIFT" hotkeys to search the whole project for "tutorial-mod" (without the quotes) and renamed most of it with "tutorialmod". Also watch out for how you name the directories. I had a typo in "models" (I typed "modles")
the registerItemGroups function does nothing atm right ? cause for me its just a log so why we created that ?
Hello, hope you are doing well!
Following the tutorial i couldn't add items into a vanilla group since they're private. How to proceed?
make your own group sadly, as it is impossible as far as i know
@@Kooczsi how tho?
The texture isnt showing for me! It is a purple and black checker texture block as the item... any fix?
Check your spelling on everything in the .json files in the resources
yeah got it thanks @@hughzon1042
and folder names ie 'tutorial-mod' vs 'tutorialmod'
yeah I know I already said I got it@@hughzon1042
same issue bruh
Hello, and thank you so much! Your videos are incredibly helpful to me. But... EVERYTHING works except for one thing: minecraft does not see the texture and shows a black and purple tile instead
I've already lost hope... How can I fix this?
There has to be a typo in either your folder structure or the json file. Double check everything including spelling of lower and upper case
I rewrote the code several times and everything worked! Thank you for your videos and responsiveness)
@@ModdingByKaupenjoe had the same problem. I'm a complete newbie to coding, so i just rechecked it million times, rewrote something a little and it loaded! thanks for your tutorials, it is really helpful and entertaining.
I have this error: Cannot snapshot ...\lang\en_us.json: not a regular file. I followed everything and it was working perfectly, but then I tried to launch it again and it broke.
how do I allocate more ram to the minecraft client?
edit: figured it out
Hi, how did you add more ram to Minecraft, and do you know how I can test it with my normal account and settings with other fabrics mods I have like sodium and iris
thank you
hey i need some help, i followed both the first tutorial of this serie and this just perfectly, theres no single error in code, made sure of it, and the mod doesnt work? the only thing that has been different was the run code part of i believe the first chapter? where it just, said that game crashed and didnt open nothing, it never opens it, thats the only difference, how do i solve that?
make sure you dont leave any code half finnished or else the game wont start
9:12 eh? How he add that png? Dragged the file there? Or you will right click the >item and then click something there?
I just dragged the png into the texture>item folder.
ik its been a long time since the release of the vid but im having some trouble, the item isnt loading, everything is correct, quadruple checked, and the item just dosnt exist, no errors are playing either
fixed
@@ambermonkey69what was the problem
@@daft_icup it was a capital letter that wasn't meant to be a capital letter
The game loads the new items into the new item group just fine, but the textures of the items are just purple and black checkered boxes, and the names of the items are long with dots and categories.
Note, I have checked and rechecked the en_us.json and the ruby.json and the ruby.png four times over! It's not that. What do I do?
i fix the same problem, check your en_us.json the path is, item.nameMOD.nameITEM. I check my code for 3 times and only one letter was missing in the nameMOD. Letter "i" so hard to see.
Your ruby.json is incorrectly defined.
I used "CTRL + SHIFT + F" and "SHIFT SHIFT" hotkeys to search the whole project for "tutorial-mod" (without the quotes) and renamed most of it with "tutorialmod". Also watch out for how you name the directories. I had a typo in "models" (I typed "modles")
somehow my item shows up as belonging to minecraft and my textures arent working
*edit* fixed it after countless hours of spell checking
at roughly 2:45 - in the registerItem method you did not add your mod id to the Registry.register call then 🤔
Is there any way to sort in what order items appear in a vanilla item group?
is there any way you could do a tutorial on how to merge your fabric and forge mod into one file? like the falling trees mod, it has its own build.gradle but it has its own fabric and forge src folders, idk if that makes sense
You want to take a look at the architectury api: github.com/architectury/architectury-api
That basically offers you fabric, forge and common packages that allows you to have everything in one project. I have not tried it out myself, but I might want to look at it in the future for tutorials 😎😁
@@ModdingByKaupenjoe if you made a tutorial that would be awesome!!
hey uh my custom item was a purple and black cube, there are no errors, how do i fix this?
It's a typo in either the JSON file or the directory structure. Double check all the spelling!
just did and its still purple and black, are underscores allowed in item names?@@ModdingByKaupenjoe
How do these mods preform on servers? I want to make mods for my server but want to know if they will work server side (without a client download?) and will 100% follow this course if I know I can do that haha
That does not work, Mods are specifically Server _and_ Client. If you're looking for server-side only you have to take a look at plugins!
@@ModdingByKaupenjoe Thanks, my server is fabric. So when you say plugins?
@@ModdingByKaupenjoe actually, there's a really great resource called "Polymer" by patbox, which allows for creation of serverside items and blocks, so you can still use fabric completely serversided!
you never showed how to put the item texture in. now im stuck. help?
You simply drag it from a windows folder into the folder inside intellij 🤔🤔
can you make a video about how to make a custom gui screen and it will open when i press a key and the key will changeable in controls setting . im trying to make a client . if you make this it will be a great help for me . plzzz
4:40 Sorry, but I don't have these groups. Can you tell me the cause of the problem?
How can i activate that the generated text before the String in 3:26 shows up? I accidently turned it off.
i also cant figure out how to do this
press the " key and it generates
@@Beangus421 thanks
Are these videos compatible with Quilt too? I'm redoing my very early stages Forge mod on Fabric, but one of the API mods I want to use is Quilt exclusive. (I also just want to be able to smoothly run my mod with Sodium and Iris lol)
They should mostly be compatible yes, I can't 100% confirm, but they should be 🙏🏻
@@ModdingByKaupenjoe Thanks for the reply! Time to make some good stuff with this...
Do these coding stufd work for older versions lets say 1.7.3
Why my new block can't be seen when I use the empty map
SOMEONE PLEASE HELP!!! I DON'T KNOW HOW TO ADD THE ITEM TEXTURE TO THE PACKAGE!!
You don't add it to the package, but the assets textures _folder_ and you should be able to simply drag it into the folder and it's a simple drag and drop. Once again not the package, but in the folder!
For me the RegistryKeys are private in ItemGroups
Did you ever find a way around this?
Yes, I made a new class and copied the RegistryKey Attributes as well as the register method from the ItemGroups class.
Hey, i know it's been a while since this videos release but i've followed the vidoe so far but when i get to importing the texture for the ruby it just just load for some reason
specifically showing "Unable to load model: 'tutorialmod:ruby#inventory' referenced from: tutorialmod:ruby#inventory: java.io.FileNotFoundException: tutorialmod:models/item/ruby.json"
not sure on the issue any help is great
I managed to fix it almost, check the folder name of models/textures folder. For me, it was different than tutorialmod. I just renamed it and the model works, I still got a missing texture but that's one step closer I think
EDIT: managed o fix it, once you change the doler name, make sure to fix it in the models/item .json file you made
Oh my god thank you, i gave up yesterday after trying to fix it for half an hour and couldn't find the issue thank you
Hello, I need help as when i create the texture folder 5:45 they keep changing the name instead. Would really help if you could tell me how to fix
uncheck: "compact middle packages" its somewhere in the "tree appearance" setting thing
if you dont own minecraft, than this is a cheat to play it for free but you cant do multiplayer
error: Identifier(String,String) has private access in Identifier
return Registry.register(Registries.ITEM, new Identifier(TutorialMod.MOD_ID, name), item);
↑
what should I do with these? please help me
Well, firstly using 1.21 (or anything 1.20.5+) with this series will not work in the long run, because there have been a lot of changes, just so you're aware🙏🏻
As for your issue, you wanna use Identifier.of instead of new Identifier
Bro it was so freaking hard I think I am gonna give up but idk
Do not!
at 4:45 I register doesnt work it turns red and i get an error
1.20.5+ fabric changed some method names to call em, use Item.Settings instead of FabricItemSettings
At 11:48 Why do we need to add "ruby" at the end? What is its purpose?
how i think. its adding string "ruby". for later find in texttranslatable that "ruby"
Why do we register the item different to how it is done on the fabric website tutorial
How is it different? I just choose to place the registration of the items outside the "ExampleMod" or main class. All the steps should pretty much be the same 🤷🏻♂️
@@ModdingByKaupenjoeon the fabric website they do:
public static final Item CUSTOM_ITEM = new Item(new FabricItemSettings());
public void onInitialize() {
Registry.register(Registries.ITEM, new Identifier("tutorial", "custom_item"), CUSTOM_ITEM);
}
looks faster to me is there any benefits to the method in the video
Sure, but it is less organized. If you keep everything in the main class, like blocks, items, block entities etc it will get cluttered very fast!
The way I show it is to make it all more organized and neater for bigger projects 🤷🏻♂️
For some reason mine has no texture
my mod items isnt green
how do i make a custom trident? when i try to create one with the "tridentItem" it works with my custom model but when i throw it, it is just a normal trident in the ground.
The problem there is that the model and texture for the thrown trident entity is different from the model and texture for the item in your hand and inventory. You need to give it the custom model and texture for both the item and the thrown trident entity.
@@jonispatented ohh, that makes sense, do you know what i need to do to add the thrown model?
Textures arent working everything is the same as you
Could You Please And i Mean PLEASE I'm BEGGING YOU CAN You Make a VSCode One For 1.19 Please i Would appreciate it a lot please Fabric
Stared at "layer0": "myfirstmod:items/raw_ruby" as I wrote it for a solid hour, frustrated as to why the texture wasn't loading. Checked with how you wrote it too many times to count. I wrote "items" instead of "item". Yup. Won't ever get that hour back.
I'm surprised about the mistakes people make. I guess it is because coding can be hard for beginners
I am telling you, I have seen it all at this point 😅🤣🤣
bro conjured code that fabric doesn't even support for 1.20.1 💀
6:03
thanks so much, but the name is just glitched anyway (example: item.modname.gold)
I had the same issue. Rename the lang file to en_us.json, and it should fix!
for anyone else who may be struggling with this, I learned the hard way that the en.us.json file is supposed to be en_us.json
check your file names if shit doesn't work
Anyone know how to turn this folder into a .jar file so I can test this in an actual modpack?
Underrated comment.
Lmao did you just comment on yourself with "Underrated comment"?
Sorry guys. I have dementia.
Bro has dementia.
zaynaz do you have dementia? no way he has dementia.
im just copying all what u do, not learning anything. How am I supposed to learn shit
that's quite normal if you are just learning to program. I recommend watching the java tutorial he specifies in the 1st video and then trying to piece it together using what you know about Java. Also, if you are using Idea, you can select a class or method you wanna know more about and press F4. It will show you how it works. Though that can be very confusing, so looking up documentation is not a bad idea either.
The reason you are confused is bc this is less about learning Java and more about learning to use Minecraft and fabric as an interface (a tool which provides predefined functions to help you create what you want) . It involves a lot of abstraction ("here is what you can do, don't worry about how it works"), which can feel very unsatisfactory if you also want to learn more about the language and why certain thing are done in certain ways.
You can think of this as someone teaching you how to drive a car. You don't need to know how cars are made and why you need to shift gears, you just need to know what a car is and that shifting gears correctly is important. After all, driving by itself is challenging enough in the beginning.
If you wanna know more about how computer languages work or computers themselves in general, you need to start looking into Computer Science courses. Luckly there're plenty available for free online.
After that, the best thing you can do is getting used to reading documentations (seriously, it's super useful. Don't know what a class/function does? Documentation -> ctrl+F, -> "ClassName/methodName() -> read and learn") and joining a dev-community, f.e some kind of Minecraft modding discord server/channel and become that guy who asks typical beginner question, but everyone is happy to answer to. Just be nice and everyone will be super useful.
@@enot2140 Thank you so much for this respons!!! Ill try it all out :)