Hello, and this is Derpus_Maxi here,and i was feeling helpful so i decided to write a tutorial.
\
NOTE: mrgreengamer i have found out, thanks!
Ok, let's start with the basics.
I will not tell you how to set it up, however if i have popular request i will.
Let's create the main mod file.
Open eclispe, set up your workspace, and go to Minecraft -> src -> right click on source and select New -> Package. Then, right click on your package and click New -> Class. Name it whatever your heart desires I recommend the name of your mod. Now we can really start!
For this example, I am going to use Awedemod. Just copy, paste, and edit! The // will help you understand.
//This is your package. It should be automatically filled out. If it isn't, just put in your package name.
package mod.awedem;
//The long list of imports....
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.DimensionManager;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
//The "modid" is like the number of the mod( how many mods have you made)just change that to whatever. name ="Awede" I think tht that is pretty self-explainatory. VERSION = The version of your mod.
@Mod(modid = "15", name = "NAME", version = "0.0.1")
//Don't mess around with this.
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class MainAwedemod
{
//This is where you will do a lot of things!
//Game and Lauguage Register goes here!
@Init
public void load(FMLInitializationEvent event)
{
}
I hope I cleared it up enough!
Just copy, paste and edit like above! The comments should explain everything MAIN MOD FILE
//The mod package, like you should know if you were following along.
package mod.awedem;
// De forever long list of imports!
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.DimensionManager;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
//You should know this. Fill in modid with a random number and name with your Mod Name. Version is your mod version!
@Mod(modid = "15", name = "Awedemod", version = "1.5.2")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class MainAwedemod
{
public static Block tutorialblock;
//This declares your block, change "tutorialblock"to your block name!
//Game Registrys and Language Registrys go Here
@Init
public void load(FMLInitializationEvent event)
{
//It's time to register your block in the main mod file.
//Where it says new BlockMod, change it to any name.That is where your blocks will be registered. You will need to make a class for this later. The(3608) is the block id. the "block" beside t is the block name.
//.setUnocalizedName means the texture for your block.Go to (1.5.2)textures/blocks(1.6)assets/minecraft/textures/blocks.
//setHardness means what pickaxe can break it. 1.0F, is wood, 2.0F is stone, ext.
//setResistance is the blast resistance.
//GameRegistry tells you to register the block. The first word is the name you have been using for the block. The second is the Name it will show up in the game. Same thing for LanguageRegistry.
tutorialblock= new BlockMod(3608, "tutorialblock").setUnlocalizedName("stone").setHardness(2.0F).setStepSound(Block.soundMetalFootstep).setResistance(10.0F);
GameRegistry.registerBlock(tutorialblock, "Tutorial");
LanguageRegistry.addName(tutorialblock, "Tutorial");
}
Your block file
The comments should explain everything!
//Remeber when you did tutorialblock = new BlockMod? Well, you want to make a class for whatever you replaced BlockMod with.
//The usual.
package mod.awedem;
import java.util.Random;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.registry.LanguageRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
//Replace BlockMod with thename of the class.
public class BlockMod extends Block {
//Just copy and paste.
public BlockMod(int par1, String texture) {
super(par1, Material.rock);
setCreativeTab(CreativeTabs.tabBlock);
//You want it in Crative, don't you!
}
//This is what it drops. Change MainAwedemod to your Main Mod file, change tutorialblock to your block name, and volia! Juts leave the rest the same!
public int idDropped(int par1, Random par2Random, int par3)
{
return MainAwedemod.tutorialblock.blockID;
}
public int quantityDropped(Random random)
{
return 3;
}
//Ignore this. You already have it set.
public String getTextureFile(){
return "/textures/blocks/TEXTURE_NAME.png";
}
}
\
NOTE: mrgreengamer i have found out, thanks!
Ok, let's start with the basics.
Let's create the main mod file.
Open eclispe, set up your workspace, and go to Minecraft -> src -> right click on source and select New -> Package. Then, right click on your package and click New -> Class. Name it whatever your heart desires
For this example, I am going to use Awedemod. Just copy, paste, and edit! The // will help you understand.
//This is your package. It should be automatically filled out. If it isn't, just put in your package name. package mod.awedem; //The long list of imports.... import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.DimensionManager; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; //The "modid" is like the number of the mod( how many mods have you made)just change that to whatever. name ="Awede" I think tht that is pretty self-explainatory. VERSION = The version of your mod. @Mod(modid = "15", name = "NAME", version = "0.0.1") //Don't mess around with this. @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MainAwedemod { //This is where you will do a lot of things! //Game and Lauguage Register goes here! @Init public void load(FMLInitializationEvent event) { }I hope I cleared it up enough!
MAIN MOD FILE
//The mod package, like you should know if you were following along. package mod.awedem; // De forever long list of imports! import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.DimensionManager; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; //You should know this. Fill in modid with a random number and name with your Mod Name. Version is your mod version! @Mod(modid = "15", name = "Awedemod", version = "1.5.2") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MainAwedemod { public static Block tutorialblock; //This declares your block, change "tutorialblock"to your block name! //Game Registrys and Language Registrys go Here @Init public void load(FMLInitializationEvent event) { //It's time to register your block in the main mod file. //Where it says new BlockMod, change it to any name.That is where your blocks will be registered. You will need to make a class for this later. The(3608) is the block id. the "block" beside t is the block name. //.setUnocalizedName means the texture for your block.Go to (1.5.2)textures/blocks(1.6)assets/minecraft/textures/blocks. //setHardness means what pickaxe can break it. 1.0F, is wood, 2.0F is stone, ext. //setResistance is the blast resistance. //GameRegistry tells you to register the block. The first word is the name you have been using for the block. The second is the Name it will show up in the game. Same thing for LanguageRegistry. tutorialblock= new BlockMod(3608, "tutorialblock").setUnlocalizedName("stone").setHardness(2.0F).setStepSound(Block.soundMetalFootstep).setResistance(10.0F); GameRegistry.registerBlock(tutorialblock, "Tutorial"); LanguageRegistry.addName(tutorialblock, "Tutorial"); }Your block file
The comments should explain everything!
//Remeber when you did tutorialblock = new BlockMod? Well, you want to make a class for whatever you replaced BlockMod with. //The usual. package mod.awedem; import java.util.Random; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.registry.LanguageRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; //Replace BlockMod with thename of the class. public class BlockMod extends Block { //Just copy and paste. public BlockMod(int par1, String texture) { super(par1, Material.rock); setCreativeTab(CreativeTabs.tabBlock); //You want it in Crative, don't you! } //This is what it drops. Change MainAwedemod to your Main Mod file, change tutorialblock to your block name, and volia! Juts leave the rest the same! public int idDropped(int par1, Random par2Random, int par3) { return MainAwedemod.tutorialblock.blockID; } public int quantityDropped(Random random) { return 3; } //Ignore this. You already have it set. public String getTextureFile(){ return "/textures/blocks/TEXTURE_NAME.png"; } }I hope I helped! Leave suggestions below!
1: A new type of Furnace
2: Pipes