TehGimpsters
To view all the forum contents. Please login or register.

Join the forum, it's quick and easy

TehGimpsters
To view all the forum contents. Please login or register.
TehGimpsters
Would you like to react to this message? Create an account in a few clicks or log in to continue.

[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 1, 2, 3, 4, 5  Next

Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Wed Jul 27, 2011 9:51 pm

Slymask3's Modding Tutorials

Introduction
What is going on Youtube 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. Very Happy
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. Very Happy
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
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Wed Jul 27, 2011 10:02 pm

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
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. Very Happy

Congratulations! Very Happy
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
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Wed Jul 27, 2011 10:02 pm

Item
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! Very Happy
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 #;
    }
# = How much of the item will the block drop?

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;
    }
}
This will make the block "Red Obsidian" drop the Item "Red Gem" in a quantity of 4, when you break it.

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. Very Happy

Congratulations! Very Happy
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
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 9:22 am

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! Very Happy
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});
IB = You could enter either "Item" or "Block" here, depends on what "NAME" is. If I want to get a diamond, This would be "Item", then for "NAME", I would put "diamond". If you have created the block/item. You need to put "mod_***", for example, I would put "mod_ObsidianCraft".
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});
This will give you 6 Diamonds, when you put a Dirt Block in the Crafting area.

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});
This will give you 6 Diamonds with this Recipe:
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});
    }
}
This adds a recipe to get our block "Red Obsidian", by putting Obsidian and Redstone Dust together in the crafting recipe. Very Happy
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. Very Happy

Congratulations! Very Happy
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)});
IB = You could enter either "Item" or "Block" here, depends on what "NAME" is. If you have created the block/item. You need to put "mod_***", for example, I would put "mod_ObsidianCraft". This is the output Item/Block.
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)});
Same as above, but added in another ingredient.

Example:
Code:
ModLoader.AddShapelessRecipe(new ItemStack(Item.diamond, 1), new Object[] {new ItemStack(Item.dyePowder, 1, 11), new ItemStack(Block.obsidian, 1)});
This will make a recipe that when you put in an Obsidian Block and 1 Yellow Dye, you will get 1 Diamond.

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. Very Happy

Congratulations! Very Happy
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
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 9:22 am

Smelting Recipe
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));
IB = Either "Block" or "Item". It 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 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));
This will give me 4 Diamonds when I smelt a Dirt block.

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));
    }
}
This adds a smelting recipe to get the Item "Red Gem", by smelting the Block "Red Obsidian".

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. Very Happy

Congratulations! Very Happy
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
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 9:23 am

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;":
Code:
import java.util.Random;
If you do not, add it.




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;
    }
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, 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;
    }
OPTIONS = The number of options. Java starts at 0. If you have 5 options, the options will be from 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;
    }
}
The Block "Red Obsidian" will drop the Block "Red Obsidian" 2/5 times (40%), drop the Item "Red Gem"

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;
    }
IB = Enter "Item" or "Block". If you have created the block/item. You need to put "mod_***", for example, I would put "mod_ObsidianCraft".
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;
    }
This will make the block Dirt, drop the item it drops with a damage value of 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;
    }
}
Now the block Red Obsidian will drop Yellow Dye (Dye with a damage value of 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);
    }
MIN = The minimum amount the block will drop.
MAX = The maximum amount the block will drop.

Example:
Code:
    public int quantityDropped(Random random)
    {
        return 2 + random.nextInt(6);
    }
This will make my block drop 2, 3, 4, 5, or 6 of the item/block it drops.

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);
    }
}
This will make the block "Red Obsidian" drop the item "Red Gem" in amounts of 1, 2, or 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. Very Happy

Congratulations! Very Happy

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
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 9:23 am

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:
Code:
public static Item ARMORNAME = (new ItemArmor(ID, DURABILITY, ModLoader.AddArmor("ARMORSET"), ARMORTYPE).setItemName("ARMORNAME"));
ARMORNAME = The name of the armor. Usually starts with a lower-case letter. Example:
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"));
This will make a Dirt Helmet with the ID of 8600, and as strong as an Iron Helmet.

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));
    }
}
I added in Red Gem Armor, which is as good as Iron Armor, with the IDs 8301-8304. You could craft them like regular armor, but with the Iten "Red Gem". The icon textures are in the folder "ObsidianCraft". The actual textures are in the folder "armor", as "redGem_1.png" and "redGem_2.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. Very Happy

Congratulations on making your first Armor Set! Very Happy

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
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 9:23 am

