They sometimes don't get updated don't have more advanced tutorials for more experienced coders and don't keep things organized(well, most do, but some don't)

THEN I THOUGHT...

Why not make my own modding tutorials for New Coders AND Experienced Coders...

WELL HERE IT IS...

IANTHESLIME'S

MINECRAFT FORGE

MODDING TUTORIALS FOR

MINECRAFT 1.7.2

(Sorry for the long intro...)

ALWAYS IMPORTWindows: Shift+Ctrl+OMac: Shift+COMMAND+O

STEP 1: SETTING UP YOUR WORKSPACE

1: Download Eclipse
2: Download Minecraft Forge SRC 1.7.2 RECOMMENDED (UNDER THE FILES TAB NEAR TOP OF PAGE)
2A: YOU MUST HAVE THE LATEST JAVA JRE FROM ORACLE!!!!!!!!!!!! OR THIS WONT WORK!!!!!!
3: Unzip Eclipse and MC Forge 1.7.2 to your desktop
4: open CMDFOR WINDOWS
4A: Start Menu-&gt;Seearch Bar-&gt;Type &quot;cmd&quot; (w/out quotes) and hit enterFOR MAC
4B: Open terminal in the Application/Utilities folder
5: type in terminal(or CMD) "cd (drag the forge folder into the terminal window)" (w/out quotes) and hit enter
6: type "gradlew setupDecompWorkspace" (EXACTLY AS SPELLED AND W/OUT QUOTES) and hit enter
7: wait for it to finish
8: when it's done type "gradlew eclipse" (w/out quotes) and hit enter
9: Wait for it to finish
10: Open up eclipse
11: When it asks for a workspace navigate to Desktop/forge(or whatever your "forge" folder is called)/eclipse
12: When it starts up you should see a Minecraft folder in the "Package Explorer"
13: IF you don't, go through the steps again and see if you skipped over one by accident
14: IF it still doesn't work, PM me whats wrong and i'll try and help as best as i can
15: If all is well, your officially setup to mod MC 1.7.2!!! HOORAY!!!

STEP 2: SETTING UP YOUR MAIN MOD FILE

FIRST!!
0: Delete the package inside the src/main/java SRC folder
1: Create a new Package in the src/main/java folder in eclipse and call it gmail(or other mail provider).whateveryouremailaddressIs.com so that your mod package name wont clash with other mod package names
2: create a new Class and call it "Main" w/out qoutes

Press Shift+CTRL+O for windows and SHIFT+Apple Key+O to import all imports
YOUR MAIN MOD FILE IS NOW SETUP!!!!!!

STEP 3: en_US.lang file THIS IS TO NAME EVERYTHING

1: create a new package in src/main/java and name it "assets.YOURMODSID.lang" w/out quotes
2: create a new file in the new package you just created and name it "en_US.lang" again...w/out quotes

tile.yourBlock.name=Whatever You Want To Name Your Block (this is for blocks)
item.yourItem.name=Whatever You Want To Name Your Item (this is for items)
itemGroup.tabName=Whatever You Want To Name Your Creative Tab (this is for Creative Tabs)

THIS FILE IS VERY IMPORTANT...DO NOT DELETE

STEP 4: the mcmod.info file

FIRST: Delete everything in the src/main/resources SRC folder
SECOND: Create a new mcmod.info file in that SRC folder

This creates the tab with the tab ID of tabName and sets the icon of the tab to an arrow

Textures

Textures are different
to texture something you need to...

FIRST: create a new package in src/main/java called assets.YOURMODID.textures.blocks(or items, or armor, etc..depending on what you want to texture)
SECOND: create a texture for your object using GIMP or MSPaint(in my opinion MSPaint sucks)
THIRD: export the texture to "the forge folder on your desktop/src/main/java/assets/YOURMODID/textures/blocks(or items, or armor, etc...you get the idea)"
Fourth: put these lines of code when you type in your blocks/items/etc.. contructor, for example

Create a new package in your src/main/java folder called gmail.YOUREMAILADDRESS.items
Create a new class in that package called YourItem(whatever you called it after the yourItem = new YourItem in your main mod file)

This creates parameters for your block, i.e. the name etc...and registers it in game

