Sunday, June 1, 2014

Welcome

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 tutorials.jenkov.com 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 on How To Contribute To Forge Development.

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!

10 comments:

  1. Where could I find a tutorial on getting started with modding. One that would walk me through install tools and packages needed. Basically starting from the newly installed game.
    Thanks

    ReplyDelete
  2. 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!

    ReplyDelete
    Replies
    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

      Delete
    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: https://github.com/jabelar/MagicBeans-1.8fixed/blob/master/src/main/java/com/blogspot/jabelarminecraft/magicbeans/gui/GuiFamilyCow.java. 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: https://github.com/jabelar/WildAnimalsPlus-1.7.10/tree/master/src/main/java/com/blogspot/jabelarminecraft/wildanimals/entities/ai/birdofprey 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.

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

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

    ReplyDelete
  4. Minecraft DOWNLOAD >>> http://bit.ly/2nNPCyw >>> take survey , then you will be able to download :)

    ReplyDelete
  5. Very helpful suggestions that help in the optimizing website.
    I really like you post.Thanks for sharing.
    Please click this post,if you wanna join casino online. Thank you
    gclub casino
    goldenslot
    Gclub จีคลับ

    ReplyDelete
  6. Nice! I just got a Minecraft card code for FREE! :D http://freeminecraftgiftcode.net

    ReplyDelete