Food
Every great mod has food in them, right? Not really, but it is nice to add food. Very Happy
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"));
NAME = The name of the item.
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"));
This will make an item "Chicken", with the ID of 6969, it heals 3 hearts when eaten, and you could feed it to wolves.

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));
    }
}
This will make an Item "Edible Gem", with the ID of 8305, it heals 1 heart, and you could feed it to wolves. It takes the texture of the Item from a folder called "ObsidianCraft", the texture is "EdibleGem.png". You could get this item by smelting the item "Red Gem", you will get a quantity of 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;
    }
}
NAME = The name of the Food, the same as the "Item***.java", if my ".java" file is "ItemEdibleGem.java", this would be EdibleGem.
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;
    }
}
This will give the item "Edible Gem" a max stack size of 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. Very Happy

Congratulations! Very Happy
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
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 9:23 am

[Reserved]
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 9:23 am

[Reserved]
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 9:23 am

[Reserved]
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by dittos Thu Jul 28, 2011 9:37 am

you might have reserved too much,but better too much then not enough
dittos
dittos

Minecraft : dittos
YouTube : charmandermeleonzard
Posts : 124
Join date : 2011-07-27
Age : 27
Location : the kaizo caverns

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 9:39 am

dittos wrote:you might have reserved too much,but better too much then not enough
Yeah. Very Happy
Do you have any feedback? Very Happy
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by dittos Thu Jul 28, 2011 12:14 pm

Slymask3 wrote:
dittos wrote:you might have reserved too much,but better too much then not enough
Yeah. Very Happy
Do you have any feedback? Very Happy

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
dittos

Minecraft : dittos
YouTube : charmandermeleonzard
Posts : 124
Join date : 2011-07-27
Age : 27
Location : the kaizo caverns

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 12:45 pm

dittos wrote:
Slymask3 wrote:
dittos wrote:you might have reserved too much,but better too much then not enough
Yeah. Very Happy
Do you have any feedback? Very Happy

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
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.
I could go check it out, maybe make a review.
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Zeperus Thu Jul 28, 2011 1:33 pm

dittos wrote:
Slymask3 wrote:
dittos wrote:you might have reserved too much,but better too much then not enough
Yeah. Very Happy
Do you have any feedback? Very Happy

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 Wink )
Zeperus
Zeperus

Minecraft : Zeperus
YouTube : Zeperus05
Posts : 96
Join date : 2011-07-26
Age : 28

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Zeperus Thu Jul 28, 2011 1:34 pm

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 Wink
Zeperus
Zeperus

Minecraft : Zeperus
YouTube : Zeperus05
Posts : 96
Join date : 2011-07-26
Age : 28

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by dittos Thu Jul 28, 2011 2:04 pm

Zeperus wrote:
dittos wrote:
Slymask3 wrote:
dittos wrote:you might have reserved too much,but better too much then not enough
Yeah. Very Happy
Do you have any feedback? Very Happy

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 Wink )

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
dittos

Minecraft : dittos
YouTube : charmandermeleonzard
Posts : 124
Join date : 2011-07-27
Age : 27
Location : the kaizo caverns

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Zeperus Thu Jul 28, 2011 2:08 pm

No Problem Wink I love to Help Very Happy
Zeperus
Zeperus

Minecraft : Zeperus
YouTube : Zeperus05
Posts : 96
Join date : 2011-07-26
Age : 28

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 4:04 pm

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 Wink
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. Razz
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Zeperus Thu Jul 28, 2011 4:07 pm

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
Zeperus
Zeperus

Minecraft : Zeperus
YouTube : Zeperus05
Posts : 96
Join date : 2011-07-26
Age : 28

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Thu Jul 28, 2011 4:27 pm

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
Yeah, that's probably what happened, can't remember.
But EditPad Pro works perfectly! Very Happy
Free, Simple, Easy to use. Very Happy
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by PlayerTim6 Fri Jul 29, 2011 10:02 am

Can you help me out plz?

I'm making the block, but I've got 4 errors:

Spoiler:

If you need to see my mod_WoodStone.java:

Spoiler:
PlayerTim6
PlayerTim6

Posts : 8
Join date : 2011-07-29

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Slymask3 Fri Jul 29, 2011 11:07 am

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. Very Happy
Slymask3
Slymask3
Administrator
Administrator

Minecraft : Slymask3
YouTube : TehGimpsters
Posts : 441
Join date : 2011-07-26
Age : 27
Location : Canada

https://www.youtube.com/tehgimpsters

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by PlayerTim6 Fri Jul 29, 2011 11:51 am

Alright.. I did install modLoader, but didn't decompile with them..
PlayerTim6
PlayerTim6

Posts : 8
Join date : 2011-07-29

Back to top Go down

[Tutorial Set] [ModLoader] Slymask3's Modding Tutorials Empty Re: [Tutorial Set] [ModLoader] Slymask3's Modding Tutorials

Post by Sponsored content


Sponsored content


Back to top Go down

Page 1 of 5 1, 2, 3, 4, 5  Next

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum