We are going to do some Minecraft mod creation :3 let’s hope that we get so good that I get into my own my minecraft default mods list.
Gallery
I post all the screenshots on imgur, here is the link.
Uur-log
1. Setup
13/02/2025
17:45 - 20:00: Getting started with ep 1. This took way longer then expected. This first episode is about getting started, making your mod launch. But because I encountered random errors, it took me 2 hours longer than the length of the video itself??
I started writing down how to do things in Minecraft Fabric modding 1.21, so that is also a reason why it took a bit more time, but that’s probably only the cause of 15m.
2&3. Custom Item and Custom Block
14/02/2025
11:20 - 12:10: It’s time for ep 2 Added my first item:
This again took quite a bit longer than it should’ve. this is because I did notice that my modId had an -
which would probably break things later on. so I decided to redo everything since step of creating the template.
We are currently on 3 hours and 5 minutes. I am definitely going to exceed the Estimated 8 hours that I thought it would take. TwT.
I am actually going to continue with ep3.
This took 30 minutes… We are now on 3 hours and 35 minutes
I have learned so far that what I have seen from java is quite similar to C# And I am quite happy that this tutorial teaches kids DRY, clean code xD
4. Item groups
20/02/2025
16:00 - 16:20:
I am going to watch ep4 about item groups. What I have noticed this far into the tutorial is that java is quite similar to C# but also, has quite a few changes. and I am definitely going over the 8 hours I thought I would spend on this.
It was quite straight forward on how to make an inventory item group.
We are now on 3 hours and 55 minutes.
5. Loot tables and recipes
20/02/2025
17:00 - 18:50:
This feels like this is going to be a big one, cause ep5 is about loot tables and recipes.
We are now on 4 hours and 45 minutes.
6. Custom Chisel Item
21/02/2025
14:15 - 14:45:
In episode 6 it loos like we are going to make some sort of advanced item, which means more modding than json. I suppose? I guess that we’ll see.
And it is correct. The tutorial made an item to swap between blocks with a chisel. I added my own functionality to swap it automatically back if it is undefined and you click again.
We are now on 5 hours and 15 minutes.
7. Magic block
21/02/2025
15:35 - 16:00:
In episode 7 we are going to make an advanced block. I hope that this one is more about code then json, just like last episode.
In this episode we added a magic block that makes noise when clicked, and it replaces gunpowder items thrown on top into creeper eggs.
Again went a little off the tutorial by making the magic block
only craftable by chiseling a block of Pink Garnet
We are now on 5 hours and 40 minutes.
8. Custom food and feul
21/02/2025
16:15 - 16:30:
In ep 8 we ae going to create custom food and fuel. Also, it’s only now that I realized that this tutorial has 52 videos.
This was quite interesting. I find it funny how little code you have to add to make an item xD
My first test - Drill
06/03/2025
14:30 - 15:00 I am going to try and make something by myself to test whether I remember everything correctly. And I understand what I have learnt so far. To test this, I’ll set a goal beforehand before trying:
I want to create an item, that will be able to break bedrock, so that we have a replacement for the annoying glitch technique that you’d have to use if you were in normal Minecraft. I want it to use the same materials and act like a tool. It is really just for the people that don’t know how to make a contraption like this, and not for becoming cheaper.
First I wrote down all materials that it normally requires:
piston 1
obsidian 1
tnt 2
smooth_stone 1
trapdoor 1
lever 1
And got a piece of concept art:
I know that it looks ass, but that’s why it’s concept art.
After 30 minutes I got it working, as you can see here. Someday I am definitely going to put this into a separate Minecraft mod, cause I actually like this item.
Now let’s continue with the other videos, cause there is a lot left to learn.
9. Custom tooltips.
06/03/2025
15:10 - 15:40 in episode 9 we’ll learn to create custom tooltips :3
here is a list of codes you can use for text formatting.
I have learnt here about java anonymous classes.
We are now on 6 hours and 55 minutes.
10. Custom Item and block tags
06/03/2025
15:40 - 15:55 in episode 10 we’ll learn to create custom tags.
This is quite useful, if you want multiple items to fit in a category, and since multiple mods can make use of this tag.
We are now on 7 hours and 10 minutes.
11. Data Generation
06/03/2025
16:00 - 18:00 in episode 11 we’ll learn about Data Generation.
I had a problem with Data Generation, then I changed from JDK 21 to 17 and back to 21, and then it suddenly worked. this did cost me a lot of time tho.
I have also seen a new syntax that I’ll have to look into myself later on: java class::syntax.
If you want to specify multiple recipes with the same result, you have to specify that in the ModRecipeProvider.
Data generation
By the data generator, whenever I ran it for the second time I had an error where it wants to generate things that already exists. there are multiple ways to fix this:
Link to original
- delete the
generated
folder, and try again. (every time you want to generate the data)- Changing the gradle settings:
- go into the build.gradle file in the top level directory,
- find
processResources { // something here }
. Or if it doesn’t exist create it.- add
duplicatesStrategy = DuplicatesStrategy.INCLUDE
between the{}
brackets. This will overwrite it. For more info, read the gradle wiki.
I also had an issue because I didn’t name the fallen_star
like the tutorial did: starlight_ashes
. but I just fixed that by making the texture name fallen_star.png
We are now on 9 hours and 10 minutes.
12. Non-Block Block Types
13/03/2025
11:30 - 12:25 in episode 12 we’ll learn about other block types like stairs slabs etc.
This is quite interesting to see how much is already done for you, it is quite easy to add new things. Tho if I would add all variations of a block to my mod, I’d probably do it in a separate file.
We are now on 10 hours and 5 minutes.
13. Blockstates
13/03/2025
13:15 - 13:45 in episode 13 we’ll learn about Blockstates. Here we basically learnt how to add params to a block, for example: a boolean. This one is a bit jambled in the explenation and understanding of it, probably because he tries to make it understandable for non programmers. But I’ll take an extra look at this later.
It is basically the whole idea that a block is an model instance of that block’s class. and then explained very poorly.
We are now on 10 hours and 35 minutes.
14. Data Components
13/03/2025
13:45 - 14:15 in episode 14 we’ll learn about data components. This seems like yet another technical one.
It is just like Blockstates, but then the item version. it’s the newer NBT system basically. To use the old NBT system, there is a class called NbtComponent
and NbtCompound
.
I just recognised that I want to look into the datatypes that I keep using: public static final ...
It is quite cool to make custom component data that I can add to my Items, like the coordinate example.
The newer data components system is an upgrade from the NBT system, but sadly you do need a codec every time you want to register a new type.
Basically how this works, at least how I understood it, is that ComponentType<BlockPos>
is the type of value you want to save as data. and the other parts are there to help register it. but if you want a string instead, just change it to ComponentType<String>
. and idk how the codec works yet, so maybe you’d have to change that too.
We are now on 11 hours and 5 minutes.
15. Custom Minecraft Tools
13/03/2025
14:20 - 15:05 in episode 15 we’ll learn about how we can make custom tools :3
For this episode we had to make a manual json file again since fabric doesn’t have a remove method added yet xD.
We are now on 11 hours and 50 minutes.
16. Custom Hammer Tool
13/03/2025
15:20 - 15:30 in episode 16 we’ll try and make a custom hammer item. Here we used recursion to create a hammer.
We are now on 12 hours and 0 minutes.
17. Custom armor
13/03/2025
15:35 - 16:15 in episode 17 we are going to make custom Armor.
The png had a typo lol. This will automatically work with the armor trims :3
We are now on 12 hours and 40 minutes.
18. Armor effects
13/03/2025
16:35 - 16:45 in episode 18 we are going to find out how to give a player a static effect whenever a full set of armor is equipped
We are now on 13 hours and 0 minutes.
19. Horse armor
13/03/2025
16:55 - 17:10 in this episode we are adding custom horse armor. idk why I needed this.
We are now on 13 hours and 15 minutes.
20.Armor trims
13/03/2025
17:15 - 18:05 We have arrived to episode 20 where we will learn how to create custom armor trims.
This depends on DataGen, so if you create the JSON File Format recipes etc manually, it will not work. or at least, that’s that he says.
We are now on 14 hours and 05 minutes.
21. Model Predicates
17/03/2025
11:35 - 11:50
In this episode we will have a look at Model Predicates, and I have no clue what this is going to be about beforehand.
So this is basically that you are able to change an item texture based on logic. so for example you can change an item based on it’s damage value, biome you are in, etc etc.
We used this to change the chisel when used. It is quite easy actually :3 It doesn’t work combined with DataGen so just move the generated data into the correct folder and edit it.
22. Custom Bow
17/03/2025
13:35 - 13:50 In this episode we are going to add a custom bow. I assume that we’ll be using Model Predicates for that, but we’ll see.
Yes I was indeed right :3 It was actually kind of straight forward, except for the part where we created a Mixin, we add that to overwrite hardcoded behaviour, but i don’t fully understand how it works.
We are now on 14 hours and 35 minutes.
23. Events
17/03/2025
16:05 - 16:20
Programming Events work different in fabric than in forge.
Kaupen is down bad mannn, making me do this to a poor sheep. 💀💀💀💀
We are now on 14 hours and 50 minutes.
24. Custom sounds
19/03/2025
14:45 - 15:10
I am glad that I don’t have to record my own audio for this xD.
Apparently they have to be proper .ogg
files, .mp3
won’t work. They also have to be in Mono.
Don’t forget to add the subtitles to the en_us.json
like the tutorial does.
We are now on 15 hours and 15 minutes.
25 custom music disc
24/03/2025
15:15 - 15:50
In episode 25 we are adding a custom music disc.
So apparently, if you use Stereo audio, it will play everywhere in the world. which is funny.
I added a song myself hehe :3
26. Custom Potion effects
24/03/2025
16:45 - 17:15
For some reason the icons for status effects are 18x18, that is not a resolution used anywhere else.
If you want to add your own effect, you need to know how to code, you can’t just copy paste them.
I am going to try and create my own effect to see if I have learnt enough for that.
The effect I made removes 4 blocks / seconds below the player, this makes it so that you have to keep running to not fall out of the world. I had enough knowledge to do this, but this wasn’t really advanced anyways.
It works lmao!!
We are now on 16 hours and 20 minutes.
27. Custom Potions
25/03/2025
15:45 - 16:15
In this video we are making a custom option :3
it is not that hard, but sadly I can’t add custom levels per potion unless you register them as multiple potions, which I did.
This one took long because I had to get my own potions working as well :3
We are now on 16 hours and 50 minutes.
28. Custom Paintings
25/03/2025
17:20 - 17:35
You can do this without any code lol. You can do this with a Datapack.
This is almost all we need to add per painting.
{
"asset_id": "tutorialmod:filename",
"height": 2,
"width": 2
}
height and width are in blocks, and every block is 16x16 pixels. the max is 16x16 blocks.
And you need the placeable.json
, that’s it. it is very easy.
We are now on 17 hours and 5 minutes.
29. Update to 1.21.3
yeah imma skip this one sicne the tutorial will contineuw ith 1.21.1 in the other videos.
30. Custom Enchantment
05/04/2025
13:00 - 13:40- video
After this one I have now decided that I’ll make a Limbo enchantment, by myself, as a challenge.
We are using a new java thing that I haven’t heard of before: record, which is a datatype, but that’s all I know about it. It is quite straight forward, so I think that I can easily create my own LIMBO enchantment.
We are now on 17 hours and 45 minutes.
I found out how to export the mod :3
Limbo enchantment
14:30 - 15:20
I want to create an enchantment to put on a sword, and it sends the hit person to the exact same coordinate (divided by 8) in the nether. (it should also set the blocks there to air.)
I have made it, it took a while because I had to figure out what a PositionFlag was. which was harder than expected. But it was very fun to do this. I also had to test with myself which was funny.
Limbo won’t teleport you above or below the bedrock layer, and it will put a fire where you were standing.
We are now on 18 hours and 35 minutes.
31. Custom Crops
05/04/2025
16:40 - 17:15- video
We added cauliflower crop… yay ._.
We are now on 19 hours and 10 minutes.
32. Custom Bush
07/04/2025
14:50 - 15:20- video
I honestly don’t care, but we’ll do it anyways.
I also don’t know how this took 30 minutes.
We are now on 19 hours and 40 minutes.
33. Basic World Gen Setup
07/04/2025
15:45 - 16:00- video
Now this is the thing that I am interested in. Me and Thomas had an mod idea we wanted to make for a long time, we basically wanted an Infinite Ikea World generation mod. And so this will definitely help me achieve my goal.
So in this video we will prepare our project for future Terrain generation modding.
We are now on 19 hours and 55 minutes.
34. Ore Generation
11/04/2025
16:30 - 17:15- video
in this episode we will add ore generation to the nether end and overworld.
We are now on 20 hours and 40 minutes.
Java research
15/04/2025
15:30 - 16:45
In this section I started doing a bit of research on Java things that I have used without knowing how it works.
We are now on 21 hours and 55 minutes.
35. Custom Tree
23/04/2025
19:20 - 20:00- video
I have learned how to create a tree, and I found out that you can spawn structures with saplings, but the original spawn rules must be met. So you cant spawn a dessert well on grass.
We are now on 22 hours and 35 minutes.
36. Tree generation
24/04/2025
16:30 - 16:55- video
Here we learn to actually place our trees throughout the world when the world is generated. Last tutorial we only learned how to make the trees.
We are now on 23 hours and 00 minutes.
37. Tree on different block
24/04/2025
17:20 - 16:25- video
Here we learn how to make our tree spawnable on different blocks.
We are now on 23 hours and 05 minutes.
38. Bush generation
02/05/2025
14:05 - 14:25- video
This video shows us how to add our earlier created bush to the world generation.
We are now on 23 hours and 25 minutes.
39. Custom mob
02/05/2025
14:30 - 15:30- video
This video shows us how to create entities, this took a while. Blockbench is the app to create models with.
We are now on 24 hours and 25 minutes.
40. Entity variants
08/05/2025
18:00 - 18:20- video
In this episode we are going to make a mantis variant, not that I care, I didn’t care about creating entities, but it is part of the tutorial..
We are now on 24 hours and 45 minutes.
41. Entity spawning
08/05/2025
19:10 - 19:20- video
In this episode we are going to make the mantis spawn in the world.
We are now on 24 hours and 55 minutes.
42. Entity sounds
08/05/2025
19:30 - 19:35- video
In this episode we are going to make the mantis play sounds.
We are now on 25 hours and 00 minutes.
43. Throwable Projectiles
13/05/2025
11:25 - 12:00- video
Here we learn to create a throwing projectile.
It has some interesting syntax EntityType.Builder.<TomahawkProjectileEntity>create(TomahawkProjectileEntity::new, SpawnGroup.MISC)
We are now on 25 hours and 35 minutes.
44. Custom Boss Bar
13/05/2025
12:00 - 12:10- video
here we are going to display a bossbar for an entity.
We are now on 25 hours and 45 minutes.
45. Custom Block models
13/05/2025
12:10 - 12:25- video
here we are going to create a chair model. Well actually, Import a chair model. The chair model is already provided.
We are now on 26 hours and 00 minutes.
46. Sittable Blocks
20/05/2025
16:20 - 16:30- video
In this episode we made a chair sittable by spawning and riding an invisible entity.
We are now on 26 hours and 10 minutes.
47. Animated Textures
20/05/2025
16:50 - 17:00- video
here we learnt to animate textures
We are now on 26 hours and 20 minutes.
48. Custom Item Model
20/05/2025
17:00 - 17:05- video
Having an item with a custom 3d model.
We are now on 26 hours and 25 minutes.
49. 2D texture, 3D model
20/05/2025
17:10 - 17:20- video
We made it so that there is an item with a 2d texture in the inventory, but it has a 3d model when in hand.
We are now on 26 hours and 35 minutes.
50. Custom Villagers
20/05/2025
17:20 - 17:30- video
We made a villager that can have a custom profession
We are now on 26 hours and 45 minutes.
51. Custom Villager Trades
20/05/2025
17:30 - 17:35- video
In this video we added trades to all kind of villager professions + wandering trader trades.
We are now on 26 hours and 50 minutes.
52. Spawning Particles
20/05/2025
17:40 - 17:45- video
In this episode we learnt how to spawn particles of and at the particular block that we clicked.
We are now on 26 hours and 55 minutes.
53. Custom Particle Types
20/05/2025
17:50 - 17:05- video
here we learnt to make our own particles.
We are now on 27 hours and 10 minutes.