https://www.youtube.com/watch?v=ND74Ang28RY

I made a Minecraft mod even though I don’t know any Java, and I don’t mean some data pack but a fully fledged Fabric mod that goes into the Minecraft source code and alters it with custom programming. But wait, how can I mod Minecraft, a game written in Java, without knowing any Java?

Well, this all started a little less than a year ago. I had about a hundred subscribers, and my videos were getting something like 10 to 100 views. Then I made maybe my favorite clip that I’ve ever made. I mean, you don’t have anyone to interact with; you’re just sitting late at night in the dark alone, talking to your computer or video that no one will even watch. Pathetic

Anyways, okay, maybe not so funny, but no matter how not funny you think it is or how amazing I think it is, there’s clearly a big problem with this clip—it looks like crap. Okay, it kind of adds to the clip, so it’s not a problem exactly, but it did make me think if there was a better way to do this.

For this clip, I had to zoom. The tool I normally use is a logical zoom by Logical Geek Boy, but that only gave me one zoom level, and I used five. So I needed to zoom in post-production, which is why it looks like trash. Fast forward a little bit, I’m still struggling to figure out my channel, but I have more solidified my editing and visual style, which continues to include zooms. This brought me to my last video, which required a scene with three zoom levels, and I absolutely did not want to brawl in post-production.

So I searched for a mod to do this and failed to find one. But I did find Logical Zoom’s GitHub, and I do know how to copy and paste, so that’s exactly what I did. I basically just copied and pasted, tested the main functions three times, and voila, three zoom levels. And that’s how I made this little scene.

Well, bamboo. Bamboo? Yes, bamboo. So it’s a working mod, but really, that’s not good enough for me. I like to not only make things work but also understand why they work. Plus, there are some other small mods I would like that don’t seem to be out there, so why not teach myself to make mods? I’ve never used Java before and I don’t plan on quote unquote learning it, but isn’t most of programming just copying and pasting anyways?

See, I’ve dabbled with programming for a long time and played with a lot of languages. I’m not really great at any of them, but I know programming structures and concepts. So I thought maybe I can just skip the formal learning process and just jump right into Fabric modding. And that’s exactly what I did by using the Fabric example mod repository, reading some of the Fabric documentation, examining other open source mods, selectively Googling, and just plain trial and error. I was able to develop a simple yet flexible Fabric mod for Minecraft without knowing any Java at all.

So what is it? Well, the Zoom-O-Matic: a solution for all your zooming needs. It zooms not once, not twice, but three times, and it’s fully customizable with the ability to change zoom levels and toggle the smooth camera function. Okay, so there are better zoom mods out there, so I didn’t make this to be your mod of choice but instead as a learning process in how to develop Fabric mods. And that’s kind of the point of this video. It’s not to say use my mod; it’s instead to say make your own mod because you don’t need to know how to do it, and you don’t even need to know Java. You just need to start.

A lot of people who want to accomplish things such as making a mod end up getting paralyzed in the preparation phase. They rationalize that they need to know more before they start, and they end up never starting. In my experience, this is based in fear of failure. This fear kills more projects than any other factor before they even get started. So don’t do that. If you have an idea, stop planning and go for it.

Okay, so if you know no programming at all, maybe do a quick W3 Java tutorial first, but my experience is that jumping in as soon as is feasible is the best method for learning because you will gain context right away. This isn’t only true for programming but for most things. It’s how I learned video editing and animating. My first animated graphs that I ever made were for my iron farm efficiency video. I had no experience before that.

What I’m trying to say is that I’m not special in this regard. It just takes the willingness to fail a lot and learn through that failure. To be clear, I do recommend learning the fundamentals, just not getting stuck in them. I believe this traditional style of learning is more impactful after banging your head against the wall for a couple of hours with a little real-world experience.

That said, it’s better to jump in with friends if you are able. One of the helpers on my Discord, Veg, helped a bunch with this mod. He’s also learning modding and is more actively learning Java than I am, but is also a beginner, so we learn together with this process. So as a way to help anyone who is thinking about starting modding or getting into code digging, I’m hoping to make our code a bit of a reference for anyone who wants to get started. I’m planning on doing some sort of commentary on the code and explaining how the program works with lots of links and references that I hope will help anyone starting out.

So there’s no excuse. You could start with building this mod again from the ground up or modify it or just steal the useful parts from this and combine them with other open source mods. I want to be clear: this is literally our first mod, and I personally actually know no Java, so I’m not claiming this is good code—just code that works. If anyone more experienced wants to look at it and comment, improve, or optimize, we would really appreciate that. I also believe that the documentation for Fabric modding is good but very limited, so the learning curve is a bit sharper than it maybe should be. If anyone would be interested in working together to create some resources to help beginners get into modding, please let me know by joining the Discord and pinging me. I would love to work together on this sort of project. Making things like programming, modding, Redstone, and really any technical field in general accessible to more people is something I am really passionate about. So I hope to continue and work towards that goal.

But anyways, thank you so much for watching, and thank you to Fez for the moral and substantial support with developing Zoom-O-Matic. Goodbye.