Create a new package in your src/main/java folder called gmail.YOUREMAILADDRESS.blocks
Create a new class in that package called YourBlock(whatever you called it after the yourBlock = new YourBlock in your main mod file)

LOOK AT THE TEXTURE TUTORIAL TO FIND OUT HOW TO TEXTURE BLOCKS/ITEMS/TOOLS/ARMOR

Custom Ores!

Pre-FIRST! Goto your Main.java and add this in under your public static Block block; //Or whatever you called it

public static IWorldGenerator gen = new NewWorldGenerator();

After-Pre-First! put this in your public init constructor!

GameRegistry.registerWorldGen(gen, 1 /*This is the importance at which to generate the contents of the file, leave it at 1*/);

FIRST! Create a block like you normally would!
SECOND! Create a package in src/main/java and call it gmail.YOUREMAIL.com.generation
THIRD! Create a new class in that package and call it NewWorldGenerator.

The onBlockPlacedBy generates a new structure when the block is placed by an Entity
The world.setBlock sets the block according to the coords that you predefined
DISCLAIMER: It can get VERY messy, like, super messy, so be sure that you know where your placing the block in the world

I.E. to make the block be placed UP, one, you must set it to setBlock(x, y+1, z, b.cobblestone); and to make it go LEFT, one, set the x factor to x+1, same to make it go DEEPER, one, set z to z+1, and y-1 will make it go one block down, and x-1 will make it go RIGHT, one, and z-1 will make it go FORWARD, one, and it can be any number, i.e., x+2, x+3, x+4, etc., z+2, z+3, z+4, etc., y+2, y+3, y+4, etc., same for the minus's

MAKE SURE THAT YOU PUT THE world.setBlockToAir(x, y, z); FIRST, OR IT'LL MAKE THE BLOCK THAT YOU REPLACED THE INSTANT STRUCTURE BLOCK WITH DISAPPEAR

You should let gradle add your mod version and Minecraft target version to mcmod.info

"version": "$version","mcversion": "$mcversion",

Put that in mcmod.info instead of hand editing in the version, that way you only maintain the version number in one place.Note that this means during testing (i.e. when run from within Eclipse), mcmod.info may not be created properly. Guaranteed that when you do a final 'gradlew build', the resulting jar file will have a correct mcmod.info and your mod will be ready for release.

Thank you! i was wondering why it said that in the example mod file because im used to just entering in my verion and mcversion. I'll edit the tut right away.

so i was trying out the instant structure tutorial, now, it doesnt give any errors, but it doesnt do anything either
what is it suposed to do? it sounds interresting, but i cant seem to figure out what it needs to do
thanks

Prerequisites:
You NEED to know how to make a block, if you don't, look at my tutorial on making custom blocks

I was wondering, should I leave the en_US.lang file as it is? Also, my Creative tab won't come up, does it need an item to work, or is this because I left the en_US.lang file alone?

yes, when you create the en_US.lang, you add certain lines of text into it so that you can name the stuff that you put in your mod, for instance, in the blank en_US.lang file, add:

tile.yourBlock.name=Whatever You Want To Name Your Block (this is for blocks)
item.yourItem.name=Whatever You Want To Name Your Item (this is for items)
itemGroup.tabName=Whatever You Want To Name Your Creative Tab (this is for Creative Tabs)

Before 1.7 came out, forge used a language registry system that was a little complicated and cluttered up your main mod file in my opinion, then they switched to the lang file to make it easier

so i was trying out the instant structure tutorial, now, it doesnt give any errors, but it doesnt do anything either
what is it suposed to do? it sounds interresting, but i cant seem to figure out what it needs to do
thanks

Another thing, if it still doesn't work, send me a pic of your main mod file and your BlockStructureGen(or whatever you named it) file

it gets the block, it just doesnt do anything after i placed it, though i understood that it should create a structure. in the tutorial case something with cobble and planks and it looks the same as yours(copied everything over)

I think i may know what your problem is...

If you copied it over, make sure that you put the world.setBlockToAir(x, y, z); as the first thing in the constructor, otherwise, if you dont, it'll set the block to air after it replaces the block that you placed down with the block that you specified

I think it may be because in that constructor, you set to air, then to cobblestone, then to birch planks, try placeing your block in the world and right clicking or something, your problem is confuzzling me, i'm tring to wrap my mind around it and see what's up