I would like to learn java and write a minecraft mod for 1.7.10. I've downloaded enough mods and read enough forums to see people complain about re-coding mods to a different version. And I've read countless MCreator sucks post, so I will spare everyone the pain, and I will not download it. So, with my desire for a 1.7.10 mod in mind, can anyone point me to some good books to read, or websites to visit to learn java and mod making for minecraft 1.7.10.
Thank you Lapis, I also found a website from Learntomod.com Anyone heard of or use it before? It has a drag & drop feature. Was wondering if it showed you the code also.
Hmm interesting... I don't know if it is worth it. If it was cheaper than yes. But you have to remember that some of the most know mod makers like Pahimar have great tutorials that are more than enough to get you started.
projectmayhem when I started Minecraft Modding, I had relatively little experience with Java. A good background with Java is especially good for Minecraft Modding(Since Minecraft was made with the Java language), but if you are familiar with other coding languages(like I was when I started), you may not need much of a Java background.
However, If you wish to have a solid background in Java, watch this video PogostickDev has comprehensive Java and Bukkit Tutorials if you wish to learn Java.
If you don't want a background in Java, or already have one, watch this video: by MrCrayfish.
Another Youtuber that makes Modding Tuts is Grovesy, who goes beyond basic modding skills, and teaches you how to make GUI's, and bombs. However, he is somewhat hard to understand(in my opinion), and lacks an explanation of what he is doing.
Another great resource is to look at the source code of other mods on GitHub, or the src code of Minecraft itself!
Good Luck!
PS: If you didn't know this already, Java and JavaScript are NOT the same thing. I got them mixed up, and ended up learning Javascript when I wanted to learn Java!
Thanks for the info Zorse. I bought a couple Java books for my Kindle Fire.
Java for Dummies 6th edition
Minecraft Modding with Forge A Family-Friendly Guide to Building Fun Mods in Java
Sams teach yourself Mod Development in minecraft. 1st edition, not second.
So gonna read those. Probably start with the Java for dummies. I self-taught myself HTML back in high school, around 1996. I dabbled a tad in javascript, VBS and Pearl (I think it was called). And by dabble, I mean barely enough to do a couple random things. So hopefully I can pick up on the java. I've been really craving a Wheel of Time mod for minecraft, and all I've been able to find are half started and failed attempts. I don't think there is 1 single finished one. So deciding to take it upon myself.
And if anyone likes fantasy, but hasn't read the Wheel of Time series, I highly recommend it. 14 books, amazing character progression and development, last few books are done by a different author because the original died, but he did well finishing the series.
Gotcha. Downloaded JDK, thought I already had it, but forgot I upgraded computer last week to a 64 bit. You forget about all the little things you had already downloaded. lol
I'm actually looking forward to the tutorial, creating a text based RPG adventure. After I'm done with it, maybe I'll post it also lol. Always wanted to write a fantasy book as well. So I'll use this adventure as one and marked it off my list of things I always wanted to do.
I didn't spend one cent learning java, minecraft modding or any language I know. You can teach yourself as long as you give it effort, time and use it. I wrote my story here.
Rollback Post to RevisionRollBack
My Mods:
Working on updating Little Maid Mod to 1.12 with my own twist. I am a Japanese anime fan :3 Teasers here
Blood Baubles - An addon for BloodMagic that adds related Baubles to the game. (Currently on hold)
Blood Magic Wiki - A Blood Mages Choice Encylopedia (Currently on hold)
LazyModder- A libary that makes modding easier. Currently being developed for 1.12)
Deobfuscator - A program used to deobfuscate obfuscated mods.
Most the way through one book and on lesson 7 of the java 101 video tutorials. I hope I don't have to use 50% of this or my head might explode lol. You guys are beast learning this stuff.
I do have a couple quick questions. Watching those Java 101 tutorials, when we start making a new class called Player, we are setting the modify and get method with the names modifyHealth and setHealth. Is this just a preference? Could they be named GetHealth and ModifyHealth? or MODIFYhealth and GEThealth?
Second, when going back to the main class to create a new instance of the class Player, he calls Player player = new Player(name).
In order to avoid confusion, especially with people learning, would it have been better to call it something like :
Player playerone = new Player(name)
Having the object named the same as the class threw me off a bit. But after a few I realized it was saying.
I do have a couple quick questions. Watching those Java 101 tutorials, when we start making a new class called Player, we are setting the modify and get method with the names modifyHealth and setHealth. Is this just a preference? Could they be named GetHealth and ModifyHealth? or MODIFYhealth and GEThealth?
Second, when going back to the main class to create a new instance of the class Player, he calls Player player = new Player(name).
In order to avoid confusion, especially with people learning, would it have been better to call it something like :
Player playerone = new Player(name)
Having the object named the same as the class threw me off a bit. But after a few I realized it was saying.
This right here is something called conventions, or "rules that aren't enforced by the compiler (so breaking them won't result in your program instantly crashing on you), but are generally accepted as rules you should follow by the community".
Java's naming conventions pretty much go like this: packages should remain in lower case, classes should be in UpperCamelCase, methods and fields should be lowerCamelCase, and constants should be UPPERCASE. At least that's what I've been taught and I follow. This isn't exactly enforced a whole lot and is mostly there for ease of readability and for the compiler to be able to tell the difference between a field reference and a Class reference (Player versus player).
You can name things the way you want to, but in general you should follow those rules. So if you want "playerOne" instead of "player", by all means you can call it "playerOne".
Rollback Post to RevisionRollBack
Author of the Clarity, Serenity, Sapphire & Halcyon shader packs for Minecraft: Java Edition.
Ok, watching the Second video tutorial, modding in minecraft, and on the second video he says to mouse over @Mod and import it. That went through. But the second part, where you import@EventHandler and FMLPreInitialzationEvent , those aren't showing an import option. I'm pretty sure I followed his tutorial correctly until this part. Is there a setting I need to change or path?
I manually typed in the imports and they are working, but I still don't see why I didn't have the option to import from mousing over the words.
Here is an attachment of my workspace. I had to add the LanguageRegistry.addName(itemTable, "Table"); to get the name in game changed to Table. The method in the video wasn't working.
I would like to learn java and write a minecraft mod for 1.7.10. I've downloaded enough mods and read enough forums to see people complain about re-coding mods to a different version. And I've read countless MCreator sucks post, so I will spare everyone the pain, and I will not download it. So, with my desire for a 1.7.10 mod in mind, can anyone point me to some good books to read, or websites to visit to learn java and mod making for minecraft 1.7.10.
I have created a website for people like you:
I hope it helps you as much as possible! Good luck!
Edit: Lol double comment! XD
Not doing mc modding that much anymore because I am making a full blown game that does not have limitations that mc has. (rip Magiology for now)
I may come back if MC fixes it's rendering pipeline.
Thank you Lapis, I also found a website from Learntomod.com Anyone heard of or use it before? It has a drag & drop feature. Was wondering if it showed you the code also.
Hmm interesting... I don't know if it is worth it. If it was cheaper than yes. But you have to remember that some of the most know mod makers like Pahimar have great tutorials that are more than enough to get you started.
Not doing mc modding that much anymore because I am making a full blown game that does not have limitations that mc has. (rip Magiology for now)
I may come back if MC fixes it's rendering pipeline.
if you are looking for a book.
Ok, ill start with your website and go from there.
projectmayhem when I started Minecraft Modding, I had relatively little experience with Java. A good background with Java is especially good for Minecraft Modding(Since Minecraft was made with the Java language), but if you are familiar with other coding languages(like I was when I started), you may not need much of a Java background.
However, If you wish to have a solid background in Java, watch this video PogostickDev has comprehensive Java and Bukkit Tutorials if you wish to learn Java.
If you don't want a background in Java, or already have one, watch this video: by MrCrayfish.
Another Youtuber that makes Modding Tuts is Grovesy, who goes beyond basic modding skills, and teaches you how to make GUI's, and bombs. However, he is somewhat hard to understand(in my opinion), and lacks an explanation of what he is doing.
Another great resource is to look at the source code of other mods on GitHub, or the src code of Minecraft itself!
Good Luck!
PS: If you didn't know this already, Java and JavaScript are NOT the same thing. I got them mixed up, and ended up learning Javascript when I wanted to learn Java!
Thanks for the info Zorse. I bought a couple Java books for my Kindle Fire.
Java for Dummies 6th edition
Minecraft Modding with Forge A Family-Friendly Guide to Building Fun Mods in Java
Sams teach yourself Mod Development in minecraft. 1st edition, not second.
So gonna read those. Probably start with the Java for dummies. I self-taught myself HTML back in high school, around 1996. I dabbled a tad in javascript, VBS and Pearl (I think it was called). And by dabble, I mean barely enough to do a couple random things. So hopefully I can pick up on the java. I've been really craving a Wheel of Time mod for minecraft, and all I've been able to find are half started and failed attempts. I don't think there is 1 single finished one. So deciding to take it upon myself.
And if anyone likes fantasy, but hasn't read the Wheel of Time series, I highly recommend it. 14 books, amazing character progression and development, last few books are done by a different author because the original died, but he did well finishing the series.
I got this message after installing eclipse.
Unfortunately the Java version needed to run Eclipse couldn't be found on your system. You need the following version or a higher version:
Java 1.7.0 (64 Bit)
Please download and install a Java Runtime Environment (JRE),
or a Java Development Kit (JDK) if you plan to do Java development:
Oracle JDK 1.8.0
Oracle JRE 1.8.0
Oracle JDK 1.7.0
Oracle JRE 1.7.0
Great! I wish you good luck on your mod, and learning Java!
I have Java 7 and 8 on my PC
Gotcha. Downloaded JDK, thought I already had it, but forgot I upgraded computer last week to a 64 bit. You forget about all the little things you had already downloaded. lol
I'm actually looking forward to the tutorial, creating a text based RPG adventure. After I'm done with it, maybe I'll post it also lol. Always wanted to write a fantasy book as well. So I'll use this adventure as one and marked it off my list of things I always wanted to do.
I didn't spend one cent learning java, minecraft modding or any language I know. You can teach yourself as long as you give it effort, time and use it. I wrote my story here.
My Mods:
- Happy Coding -
Most the way through one book and on lesson 7 of the java 101 video tutorials. I hope I don't have to use 50% of this or my head might explode lol. You guys are beast learning this stuff.
I do have a couple quick questions. Watching those Java 101 tutorials, when we start making a new class called Player, we are setting the modify and get method with the names modifyHealth and setHealth. Is this just a preference? Could they be named GetHealth and ModifyHealth? or MODIFYhealth and GEThealth?
Second, when going back to the main class to create a new instance of the class Player, he calls Player player = new Player(name).
In order to avoid confusion, especially with people learning, would it have been better to call it something like :
Player playerone = new Player(name)
Having the object named the same as the class threw me off a bit. But after a few I realized it was saying.
This right here is something called conventions, or "rules that aren't enforced by the compiler (so breaking them won't result in your program instantly crashing on you), but are generally accepted as rules you should follow by the community".
Java's naming conventions pretty much go like this: packages should remain in lower case, classes should be in UpperCamelCase, methods and fields should be lowerCamelCase, and constants should be UPPERCASE. At least that's what I've been taught and I follow. This isn't exactly enforced a whole lot and is mostly there for ease of readability and for the compiler to be able to tell the difference between a field reference and a Class reference (Player versus player).
You can name things the way you want to, but in general you should follow those rules. So if you want "playerOne" instead of "player", by all means you can call it "playerOne".
Author of the Clarity, Serenity, Sapphire & Halcyon shader packs for Minecraft: Java Edition.
My Github page.
The entire Minecraft shader development community now has its own Discord server! Feel free to join and chat with all the developers!
Gotcha, thanks a lot
Ok, watching the Second video tutorial, modding in minecraft, and on the second video he says to mouse over @Mod and import it. That went through. But the second part, where you import@EventHandler and FMLPreInitialzationEvent , those aren't showing an import option. I'm pretty sure I followed his tutorial correctly until this part. Is there a setting I need to change or path?
I manually typed in the imports and they are working, but I still don't see why I didn't have the option to import from mousing over the words.
I'm starting to assume the Crayfish tutorials are outdated maybe? I cannot get my texture to show up. I keep getting this message:
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: The following texture errors were found.
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: DOMAIN ss
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: --------------------------------------------------
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: domain ss is missing 1 texture
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: domain ss is missing a resource manager - it is probably a side-effect of automatic texture processing
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: -------------------------
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: The missing resources for domain ss are:
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: textures/items/itemtable.png
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: -------------------------
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: No other errors exist for domain ss
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
[21:03:47] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
I used the line he had...
itemTable = new ItemTable().setUnlocalizedName("ItemTable").setTextureName("ss:itemtable");
and I have a 16x16 itemtable PNG file just like he has, in the right folder
Here is an attachment of my workspace. I had to add the LanguageRegistry.addName(itemTable, "Table"); to get the name in game changed to Table. The method in the video wasn't working.