[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
+15
yazan123
N1xx1
bardock10
urkkle
Zblade93
JoeySalsa
tanzkua
cloudstrife29461
guitarmen
Hollywood_Undead
zdmshadow
PlayerTim6
Zeperus
dittos
Slymask3
19 posters
Page 1 of 5
Page 1 of 5 • 1, 2, 3, 4, 5
[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Slymask3's Modding Tutorials
Introduction
What is going onYoutube Everybody, my name is Slymask3.
I have learned how to mod recently, and have been asked to make a tutorial on how to make simple mods.
I thought about it, and decided to make one!
Bare with me, I am not a professional, but I know what I am doing when it comes to simple mods.
All of the tutorials are for making Modloader Mods!
I am on Windows 7, so if you have something else, it might not work. (Only for setting up Java JDK SE)
Before we begin, here are the requirements: (You do not need to have "Java JDK SE" and "MCP" downloaded yet)
- Java JDK SE
- MCP
- EditPad Pro or Notepad++
- Modloader
- Winrar or 7zip
Here are the tutorials I have made so far:
- How to set up Java JDK SE
- How to set up MCP (Also add Modloader)
- Block
- Item
- Crafting Recipe
- Shapeless Recipe
- Smelting Recipe
- In-Depth Drops
- Armor
- Food
Here are the tutorials I am planning to make:
- Toolset
- Generating Ore
- Tree
Here are some things I do not know how to make:
- Block with different textures on each side
- GUI (Crafting Table, Furnace)
- Multiple Blocks/Items with the same ID but different textures (Damage Values) (Examples: Wool, Dye)
- New Dimension
Mods Created by People using my Tutorials
SirGame1000's Mods
LightBlockMod
How to set up Java JDK SE
Downloading
First you would want to download it.
Here is the link: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html
Now check the "Accept License Agreement".
Now download the version that is for your computer.
Once downloaded, Install it.
Setting the path variable
Now, right click on "My Computer", select "Properties", on the left side select "Advanced system settings".
Click "Environmental Variables", Now under "System Variables", find the variable "Path".
If you find it, select it, and click "Edit", in "Varibale value" add this line to the end:
C:\Program Files\Java\jdk1.6.0_24\bin;
If you cannot find it, click "New", in "Variable name" type "Path", in "Varibale value" add this line:
C:\Program Files\Java\jdk1.6.0_24\bin;
Now click "Okay", "Okay", and the last "Okay".
Checking
To check if everything is set up correctly, click the start button, and search for "cmd".
Open it, and type "javac".
If it gives you a long list of things, you did it correclty.
If it gives you an error, you might of missed something, or your Java JDK SE was installed to a different directory,
To fix this, find your Java JDK SE folder, and add the directory of the "bin" folder to your Path.
How to set up MCP (Also add ModLoader)
Downloading
First you would want to download MCP (Minecraft Coder Pack).
Here is the link: http://mcp.ocean-labs.de/index.php/MCP_Releases
Scroll down and download the latest version, it is currently "Version 4.3 (Beta 1.7.3)".
Once downloaded, open the ".zip" file, and drag all the contents to a directory.
My MCP is on K:\mcp43\
You could drag yours to C:\Program Files\mcp43\ or C:\mcp43\
Setting up
Once you decided where to have your Minecraft Coder Pack, open up the folder.
Before doing anything, open the "jars" folder.
In a new window, open your ".minecraft" folder, by searching "%appdata%".
If you already have some mods installed, rename your "bin" and "resources" folders to "bin2" and "resources2".
Now open your Minecraft Launcher, force update.
Back in your ".minecraft" folder, you will see that the Launcher has created clean "bin" and "resources" folders.
Now drag those 2 folders to the "jars" folder you have open.
If you don't have any mods installed (I doubt it, since you want to make some), drag those 2 folders to the "jars" folder you have open.
Now go to this link: http://www.minecraft.net/download.jsp
Scroll down, until you see a link to download "minecraft_server.jar".
Download it, and move it to the "jars" folder you have open.
You should have these files/folders in the "jars" folder:
- bin
- resources
- minecraft_server.jar
- server.properties
Adding ModLoader
You are now ready to create mods, but if you want to create mods that use "ModLoader", follow this step.
In your "mcp43" (or whatever you named your MCP folder) open the folder "jars", now open "bin" (that you added in the previous step), and open "minecraft.jar" with Winrar/7zip.
Now download ModLoader from here: http://www.minecraftforum.net/topic/75440-v173-risugamis-mods/
Once downloaded, open it up with Winrar/7zip.
Now, drag all the files from Modloader.zip to minecraft.jar.
Done!
MCP Functions
Here are the list of ".bat" files in the MCP folder, and what they do.
cleanup.bat - Requires to decompile. Cleans up all your source files, and deletes everything, just like you re-downloaded it (It keeps all the files/folders you put in the "jars" folder)
decompile.bat - Decompiles the client. The client is the "minecraft.jar" in the "bin" folder, in the "jars" folder.
recompile.bat - Requires to decompile. Recompiles all the ".java" files you edit, and new ".java" files you made.
reobfuscate.bat - Requires to recompile. It makes all the ".java" files you edit, and new ".java" files you made, into ".class" files. The files are sent to the "reobf" folder.
startclient.bat - Requires to recompile. You can test your SSP mod here.
startserver.bat - Requires to recompile. You can test your SMP mod here.
updatemcp.bat - Updates MCP to the latest version.
updatemd5.bat - I'm not sure what "md5" is, but it updates it to the latest version.
updatenames.bat - I'm not sure what this does.
Introduction
What is going on
I have learned how to mod recently, and have been asked to make a tutorial on how to make simple mods.
I thought about it, and decided to make one!
Bare with me, I am not a professional, but I know what I am doing when it comes to simple mods.
All of the tutorials are for making Modloader Mods!
I am on Windows 7, so if you have something else, it might not work. (Only for setting up Java JDK SE)
Before we begin, here are the requirements: (You do not need to have "Java JDK SE" and "MCP" downloaded yet)
- Java JDK SE
- MCP
- EditPad Pro or Notepad++
- Modloader
- Winrar or 7zip
Here are the tutorials I have made so far:
- How to set up Java JDK SE
- How to set up MCP (Also add Modloader)
- Block
- Item
- Crafting Recipe
- Shapeless Recipe
- Smelting Recipe
- In-Depth Drops
- Armor
- Food
Here are the tutorials I am planning to make:
- Toolset
- Generating Ore
- Tree
Here are some things I do not know how to make:
- Block with different textures on each side
- GUI (Crafting Table, Furnace)
- Multiple Blocks/Items with the same ID but different textures (Damage Values) (Examples: Wool, Dye)
- New Dimension
Mods Created by People using my Tutorials
SirGame1000's Mods
LightBlockMod
How to set up Java JDK SE
Downloading
First you would want to download it.
Here is the link: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html
Now check the "Accept License Agreement".
Now download the version that is for your computer.
Once downloaded, Install it.
Setting the path variable
Now, right click on "My Computer", select "Properties", on the left side select "Advanced system settings".
Click "Environmental Variables", Now under "System Variables", find the variable "Path".
If you find it, select it, and click "Edit", in "Varibale value" add this line to the end:
C:\Program Files\Java\jdk1.6.0_24\bin;
If you cannot find it, click "New", in "Variable name" type "Path", in "Varibale value" add this line:
C:\Program Files\Java\jdk1.6.0_24\bin;
Now click "Okay", "Okay", and the last "Okay".
Checking
To check if everything is set up correctly, click the start button, and search for "cmd".
Open it, and type "javac".
If it gives you a long list of things, you did it correclty.
If it gives you an error, you might of missed something, or your Java JDK SE was installed to a different directory,
To fix this, find your Java JDK SE folder, and add the directory of the "bin" folder to your Path.
How to set up MCP (Also add ModLoader)
Downloading
First you would want to download MCP (Minecraft Coder Pack).
Here is the link: http://mcp.ocean-labs.de/index.php/MCP_Releases
Scroll down and download the latest version, it is currently "Version 4.3 (Beta 1.7.3)".
Once downloaded, open the ".zip" file, and drag all the contents to a directory.
My MCP is on K:\mcp43\
You could drag yours to C:\Program Files\mcp43\ or C:\mcp43\
Setting up
Once you decided where to have your Minecraft Coder Pack, open up the folder.
Before doing anything, open the "jars" folder.
In a new window, open your ".minecraft" folder, by searching "%appdata%".
If you already have some mods installed, rename your "bin" and "resources" folders to "bin2" and "resources2".
Now open your Minecraft Launcher, force update.
Back in your ".minecraft" folder, you will see that the Launcher has created clean "bin" and "resources" folders.
Now drag those 2 folders to the "jars" folder you have open.
If you don't have any mods installed (I doubt it, since you want to make some), drag those 2 folders to the "jars" folder you have open.
Now go to this link: http://www.minecraft.net/download.jsp
Scroll down, until you see a link to download "minecraft_server.jar".
Download it, and move it to the "jars" folder you have open.
You should have these files/folders in the "jars" folder:
- bin
- resources
- minecraft_server.jar
- server.properties
Adding ModLoader
You are now ready to create mods, but if you want to create mods that use "ModLoader", follow this step.
In your "mcp43" (or whatever you named your MCP folder) open the folder "jars", now open "bin" (that you added in the previous step), and open "minecraft.jar" with Winrar/7zip.
Now download ModLoader from here: http://www.minecraftforum.net/topic/75440-v173-risugamis-mods/
Once downloaded, open it up with Winrar/7zip.
Now, drag all the files from Modloader.zip to minecraft.jar.
Done!
MCP Functions
Here are the list of ".bat" files in the MCP folder, and what they do.
cleanup.bat - Requires to decompile. Cleans up all your source files, and deletes everything, just like you re-downloaded it (It keeps all the files/folders you put in the "jars" folder)
decompile.bat - Decompiles the client. The client is the "minecraft.jar" in the "bin" folder, in the "jars" folder.
recompile.bat - Requires to decompile. Recompiles all the ".java" files you edit, and new ".java" files you made.
reobfuscate.bat - Requires to recompile. It makes all the ".java" files you edit, and new ".java" files you made, into ".class" files. The files are sent to the "reobf" folder.
startclient.bat - Requires to recompile. You can test your SSP mod here.
startserver.bat - Requires to recompile. You can test your SMP mod here.
updatemcp.bat - Updates MCP to the latest version.
updatemd5.bat - I'm not sure what "md5" is, but it updates it to the latest version.
updatenames.bat - I'm not sure what this does.
Last edited by Slymask3 on Mon Aug 22, 2011 6:02 pm; edited 12 times in total
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Block
First, to making a new Block, you need a Block Class.
In your MCP folder, go to src -> minecraft -> net -> minecraft - > src.
Example Path - C:\mcp43\src\minecraft\net\minecraft\src
Make a new text document, and rename it to "Block***.java", make sure your renaming the actual extension to ".java", not just "Block***.java.txt".
*** = Whatever you want your Block's name to be. (Not Ingame, No spaces allowed)
Example - "BlockDirt.java" or "BlockRedObsidian.java".
Open it with EditPad Pro or Notepad++.
Block***.java
NAME = The same as the name of the file. If my file was "BlockRedObsidian.java". This would be "RedObsidian".
MATERIAL = The Material (what sound it makes when you hit it).
Materials:
rock
wood
glass
iron
Example - BlockRedObsidian.java
This will make the Block "RedObsidian" make the same sound as stone when you hit it.
Making the actual Mod and adding more properties to the Block
When you are done making you "Block***.java".
Make a new file, "mod_***.java".
*** = Name of the Mod.
Example - "mod_ObsidianCraft.java"
mod_***.java
MODNAME = The same as the file name. If the file is "mod_ObsidianCraft.java". This would be "ObsidianCraft".
BLOCKNAME = The Block Name. (Not In-Game). Usually starts with a lower-case letter. Example - "redObsidian".
BLOCKNAME2 = The same as the Block Class you made. If the Block Class was "BlockRedObsidian.java". This would be "RedObsidian".
ID = The ID of the Block. Can go up to 256. Minecraft's last block (Trapdoor) has a block ID of 96.
#1 = The Hardness of the Block. How hard it is to break the block. Dirt is 0.5. Stone is 1.5. Obsidian is 10.
#2 = The Resistence of a Block. Explosion resistence. Stone is 10. Obsidian is 2000 (Explosion Proof).
VERSION = The Version of your Mod.
PATHTOTEXTURE = Where the texture of the block is. Has to be ".png". If I would place the texture in a folder named "ObsidianCraft", and my Block was "RedObsidian". This would be "/ObsidianCraft/RedObsidian.png".
INGAMENAME = The name that shows up In-Game, when you put your mouse over the Block.
Example - mod_ObsidianCraft.java
This will make a Mod that makes the BlockRedObsidian use the ID 150, as hard to break as Obsidian, Explosion Proof, and the In-Game name is Red Obsidian.
The BlockRedObsidian uses the texture "RedObsidian.png" in the folder ObsidianCraft.
The version of this Mod is 1.0.
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any error, you have done everything correctly.
Congratulations!
You have finished making a block!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
First, to making a new Block, you need a Block Class.
In your MCP folder, go to src -> minecraft -> net -> minecraft - > src.
Example Path - C:\mcp43\src\minecraft\net\minecraft\src
Make a new text document, and rename it to "Block***.java", make sure your renaming the actual extension to ".java", not just "Block***.java.txt".
*** = Whatever you want your Block's name to be. (Not Ingame, No spaces allowed)
Example - "BlockDirt.java" or "BlockRedObsidian.java".
Open it with EditPad Pro or Notepad++.
Block***.java
- Code:
package net.minecraft.src;
public class BlockNAME extends Block
{
protected BlockNAME(int i, int j)
{
super(i, j, Material.MATERIAL);
}
}
NAME = The same as the name of the file. If my file was "BlockRedObsidian.java". This would be "RedObsidian".
MATERIAL = The Material (what sound it makes when you hit it).
Materials:
rock
wood
glass
iron
Example - BlockRedObsidian.java
- Code:
package net.minecraft.src;
public class BlockRedObsidian extends Block
{
protected BlockRedObsidian(int i, int j)
{
super(i, j, Material.rock);
}
}
This will make the Block "RedObsidian" make the same sound as stone when you hit it.
Making the actual Mod and adding more properties to the Block
When you are done making you "Block***.java".
Make a new file, "mod_***.java".
*** = Name of the Mod.
Example - "mod_ObsidianCraft.java"
mod_***.java
- Code:
package net.minecraft.src;
public class mod_MODNAME extends BaseMod
{
public static final Block BLOCKNAME = new BlockBLOCKNAME2(ID, 0).setBlockName("BLOCKNAME").setHardness(#1F).setResistance(#2F);
public String Version()
{
return "VERSION";
}
public mod_MODNAME ()
{
BLOCKNAME.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "PATHTOTEXTURE");
ModLoader.RegisterBlock(BLOCKNAME);
ModLoader.AddName(BLOCKNAME, "INGAMENAME");
}
}
MODNAME = The same as the file name. If the file is "mod_ObsidianCraft.java". This would be "ObsidianCraft".
BLOCKNAME = The Block Name. (Not In-Game). Usually starts with a lower-case letter. Example - "redObsidian".
BLOCKNAME2 = The same as the Block Class you made. If the Block Class was "BlockRedObsidian.java". This would be "RedObsidian".
ID = The ID of the Block. Can go up to 256. Minecraft's last block (Trapdoor) has a block ID of 96.
#1 = The Hardness of the Block. How hard it is to break the block. Dirt is 0.5. Stone is 1.5. Obsidian is 10.
#2 = The Resistence of a Block. Explosion resistence. Stone is 10. Obsidian is 2000 (Explosion Proof).
VERSION = The Version of your Mod.
PATHTOTEXTURE = Where the texture of the block is. Has to be ".png". If I would place the texture in a folder named "ObsidianCraft", and my Block was "RedObsidian". This would be "/ObsidianCraft/RedObsidian.png".
INGAMENAME = The name that shows up In-Game, when you put your mouse over the Block.
Example - mod_ObsidianCraft.java
- Code:
package net.minecraft.src;
public class mod_ObsidianCraft extends BaseMod
{
public static final Block redObsidian = new BlockRedObsidian(150, 0).setBlockName("redObsidian").setHardness(10F).setResistance(2000F);
public String Version()
{
return "1.0";
}
public mod_ObsidianCraft ()
{
redObsidian.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/ObsidianCraft/RedObsidian.png");
ModLoader.RegisterBlock(redObsidian);
ModLoader.AddName(redObsidian, "Red Obsidian");
}
}
This will make a Mod that makes the BlockRedObsidian use the ID 150, as hard to break as Obsidian, Explosion Proof, and the In-Game name is Red Obsidian.
The BlockRedObsidian uses the texture "RedObsidian.png" in the folder ObsidianCraft.
The version of this Mod is 1.0.
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any error, you have done everything correctly.
Congratulations!
You have finished making a block!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
Last edited by Slymask3 on Thu Jul 28, 2011 9:31 pm; edited 4 times in total
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Item
An Item is much easier than making a Block.
Go back to your "mod_***.java".
mod_***.java
ITEMNAME = The name of the Item. (No Spaces). Usually starts with a lower-case letter. Example: "redGem".
ID = The ID of the Item. Can go up to 32000!
PATHTOTEXTURE = Where the texture of the item is. Has to be ".png". Has to be 16x16 pixels. If I would place the texture in a folder named "ObsidianCraft", and my Item was "RedGem". This would be "/ObsidianCraft/RedGem.png".
INGAMENAME = The name that shows up In-Game, when you put your mouse over the Item.
Example - mod_ObsidianCraft.java
This will make an item called Red Gem with the ID of 8300.
Now let's say we want our Block to drop our Item?
No Problem! Easy!
Open you "Block***.java" file.
And add this:
But now for this to work, add this line right under "package net.minecraft.src;":
We could leave it like that, meaning the block will drop the item when broken.
But what if we wanted the block to drop a quantity of that item when broken.
No Problem!
We will have to add this code:
Example - BlockRedObsidian.java
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
You have finished making your first Item!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
An Item is much easier than making a Block.
Go back to your "mod_***.java".
mod_***.java
- Code:
package net.minecraft.src;
public class mod_ObsidianCraft extends BaseMod
{
public static final Block redObsidian = new BlockRedObsidian(150, 0).setBlockName("redObsidian").setHardness(10F).setResistance(2000F);
public static final Item ITEMNAME = new Item(ID).setItemName("ITEMNAME");
public String Version()
{
return "1.0";
}
public mod_ObsidianCraft ()
{
redObsidian.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/ObsidianCraft/RedObsidian.png");
ITEMNAME.iconIndex = ModLoader.addOverride("/gui/items.png", "PATHTOTEXTURE");
ModLoader.RegisterBlock(redObsidian);
ModLoader.AddName(redObsidian, "Red Obsidian");
ModLoader.AddName(ITEMNAME, "INGAMENAME");
}
}
ITEMNAME = The name of the Item. (No Spaces). Usually starts with a lower-case letter. Example: "redGem".
ID = The ID of the Item. Can go up to 32000!
PATHTOTEXTURE = Where the texture of the item is. Has to be ".png". Has to be 16x16 pixels. If I would place the texture in a folder named "ObsidianCraft", and my Item was "RedGem". This would be "/ObsidianCraft/RedGem.png".
INGAMENAME = The name that shows up In-Game, when you put your mouse over the Item.
Example - mod_ObsidianCraft.java
- Code:
package net.minecraft.src;
public class mod_ObsidianCraft extends BaseMod
{
public static final Block redObsidian = new BlockRedObsidian(150, 0).setBlockName("redObsidian").setHardness(10F).setResistance(2000F);
public static final Item redGem = new Item(8300).setItemName("redGem");
public String Version()
{
return "1.0";
}
public mod_ObsidianCraft ()
{
redObsidian.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/ObsidianCraft/RedObsidian.png");
redGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/RedGem.png");
ModLoader.RegisterBlock(redObsidian);
ModLoader.AddName(redObsidian, "Red Obsidian");
ModLoader.AddName(redGem, "Red Gem");
}
}
This will make an item called Red Gem with the ID of 8300.
Now let's say we want our Block to drop our Item?
No Problem! Easy!
Open you "Block***.java" file.
And add this:
- Code:
public int idDropped(int i, Random random)
{
return mod_MODNAME.ITEMNAME.shiftedIndex;
}
But now for this to work, add this line right under "package net.minecraft.src;":
- Code:
import java.util.Random;
We could leave it like that, meaning the block will drop the item when broken.
But what if we wanted the block to drop a quantity of that item when broken.
No Problem!
We will have to add this code:
- Code:
public int quantityDropped(Random random)
{
return #;
}
Example - BlockRedObsidian.java
- Code:
package net.minecraft.src;
import java.util.Random;
public class BlockRedObsidian extends Block
{
protected BlockRedObsidian(int i, int j)
{
super(i, j, Material.rock);
}
public int idDropped(int i, Random random)
{
return mod_ObsidianCraft.redGem.shiftedIndex;
}
public int quantityDropped(Random random)
{
return 4;
}
}
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
You have finished making your first Item!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
Last edited by Slymask3 on Fri Jul 29, 2011 4:39 pm; edited 7 times in total
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Crafting Recipe
Now that you have finished making a Block and an Item, there needs to be a way to get them.
By a Crafting Recipe of course!
You will need to edit your "mod_***.java" for this Tutorial.
This is a basic Crafting Recipe:
NAME = Enter a block or item here, depends on what "IB" is.
VARIABLE = Any letter in the alphabet, and other things, like the number sign. Most used: X, Y, #. (In my opinion, I mostly use the X and Y.)
IB2 = This is either "Item" or "Block". Depends on what "NAME2" is. If you have created the block/item. You need to put "mod_***", for example, I would put "mod_ObsidianCraft".
NAME2 = This is any block or item. Depends on what "IB2" is.
Example Crafting Recipe:
You could also have multiple variables, holding the position of different Items/Blocks.
XYX
XYX
XCX
X = Dirt
Y = Cobblestone
C = Iron Ingot
To find the correct name for each item, you need to open "Block.java" or "Item.java", and press "Ctrl+F" and search a part of the item/block. (No spaces)
Example:
If you want to find what Sandstone is, this is what you should search: "sand" or "stone", then you will find that Sandstone is "sandStone".
Now let's add a Recipe to "mod_ObsidianCraft.java".
Example - mod_ObsidianCraft.java
Since I have created the block "Red Obsidian", for "IB", I put "mod_ObsidianCraft", instead of "Block"..
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
You have finished making your first Crafting Recipe!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
Shapeless Recipe (Dyes/Wool/etc..)
Now that you have learned how to make a regular Crafting Recipes.
I will be showing you how to make recipes for Wool, Dyes, etc..
You will need to edit your "mod_***.java" for this Tutorial.
Here is the Shapeless Recipe code:
NAME = Enter a block or item here, depends on what "IB" is.
QUANTITY = The quantity of that item/block.
IB2 = You could enter either "Item" or "Block" here, depends on what "NAME2" is. If you have created the block/item. You need to put "mod_***", for example, I would put "mod_ObsidianCraft". This is the input Item/Block.
NAME2 = Enter a block or item here, depends on what "IB2" is.
QUANTITY2 = The quantity of that item/block.
DAMAGEVALUE = The damage value of the item/block. Example: Lapis Lazuli is a dye, and has a damage value of 4.
Now here is the same one, but added one more ingredient the recipe:
Example:
Here is a picture of all the blocks/items in Minecraft. It also has the damage values of the items/blocks.
http://www.minecraftwiki.net/images/8/8c/DataValuesBeta.png
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
You have finished making your first Crafting Recipe!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
Now that you have finished making a Block and an Item, there needs to be a way to get them.
By a Crafting Recipe of course!
You will need to edit your "mod_***.java" for this Tutorial.
This is a basic Crafting Recipe:
- Code:
ModLoader.AddRecipe(new ItemStack(IB.NAME, QUANTITY), new Object[] {"VARIABLE", Character.valueOf('VARIABLE'), IB2.NAME2});
NAME = Enter a block or item here, depends on what "IB" is.
VARIABLE = Any letter in the alphabet, and other things, like the number sign. Most used: X, Y, #. (In my opinion, I mostly use the X and Y.)
IB2 = This is either "Item" or "Block". Depends on what "NAME2" is. If you have created the block/item. You need to put "mod_***", for example, I would put "mod_ObsidianCraft".
NAME2 = This is any block or item. Depends on what "IB2" is.
Example Crafting Recipe:
- Code:
ModLoader.AddRecipe(new ItemStack(Item.diamond, 6), new Object[] {"X", Character.valueOf('X'), Block.dirt});
You could also have multiple variables, holding the position of different Items/Blocks.
- Code:
ModLoader.AddRecipe(new ItemStack(Item.diamond, 6), new Object[] {"XYX", "XYX", "XCX", Character.valueOf('X'), Block.dirt, Character.valueOf('Y'), Block.cobblestone, Character.valueOf('C'), Item.ingotIron});
XYX
XYX
XCX
X = Dirt
Y = Cobblestone
C = Iron Ingot
To find the correct name for each item, you need to open "Block.java" or "Item.java", and press "Ctrl+F" and search a part of the item/block. (No spaces)
Example:
If you want to find what Sandstone is, this is what you should search: "sand" or "stone", then you will find that Sandstone is "sandStone".
Now let's add a Recipe to "mod_ObsidianCraft.java".
Example - mod_ObsidianCraft.java
- Code:
package net.minecraft.src;
public class mod_ObsidianCraft extends BaseMod
{
public static final Block redObsidian = new BlockRedObsidian(150, 0).setBlockName("redObsidian").setHardness(10F).setResistance(2000F);
public static final Item redGem = new Item(8300).setItemName("redGem");
public String Version()
{
return "1.0";
}
public mod_ObsidianCraft ()
{
redObsidian.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/ObsidianCraft/RedObsidian.png");
redGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/RedGem.png");
ModLoader.RegisterBlock(redObsidian);
ModLoader.AddName(redObsidian, "Red Obsidian");
ModLoader.AddName(redGem, "Red Gem");
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.redObsidian, 1), new Object[] {"XY", Character.valueOf('X'), Block.obsidian, Character.valueOf('Y'), Item.redstone});
}
}
Since I have created the block "Red Obsidian", for "IB", I put "mod_ObsidianCraft", instead of "Block"..
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
You have finished making your first Crafting Recipe!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
Shapeless Recipe (Dyes/Wool/etc..)
Now that you have learned how to make a regular Crafting Recipes.
I will be showing you how to make recipes for Wool, Dyes, etc..
You will need to edit your "mod_***.java" for this Tutorial.
Here is the Shapeless Recipe code:
- Code:
ModLoader.AddShapelessRecipe(new ItemStack(IB.NAME, QUANTITY), new Object[] {new ItemStack(IB2.NAME2, QUANTITY2, DAMAGEVALUE)});
NAME = Enter a block or item here, depends on what "IB" is.
QUANTITY = The quantity of that item/block.
IB2 = You could enter either "Item" or "Block" here, depends on what "NAME2" is. If you have created the block/item. You need to put "mod_***", for example, I would put "mod_ObsidianCraft". This is the input Item/Block.
NAME2 = Enter a block or item here, depends on what "IB2" is.
QUANTITY2 = The quantity of that item/block.
DAMAGEVALUE = The damage value of the item/block. Example: Lapis Lazuli is a dye, and has a damage value of 4.
Now here is the same one, but added one more ingredient the recipe:
- Code:
ModLoader.AddShapelessRecipe(new ItemStack(IB.NAME, QUANTITY), new Object[] {new ItemStack(IB2.NAME2, QUANTITY2, DAMAGEVALUE), new ItemStack(IB3.NAME3, QUANTITY3, DAMAGEVALUE2)});
Example:
- Code:
ModLoader.AddShapelessRecipe(new ItemStack(Item.diamond, 1), new Object[] {new ItemStack(Item.dyePowder, 1, 11), new ItemStack(Block.obsidian, 1)});
Here is a picture of all the blocks/items in Minecraft. It also has the damage values of the items/blocks.
http://www.minecraftwiki.net/images/8/8c/DataValuesBeta.png
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
You have finished making your first Crafting Recipe!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
Last edited by Slymask3 on Sat Jul 30, 2011 2:20 pm; edited 8 times in total
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Smelting Recipe
Very simple to learn and code.
You will need to edit you "mod_***.java" for this Tutorial.
This is a Smelting Recipe:
NAME = The Block/Item you are smelting.
IB2 = If you are smelting a Block, this would be "blockID". If you are smelting an Item, this would be "shiftedIndex".
IB3 = Either "Block" or "Item". It depends on "NEW". If you have created the block/item. You need to put "mod_***", for example, I would put "mod_ObsidianCraft".
NEW = The new Block/Item you will get.
QUANTITY = The quantity of the new block/item you will get.
Example:
Now, let's add a smelting recipe to our mod_ObsidianCraft.
Example - mod_ObsidianCraft
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
You have finished making your first Smelting Recipe!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
Very simple to learn and code.
You will need to edit you "mod_***.java" for this Tutorial.
This is a Smelting Recipe:
- Code:
ModLoader.AddSmelting(IB.NAME.IB2, new ItemStack(IB3.NEW, QUANTITY));
NAME = The Block/Item you are smelting.
IB2 = If you are smelting a Block, this would be "blockID". If you are smelting an Item, this would be "shiftedIndex".
IB3 = Either "Block" or "Item". It depends on "NEW". If you have created the block/item. You need to put "mod_***", for example, I would put "mod_ObsidianCraft".
NEW = The new Block/Item you will get.
QUANTITY = The quantity of the new block/item you will get.
Example:
- Code:
ModLoader.AddSmelting(Block.dirt.blockID, new ItemStack(Item.diamond, 4));
Now, let's add a smelting recipe to our mod_ObsidianCraft.
Example - mod_ObsidianCraft
- Code:
package net.minecraft.src;
public class mod_ObsidianCraft extends BaseMod
{
public static final Block redObsidian = new BlockRedObsidian(150, 0).setBlockName("redObsidian").setHardness(10F).setResistance(2000F);
public static final Item redGem = new Item(8300).setItemName("redGem");
public String Version()
{
return "1.0";
}
public mod_ObsidianCraft ()
{
redObsidian.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/ObsidianCraft/RedObsidian.png");
redGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/RedGem.png");
ModLoader.RegisterBlock(redObsidian);
ModLoader.AddName(redObsidian, "Red Obsidian");
ModLoader.AddName(redGem, "Red Gem");
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.redObsidian, 1), new Object[] {"XY", Character.valueOf('X'), Block.obsidian, Character.valueOf('Y'), Item.redstone});
ModLoader.AddSmelting(mod_ObsidianCraft.redObsidian.blockID, new ItemStack(mod_ObsidianCraft.redGem, 1));
}
}
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
You have finished making your first Smelting Recipe!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
Last edited by Slymask3 on Sun Jul 31, 2011 10:14 am; edited 4 times in total
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
In-Depth Drops
At this point, you should have the basic knowledge of how to do all of the above.
Now it is time to get into more detail and functions for drops.
You will need to edit your "Block***.java" for this Tutorial.
Before beginning, check if you have this on top of your "Block***.java", right under "package
net.minecraft.src;":
Different Drops from same Block (Example: 25% Dirt, 25% Diamond, 50% Nothing)
Here is the basic idDropped:
put "mod_***", for example, I would put "mod_ObsidianCraft".
NAME = The block/item that will drop.
IB2 = If the drop is a Block, this would be "blockID". If the drop is an Item, this would be
"shiftedIndex".
Now, here is an idDropped, where it drops different items on random:
-4.
IB = Either "Item" or "Block". Depends on "NAME". If you have created the block/item. You need to
put "mod_***", for example, I would put "mod_ObsidianCraft".
NAME = The block/item that will drop.
IB2 = If the drop is a Block, this would be "blockID". If the drop is an Item, this would be
"shiftedIndex".
Now let's add a drop system to our "BlockRedObsidian.java"
Example - BlockRedObsidian.java
1/5 times (20%), drop the item "Redstone" 1/5 times (20%), and drop nothing 1/5 times (20%).
If you noticed, I put "5" as the options, but only gave 4 options, that means the 5th one will automatically be nothing.
Dropping Damage Values (Example: Wool, Dyes)
This tutorial will teach you how to make your block drop damage values of items/blocks. For example, it could drop red dye, or blue wool.
Add this code in your Block***.java:
NAME = Enter a block or item here, depends on what "IB" is.
IB2 = If "NAME" is a block, this would be "blockID". If "NAME" is an item, this would be "shiftedIndex".
DAMAGEVALUE = The damage value it will drop.
Example:
Now the whole "BlockRedObsidian.java":
Here are all the blocks/items, it also includes damage values:
http://www.minecraftwiki.net/images/8/8c/DataValuesBeta.png
Different Quantities Dropped
This tutorial will teach you how to make your block drop different quantities, for example, it could drop 2-6 red dyes, instead of a fixed amount.
Here is the code:
MAX = The maximum amount the block will drop.
Example:
Now I will add it into the "BlockRedObsidian.java":
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
At this point, you should have the basic knowledge of how to do all of the above.
Now it is time to get into more detail and functions for drops.
You will need to edit your "Block***.java" for this Tutorial.
Before beginning, check if you have this on top of your "Block***.java", right under "package
net.minecraft.src;":
- Code:
import java.util.Random;
Different Drops from same Block (Example: 25% Dirt, 25% Diamond, 50% Nothing)
Here is the basic idDropped:
- Code:
public int idDropped(int i, Random random)
{
return IB.NAME.IB2;
}
put "mod_***", for example, I would put "mod_ObsidianCraft".
NAME = The block/item that will drop.
IB2 = If the drop is a Block, this would be "blockID". If the drop is an Item, this would be
"shiftedIndex".
Now, here is an idDropped, where it drops different items on random:
- Code:
public int idDropped(int i, Random random)
{
int n = random.nextInt(OPTIONS);
if(n == 0)
{
return IB.NAME.IB2;
}
if(n == 1)
{
return IB.NAME.IB2;
}
if(n == 2)
{
return IB.NAME.IB2;
}
if(n == 3)
{
return IB.NAME.IB2;
}
if(n == 4)
{
return IB.NAME.IB2;
}
return 0;
}
-4.
IB = Either "Item" or "Block". Depends on "NAME". If you have created the block/item. You need to
put "mod_***", for example, I would put "mod_ObsidianCraft".
NAME = The block/item that will drop.
IB2 = If the drop is a Block, this would be "blockID". If the drop is an Item, this would be
"shiftedIndex".
Now let's add a drop system to our "BlockRedObsidian.java"
Example - BlockRedObsidian.java
- Code:
package net.minecraft.src;
import java.util.Random;
public class BlockRedObsidian extends Block
{
protected BlockRedObsidian(int i, int j)
{
super(i, j, Material.rock);
}
public int idDropped(int i, Random random)
{
int n = random.nextInt(5);
if(n == 0)
{
return mod_ObsidianCraft.redObsidian.blockID;
}
if(n == 1)
{
return mod_ObsidianCraft.redObsidian.blockID;
}
if(n == 2)
{
return mod_ObsidianCraft.redGem.shiftedIndex;
}
if(n == 3)
{
return Item.redstone.shiftedIndex;
}
return 0;
}
}
1/5 times (20%), drop the item "Redstone" 1/5 times (20%), and drop nothing 1/5 times (20%).
If you noticed, I put "5" as the options, but only gave 4 options, that means the 5th one will automatically be nothing.
Dropping Damage Values (Example: Wool, Dyes)
This tutorial will teach you how to make your block drop damage values of items/blocks. For example, it could drop red dye, or blue wool.
Add this code in your Block***.java:
- Code:
protected int damageDropped(int i)
{
return blockID != IB.NAME.IB2 ? 0 : DAMAGEVALUE;
}
NAME = Enter a block or item here, depends on what "IB" is.
IB2 = If "NAME" is a block, this would be "blockID". If "NAME" is an item, this would be "shiftedIndex".
DAMAGEVALUE = The damage value it will drop.
Example:
- Code:
protected int damageDropped(int i)
{
return blockID != Block.dirt.blockID ? 0 : 11;
}
Now the whole "BlockRedObsidian.java":
- Code:
package net.minecraft.src;
import java.util.Random;
public class BlockRedObsidian extends Block
{
protected BlockRedObsidian(int i, int j)
{
super(i, j, Material.rock);
}
public int idDropped(int i, Random random)
{
return Item.dyePowder.shiftedIndex;
}
protected int damageDropped(int i)
{
return blockID != mod_ObsidianCraft.redObsidian.blockID ? 0 : 11;
}
}
Here are all the blocks/items, it also includes damage values:
http://www.minecraftwiki.net/images/8/8c/DataValuesBeta.png
Different Quantities Dropped
This tutorial will teach you how to make your block drop different quantities, for example, it could drop 2-6 red dyes, instead of a fixed amount.
Here is the code:
- Code:
public int quantityDropped(Random random)
{
return MIN + random.nextInt(MAX);
}
MAX = The maximum amount the block will drop.
Example:
- Code:
public int quantityDropped(Random random)
{
return 2 + random.nextInt(6);
}
Now I will add it into the "BlockRedObsidian.java":
- Code:
package net.minecraft.src;
import java.util.Random;
public class BlockRedObsidian extends Block
{
protected BlockRedObsidian(int i, int j)
{
super(i, j, Material.rock);
}
public int idDropped(int i, Random random)
{
return mod_ObsidianCraft.redGem.shiftedIndex;
}
public int quantityDropped(Random random)
{
return 1 + random.nextInt(3);
}
}
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
Last edited by Slymask3 on Tue Aug 02, 2011 2:24 pm; edited 6 times in total
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Armor
It's finally time to make Armor!
You will need to edit your "mod_***.java" for this Tutorial.
This is the basic ItemArmor code:
ID = The ID of the Item. Can go up to 32000!
DURABILITY = The durability of the armor. Leather is 0. Chain is 1. Iron is 2. Gold is 1. Diamond is 3.
ARMORSET = The complete armor set. Usually starts with a lower-case letter. If you are making Iron Boots, this would be "iron".
ARMORTYPE = The armor type. Helmet is 0. Chestplate is 1. Leggings is 2. Boots is 3.
Here is an example:
Now you need to add all the other things that are needed by Items, since Armor is an Item. The location of the 16x16 png texture. Adding the In-Game name. Adding recipes. You could find out how by reading all the tutorials above this one.
Now, for armor, you need to make a png file of the actual texture, when your wearing it. This goes in a folder named "armor", and you need to make 2 files: ARMORSET_1 and ARMORSET_2. "ARMORSET" is what you called you Armor set in "mod_***.java". For me it would be "redGem_1" and "redGem_2".
I would recommend to just re-color any of the other armor sets like "iron_1" and "iron_2".
Now let's add a complete set into our "mod_ObsidianCraft.java".
Example - mod_ObsidianCraft.java
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations on making your first Armor Set!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
- "armor" Folder
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
- "armor" Folder
It's finally time to make Armor!
You will need to edit your "mod_***.java" for this Tutorial.
This is the basic ItemArmor code:
- Code:
public static Item ARMORNAME = (new ItemArmor(ID, DURABILITY, ModLoader.AddArmor("ARMORSET"), ARMORTYPE).setItemName("ARMORNAME"));
ID = The ID of the Item. Can go up to 32000!
DURABILITY = The durability of the armor. Leather is 0. Chain is 1. Iron is 2. Gold is 1. Diamond is 3.
ARMORSET = The complete armor set. Usually starts with a lower-case letter. If you are making Iron Boots, this would be "iron".
ARMORTYPE = The armor type. Helmet is 0. Chestplate is 1. Leggings is 2. Boots is 3.
Here is an example:
- Code:
public static Item helmetDirt = (new ItemArmor(8600, 2, ModLoader.AddArmor("dirt"), 0).setItemName("helmetDirt"));
Now you need to add all the other things that are needed by Items, since Armor is an Item. The location of the 16x16 png texture. Adding the In-Game name. Adding recipes. You could find out how by reading all the tutorials above this one.
Now, for armor, you need to make a png file of the actual texture, when your wearing it. This goes in a folder named "armor", and you need to make 2 files: ARMORSET_1 and ARMORSET_2. "ARMORSET" is what you called you Armor set in "mod_***.java". For me it would be "redGem_1" and "redGem_2".
I would recommend to just re-color any of the other armor sets like "iron_1" and "iron_2".
Now let's add a complete set into our "mod_ObsidianCraft.java".
Example - mod_ObsidianCraft.java
- Code:
package net.minecraft.src;
public class mod_ObsidianCraft extends BaseMod
{
public static final Block redObsidian = new BlockRedObsidian(150, 0).setBlockName("redObsidian").setHardness(10F).setResistance(2000F);
public static final Item redGem = new Item(8300).setItemName("redGem");
public static Item helmetRedGem = (new ItemArmor(8301, 2, ModLoader.AddArmor("redGem"), 0).setItemName("helmetRedGem"));
public static Item bodyRedGem = (new ItemArmor(8302, 2, ModLoader.AddArmor("redGem"), 1).setItemName("bodyRedGem"));
public static Item legsRedGem = (new ItemArmor(8303, 2, ModLoader.AddArmor("redGem"), 2).setItemName("legsRedGem"));
public static Item bootsRedGem = (new ItemArmor(8304, 2, ModLoader.AddArmor("redGem"), 3).setItemName("bootsRedGem"));
public String Version()
{
return "1.0";
}
public mod_ObsidianCraft ()
{
redObsidian.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/ObsidianCraft/RedObsidian.png");
redGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/RedGem.png");
helmetRedGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/HelmetRG.png");
bodyRedGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/BodyRG.png");
legsRedGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/LegsRG.png");
bootsRedGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/BootsRG.png");
ModLoader.RegisterBlock(redObsidian);
ModLoader.AddName(redObsidian, "Red Obsidian");
ModLoader.AddName(redGem, "Red Gem");
ModLoader.AddName(helmetRedGem, "Red Gem Helmet");
ModLoader.AddName(bodyRedGem, "Red Gem Chestplate");
ModLoader.AddName(legsRedGem, "Red Gem Leggings");
ModLoader.AddName(bootsRedGem, "Red Gem Boots");
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.redObsidian, 1), new Object[] {"XY", Character.valueOf('X'), Block.obsidian, Character.valueOf('Y'), Item.redstone});
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.helmetRedGem, 1), new Object[] {"XXX", "X X", Character.valueOf('X'), mod_ObsidianCraft.redGem});
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.bodyRedGem, 1), new Object[] {"X X", "XXX", "XXX", Character.valueOf('X'), mod_ObsidianCraft.redGem});
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.legsRedGem, 1), new Object[] {"XXX", "X X", "X X", Character.valueOf('X'), mod_ObsidianCraft.redGem});
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.bootsRedGem, 1), new Object[] {"X X", "X X", Character.valueOf('X'), mod_ObsidianCraft.redGem});
ModLoader.AddSmelting(mod_ObsidianCraft.redObsidian.blockID, new ItemStack(mod_ObsidianCraft.redGem, 1));
}
}
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations on making your first Armor Set!
Files you should now have:
- mod_***.java
- Block***.java
- Folder for Textures
- "armor" Folder
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- Folder for Textures = ObsidianCraft
- "armor" Folder
Last edited by Slymask3 on Thu Jul 28, 2011 9:38 pm; edited 2 times in total
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Food
Every great mod has food in them, right? Not really, but it is nice to add food.
You will need to edit your "mod_***.java" for this tutorial.
You could also make a new "Item***.java" file, but it is totally optional.
Open up your "mod_***.java".
Here is the Food code:
ID = The ID of the item, can go up to 32000!
HEAL = How much health it heals when eaten. The max health of the player is 20, so if I put "1" here, it would heal half a heart. "7" will heal 3 and a half hearts.
TF = You could either put "true" or "false". If you put "true", this item could be feeden to wolves. If you put "false", it cannot be feeded to wolves.
Here is an example:
Now we have to add everything that a regular item needs.
mod_ObsidianCraft.java
Now you are basically finished, but this food cannot be stacked. If you want this food to be stacked to 64 or a certain amount, for example 8, then keep reading. It you want to keep your food non-stackable, skip to the "Compiling" step.
Great, you have chosen to make your food stackable!
You will have to make a new file "Item***.java".
*** = The name of the food, for me it would be "ItemEdibleGem.java".
Item***.java
STACKSIZE = The stack size of the food. The max in 64 of course.
So let's make a one for the "Edible Gem" item.
ItemEdibleGem.java
Now go back to "mod_***.java", and change the "ItemFood" to "Item***" in this code:
*** = The name of the new file you created for our food.
So I would change it to this:
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
You have finished making your first Food Item!
Files you should now have:
- mod_***.java
- Block***.java
- Item***.java [Optional]
- Folder for Textures
- "armor" Folder
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- ItemEdibleGem.java [Optional]
- Folder for Textures = ObsidianCraft
- "armor" Folder
Every great mod has food in them, right? Not really, but it is nice to add food.
You will need to edit your "mod_***.java" for this tutorial.
You could also make a new "Item***.java" file, but it is totally optional.
Open up your "mod_***.java".
Here is the Food code:
- Code:
public static Item NAME = (new ItemFood(ID, HEAL, TF).setItemName("NAME"));
ID = The ID of the item, can go up to 32000!
HEAL = How much health it heals when eaten. The max health of the player is 20, so if I put "1" here, it would heal half a heart. "7" will heal 3 and a half hearts.
TF = You could either put "true" or "false". If you put "true", this item could be feeden to wolves. If you put "false", it cannot be feeded to wolves.
Here is an example:
- Code:
public static Item chicken = (new ItemFood(6969, 6, true).setItemName("chicken"));
Now we have to add everything that a regular item needs.
mod_ObsidianCraft.java
- Code:
package net.minecraft.src;
public class mod_ObsidianCraft extends BaseMod
{
public static final Block redObsidian = new BlockRedObsidian(150, 0).setBlockName("redObsidian").setHardness(0.5F).setResistance(2000F);
public static final Item redGem = new Item(8300).setItemName("redGem");
public static Item helmetRedGem = (new ItemArmor(8301, 2, ModLoader.AddArmor("redGem"), 0).setItemName("helmetRedGem"));
public static Item bodyRedGem = (new ItemArmor(8302, 2, ModLoader.AddArmor("redGem"), 1).setItemName("bodyRedGem"));
public static Item legsRedGem = (new ItemArmor(8303, 2, ModLoader.AddArmor("redGem"), 2).setItemName("legsRedGem"));
public static Item bootsRedGem = (new ItemArmor(8304, 2, ModLoader.AddArmor("redGem"), 3).setItemName("bootsRedGem"));
public static Item edibleGem = (new ItemFood(8305, 2, true).setItemName("edibleGem"));
public String Version()
{
return "1.0";
}
public mod_ObsidianCraft ()
{
redObsidian.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/ObsidianCraft/RedObsidian.png");
redGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/RedGem.png");
helmetRedGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/HelmetRG.png");
bodyRedGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/BodyRG.png");
legsRedGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/LegsRG.png");
bootsRedGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/BootsRG.png");
edibleGem.iconIndex = ModLoader.addOverride("/gui/items.png", "/ObsidianCraft/EdibleGem.png");
ModLoader.RegisterBlock(redObsidian);
ModLoader.AddName(redObsidian, "Red Obsidian");
ModLoader.AddName(redGem, "Red Gem");
ModLoader.AddName(helmetRedGem, "Red Gem Helmet");
ModLoader.AddName(bodyRedGem, "Red Gem Chestplate");
ModLoader.AddName(legsRedGem, "Red Gem Leggings");
ModLoader.AddName(bootsRedGem, "Red Gem Boots");
ModLoader.AddName(edibleGem, "Edible Gem");
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.redObsidian, 1), new Object[] {"XY", Character.valueOf('X'), Block.obsidian, Character.valueOf('Y'), Item.redstone});
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.helmetRedGem, 1), new Object[] {"XXX", "X X", Character.valueOf('X'), mod_ObsidianCraft.redGem});
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.bodyRedGem, 1), new Object[] {"X X", "XXX", "XXX", Character.valueOf('X'), mod_ObsidianCraft.redGem});
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.legsRedGem, 1), new Object[] {"XXX", "X X", "X X", Character.valueOf('X'), mod_ObsidianCraft.redGem});
ModLoader.AddRecipe(new ItemStack(mod_ObsidianCraft.bootsRedGem, 1), new Object[] {"X X", "X X", Character.valueOf('X'), mod_ObsidianCraft.redGem});
ModLoader.AddSmelting(mod_ObsidianCraft.redObsidian.blockID, new ItemStack(mod_ObsidianCraft.redGem, 1));
ModLoader.AddSmelting(mod_ObsidianCraft.redGem.shiftedIndex, new ItemStack(mod_ObsidianCraft.edibleGem, 2));
}
}
Now you are basically finished, but this food cannot be stacked. If you want this food to be stacked to 64 or a certain amount, for example 8, then keep reading. It you want to keep your food non-stackable, skip to the "Compiling" step.
Great, you have chosen to make your food stackable!
You will have to make a new file "Item***.java".
*** = The name of the food, for me it would be "ItemEdibleGem.java".
Item***.java
- Code:
package net.minecraft.src;
public class ItemNAME extends ItemFood
{
public ItemNAME(int i, int j, boolean flag)
{
super(i, j, flag);
maxStackSize = STACKSIZE;
}
}
STACKSIZE = The stack size of the food. The max in 64 of course.
So let's make a one for the "Edible Gem" item.
ItemEdibleGem.java
- Code:
package net.minecraft.src;
public class ItemEdibleGem extends ItemFood
{
public ItemEdibleGem(int i, int j, boolean flag)
{
super(i, j, flag);
maxStackSize = 16;
}
}
Now go back to "mod_***.java", and change the "ItemFood" to "Item***" in this code:
*** = The name of the new file you created for our food.
- Code:
public static Item NAME = (new ItemFood(ID, HEAL, TF).setItemName("NAME"));
So I would change it to this:
- Code:
public static Item edibleGem = (new ItemEdibleGem(8305, 2, true).setItemName("edibleGem"));
Compiling
Once your done, go back to the MCP folder.
Now run "recompile.bat".
If you don't get any errors, you have done everything correctly.
Congratulations!
You have finished making your first Food Item!
Files you should now have:
- mod_***.java
- Block***.java
- Item***.java [Optional]
- Folder for Textures
- "armor" Folder
Example:
- mod_ObsidianCraft.java
- BlockRedObsidian.java
- ItemEdibleGem.java [Optional]
- Folder for Textures = ObsidianCraft
- "armor" Folder
Last edited by Slymask3 on Mon Aug 01, 2011 11:35 pm; edited 1 time in total
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
you might have reserved too much,but better too much then not enough
dittos- Minecraft : dittos
YouTube : charmandermeleonzard
Posts : 124
Join date : 2011-07-27
Age : 27
Location : the kaizo caverns
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Yeah.dittos wrote:you might have reserved too much,but better too much then not enough
Do you have any feedback?
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Slymask3 wrote:Yeah.dittos wrote:you might have reserved too much,but better too much then not enough
Do you have any feedback?
not really,cant play minecraft good lately,im having heavy lagg when there spawn mobs(passive and hostiles),i will test these tutorials when i found a way to play minecraft without lagg
dittos- Minecraft : dittos
YouTube : charmandermeleonzard
Posts : 124
Join date : 2011-07-27
Age : 27
Location : the kaizo caverns
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Oh, I remember someone sent me a message on YouTube, to make a review of this program, that makes Minecraft run faster, a long time ago.dittos wrote:Slymask3 wrote:Yeah.dittos wrote:you might have reserved too much,but better too much then not enough
Do you have any feedback?
not really,cant play minecraft good lately,im having heavy lagg when there spawn mobs(passive and hostiles),i will test these tutorials when i found a way to play minecraft without lagg
I could go check it out, maybe make a review.
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
dittos wrote:Slymask3 wrote:Yeah.dittos wrote:you might have reserved too much,but better too much then not enough
Do you have any feedback?
not really,cant play minecraft good lately,im having heavy lagg when there spawn mobs(passive and hostiles),i will test these tutorials when i found a way to play minecraft without lagg
Hey go and search for Fastercraft on google, and go to the MC Forums Thread and Download.
It helped me A LOT
(considering you have a Windows Machine )
Zeperus- Minecraft : Zeperus
YouTube : Zeperus05
Posts : 96
Join date : 2011-07-26
Age : 28
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Oh and btw:
If you want to code for Minecraft:
Use Eclipse It is an free Programm and It shows you your mistakes and has some Auto correct, like you put Material. and it shows Wood,Stone etc
If you want to code for Minecraft:
Use Eclipse It is an free Programm and It shows you your mistakes and has some Auto correct, like you put Material. and it shows Wood,Stone etc
Zeperus- Minecraft : Zeperus
YouTube : Zeperus05
Posts : 96
Join date : 2011-07-26
Age : 28
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Zeperus wrote:dittos wrote:Slymask3 wrote:Yeah.dittos wrote:you might have reserved too much,but better too much then not enough
Do you have any feedback?
not really,cant play minecraft good lately,im having heavy lagg when there spawn mobs(passive and hostiles),i will test these tutorials when i found a way to play minecraft without lagg
Hey go and search for Fastercraft on google, and go to the MC Forums Thread and Download.
It helped me A LOT
(considering you have a Windows Machine )
thx for telling me the name of a program that makes mc faster(and yes i have a windows laptop so it will work)
dittos- Minecraft : dittos
YouTube : charmandermeleonzard
Posts : 124
Join date : 2011-07-27
Age : 27
Location : the kaizo caverns
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
No Problem I love to Help
Zeperus- Minecraft : Zeperus
YouTube : Zeperus05
Posts : 96
Join date : 2011-07-26
Age : 28
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
You could use Eclipse, I just find EditPad Pro helpful. It is easier. When I tried to set up Eclipse, it didn't work, but that was awhile ago.Zeperus wrote:Oh and btw:
If you want to code for Minecraft:
Use Eclipse It is an free Programm and It shows you your mistakes and has some Auto correct, like you put Material. and it shows Wood,Stone etc
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Well I read in the comments of frome a Video Tutorial Series, that It sometimes sayes:
"Unknowen Operation System Windows 7"(or something like that, but It will still work. I read that there too)
LoL
"Unknowen Operation System Windows 7"(or something like that, but It will still work. I read that there too)
LoL
Zeperus- Minecraft : Zeperus
YouTube : Zeperus05
Posts : 96
Join date : 2011-07-26
Age : 28
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Yeah, that's probably what happened, can't remember.Zeperus wrote:Well I read in the comments of frome a Video Tutorial Series, that It sometimes sayes:
"Unknowen Operation System Windows 7"(or something like that, but It will still work. I read that there too)
LoL
But EditPad Pro works perfectly!
Free, Simple, Easy to use.
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Can you help me out plz?
I'm making the block, but I've got 4 errors:
If you need to see my mod_WoodStone.java:
I'm making the block, but I've got 4 errors:
- Spoiler:
- == MCP v4.3 ==
> Recompiling client...
javac.exe -g -verbose -classpath "lib/;lib/*;jars/bin/minecraft.jar;jars/bin/jin
put.jar;jars/bin/lwjgl.jar;jars/bin/lwjgl_util.jar" -sourcepath src/minecraft -d
bin/minecraft src/minecraft\net\minecraft\client\*.java src/minecraft\net\minec
raft\isom\*.java src/minecraft\net\minecraft\src\*.java conf/patches/*.java fai
led.
Return code : 1
== ERRORS FOUND ==
src\minecraft\net\minecraft\src\mod_WoodStone.java:3: cannot find symbol
symbol: class BaseMod
public class mod_WoodStone extends BaseMod
^
src\minecraft\net\minecraft\src\mod_WoodStone.java:14: cannot find symbol
symbol : variable ModLoader
location: class net.minecraft.src.mod_WoodStone
woodStone.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/timbo111
1/WoodStone.png");
^
src\minecraft\net\minecraft\src\mod_WoodStone.java:15: cannot find symbol
symbol : variable ModLoader
location: class net.minecraft.src.mod_WoodStone
ModLoader.RegisterBlock(woodStone);
^
src\minecraft\net\minecraft\src\mod_WoodStone.java:16: cannot find symbol
symbol : variable ModLoader
location: class net.minecraft.src.mod_WoodStone
ModLoader.AddName(woodStone, "WoodStone");
^
4 errors
==================
> Done in 6.04 seconds
> Recompiling server...
!! Can not find server sources !!
Druk op een toets om door te gaan. . .
If you need to see my mod_WoodStone.java:
- Spoiler:
- package net.minecraft.src;
public class mod_WoodStone extends BaseMod
{
public static final Block woodStone = new BlockWoodStone(150, 0).setBlockName("woodStone").setHardness(1.5F).setResistance(20F);
public String Version()
{
return "1.0";
}
public mod_WoodStone ()
{
woodStone.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/timbo1111/WoodStone.png");
ModLoader.RegisterBlock(woodStone);
ModLoader.AddName(woodStone, "WoodStone");
}
}
PlayerTim6- Posts : 8
Join date : 2011-07-29
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
You forgot to add ModLoader to your "minecraft.jar" in your "bin" folder, which is in your "jars" folder, in the MCP folder.
Just download ModLoader: http://www.minecraftforum.net/topic/75440-v173-risugamis-mods/
Go to your MCP -> jars -> bin.
Now open "minecraft.jar" with WinRAR or 7zip.
Drag all the files from the downloaded "ModLoader" file into your "minecraft.jar".
Now be sure to make a backup of the ".java" files you created, and move them to a safe place, for example: your Desktop.
Now back in the MCP folder, run "cleanup.bat".
After it cleans everything up, run "decompile.bat" again.
So now it will decompile all of ModLoader's files, including "BaseMod", which is in your errors.
Now just put the ".java" files you created back where they were, and run "recompile.bat", and you shouldn't get any errors.
Just download ModLoader: http://www.minecraftforum.net/topic/75440-v173-risugamis-mods/
Go to your MCP -> jars -> bin.
Now open "minecraft.jar" with WinRAR or 7zip.
Drag all the files from the downloaded "ModLoader" file into your "minecraft.jar".
Now be sure to make a backup of the ".java" files you created, and move them to a safe place, for example: your Desktop.
Now back in the MCP folder, run "cleanup.bat".
After it cleans everything up, run "decompile.bat" again.
So now it will decompile all of ModLoader's files, including "BaseMod", which is in your errors.
Now just put the ".java" files you created back where they were, and run "recompile.bat", and you shouldn't get any errors.
Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials
Alright.. I did install modLoader, but didn't decompile with them..
PlayerTim6- Posts : 8
Join date : 2011-07-29
Page 1 of 5 • 1, 2, 3, 4, 5
Page 1 of 5
Permissions in this forum:
You cannot reply to topics in this forum
|
|