Sunday, June 1, 2014


I'm a long-time Minecraft modder, and as I learned I collected notes for myself in order to capture my best practices and I have this blog to share these notes with all of you.

Modding Is Legal, Even Encouraged By Mojang

Just in case you're in doubt, Mojang's End User License Agreement ("EULA") specifically says that modding is okay so long as it doesn't include redistributing their software and isn't intended for griefing or hacking: "Basically, mods (or plugins, or tools) are cool (you can distribute those), hacked versions of the Game client or server are not (you can't distribute those)."

Learn Java!

I feel silly having to say it, but please learn the basics of Java before trying to mod. Java isn't that hard to learn, especially if you know other languages.

Personally I suggest learning programming from books rather than online because people tend to skip around with online learning while a book usually keeps you to a proper progression. However many programming books are daunting and boring, so I suggest the book Java in Easy Steps -- it covers all the basics in a very slim, easy to read format.

After learning the basics, I recommend as the best online reference for Java.

Contributing To Forge

Forge is maintained by a community of volunteers. Once you have become a proficient modder and assuming you are strong at Java you should consider helping contribute code to improve Forge. See instructions:

Updating Between Versions Of Minecraft / Forge

Other Good Tutorial Sites

There are lots of other good tutorials out there. I recommend also checking out:

Tips And Tutorials

Here are some collections of useful tips on a variety of modding subjects.  I'll be adding more as I think of them.  I also have many more in-depth tutorials on many topics (check the Pages pull-down in menu above).
If you find any errors or things requiring clarification, please add a post or send me a note. I really want these tutorials to be a trust-worthy resource. Thanks!


  1. Hey, quick question. I don't think you have a tutorial on this already, but if you do please point me to it because I haven't seen it ;) How would one go about generating custom lore books in a mod? i.e. pre-written books that spawn with valuable info about the world/history/legends/lore/etc.? I've seen very few mods that do this, and I can't seem to figure it out. An example would be that I want a book to spawn in certain structures that is already written and says "to tame this creature you must feed it thirteen blaze rods and a stick" or whatever. How could I do that? Where should I store the data for the text itself? How should I format it?
    I'm basically self-taught when it comes to Java, so I'll admit there's a lot I don't know XD But I've learned so much from your tutorials, so thank you! This blog is one of the first places I look if I'm having trouble.
    Thanks again!

    1. Oh, and I have a suggestion for a tutorial- setting up specialized AI for mobs with different states (i.e. flying, walking, etc.). I have yet to find a tutorial that explains that- your advanced AI tutorial does explain some, but it's the switching between modes that I'm really having trouble with. And flight logic (I want a mob that flies less erratically than bats do). Can't figure that out at all lol :P

    2. Hi, thanks for writing. For lore books, I basically did one in my Magic Beans mod although it pops up after interaction with a special entity instead of being a book. Basically, all you have to do is open a GUI when the book item is used. In your GUI you can draw and write anything you want, make buttons for turning pages, etc. For an example GUI code, look at my code here: Basically you can see that I tell a story. I could have also drawn some pictures if I wanted.

      For flying AI, I did such a thing for my Wild Animals Plus mod where I made tameable birds of prey. I made my own AI system because flying needs to be smoother than regular AI and I wanted more control. You can check out the code for my AI system here: The idea is that you have a field in your entity indicating its current state (i.e. soaring, diving, perching, flapping) and then each tick you check to see if the state should change.

      Hope that helps give you ideas on how to approach each thing.

    3. Ah, thank you so much! This does help, and hopefully I'll be able to work it out ;) Thanks! :)

  2. Thank you for bringing more information to this topic for me. I’m truly grateful and really impressed. Minecraft

  3. (I state that I do not know English very well)
    Hello,i want to say thanks for your tutorials but i have a problem with the opening of the McJty's web site.
    When i open it the browser show to me massages like: You won 1000 dollars!
    Can you post a working link?

    1. Okay, thanks for pointing this out. I think he's moved to here: