I've never done this before but I think you have to decompile with IC installed, so that when you link a recipe with something from IC you won't get any errors. It should be pretty much the same as making any other recipe.
You need to install the Java JDK, get MCP, a code editor (I recommend Eclipse) and Java coding knowledge. There is quite a few tutorials on Minecraft modding here on the forums if you want to take a look at them.
Also, Welcome to the Minecraft Forums. Have a cake.
src\minecraft\net\minecraft\src\mod_Palpa.java:11: error: <identifier> expected
public static final Item ObsidianAxe = (new (1002, EnumToolMaterial.OBSIDIAN)).s
etItemName("obsidianaxe");
^
public static final Item ObsidianAxe = (new ItemAxe(1002, EnumToolMaterial.OBSIDIAN)).setItemName("obsidianaxe");
package net.minecraft.src;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class mod_Palpa extends BaseMod
{
public static final Item ObsidianPickaxe = (new ItemPickaxe(1000, EnumToolMaterial.OBSIDIAN)).setItemName("obsidianpickaxe");
public static final Item ObsidianSword = (new ItemSword(1001, EnumToolMaterial.OBSIDIAN)).setItemName("obsidiansword");
public static final Item ObsidianAxe = (new (1002, EnumToolMaterial.OBSIDIAN)).setItemName("obsidianaxe");
public static final Item ObsidianShovel = (new ItemSpade(1003, EnumToolMaterial.OBSIDIAN)).setItemName("obsidianshovel");
public static final Item ObsidianHoe = (new ItemHoe(1004, EnumToolMaterial.OBSIDIAN)).setItemName("obsidian");
/**
* The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = IRON/GOLD)
*/
private final int harvestLevel;
/**
* The number of uses this material allows. (wood = 59, stone = 131, iron = 250, diamond = 1561, gold = 32)
*/
private final int maxUses;
/**
* The strength of this tool material against blocks which it is effective against.
*/
private final float efficiencyOnProperMaterial;
/** Damage versus entities. */
private final int damageVsEntity;
/** Defines the natural enchantability factor of the material. */
private final int enchantability;
private EnumToolMaterial(int par3, int par4, float par5, int par6, int par7)
{
this.harvestLevel = par3;
this.maxUses = par4;
this.efficiencyOnProperMaterial = par5;
this.damageVsEntity = par6;
this.enchantability = par7;
}
/**
* The number of uses this material allows. (wood = 59, stone = 131, iron = 250, diamond = 1561, gold = 32)
*/
public int getMaxUses()
{
return this.maxUses;
}
/**
* The strength of this tool material against blocks which it is effective against.
*/
public float getEfficiencyOnProperMaterial()
{
return this.efficiencyOnProperMaterial;
}
/**
* Damage versus entities.
*/
public int getDamageVsEntity()
{
return this.damageVsEntity;
}
/**
* The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = IRON/GOLD)
*/
public int getHarvestLevel()
{
return this.harvestLevel;
}
/**
* Return the natural enchantability factor of the material.
*/
public int getEnchantability()
{
return this.enchantability;
}
/**
* Return the crafting material for this tool material, used to determine the item that can be used to repair a tool
* with an anvil
*/
public int getToolCraftingMaterial()
{
return this == WOOD ? Block.planks.blockID : (this == STONE ? Block.cobblestone.blockID : (this == GOLD ? Item.ingotGold.itemID : (this == IRON ? Item.ingotIron.itemID : (this == EMERALD ? Item.emerald.itemID : 0))));
}
}
First off, In 1.5 (and the snapshots) there's a redstone block in the game. So I see no point in doing this.
mod_myfirstmod
package net.minecraft.src;
import java.util.*;
public class mod_myfirstmod extends BaseMod
public static final Block redstone = new BlockRedstoneBlock(230, 0).setStepSound(Block.soundStoneFootstep).setBlockName("redblock").setHardness(5F).setResistance(5F).setLightValue(0F);
public void load()
{
//TEXTURE
redstoneblock.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/redstoneblock.png");
Please fix your names. Why does every class name start with "mod"? Also I gave you 2 possible solutions.
Please have a look at them and reply in an understandable way
I think he means he wants it to count as a use when he throws the knife (like how if you use a sword on a mob, the sword will be 'damaged') so when he picks the knife back up, its not considered as a new knife.
I don't know if its just me, but it sounds like as if hes just dropping it on the ground.
The lava..I don't think is possible. In Minecraft you can add fuels (ex. Dirt) if you made it a fuel. It'd be a normal dirt block like before, but could also be burned in a furnace. So with lava, it'd be a normal lava source when outside of the furnace.
To make something smelt/cook faster..I partially have an idea how but I'm not sure if you're using ModLoader, Forge, etc Blaueseichoern's GUI Tutorial
He has a good tutorial including burning times (modloader/forge)
0
0
0
Also, Welcome to the Minecraft Forums. Have a cake.
0
0
public static final Item ObsidianAxe = (new ItemAxe(1002, EnumToolMaterial.OBSIDIAN)).setItemName("obsidianaxe");
Sorry for that little mess up. Fixed
0
Touché
0
Is the mods folder you created all lowercase?
0
Its 16x16
I've only seen black lobsters. I hope that's fine with you.
If you want to edit it, make it the more generic and recognizable red color. Be my guest.
0
0
mod_Palpa
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class mod_Palpa extends BaseMod
{
public static final Item ObsidianPickaxe = (new ItemPickaxe(1000, EnumToolMaterial.OBSIDIAN)).setItemName("obsidianpickaxe");
public static final Item ObsidianSword = (new ItemSword(1001, EnumToolMaterial.OBSIDIAN)).setItemName("obsidiansword");
public static final Item ObsidianAxe = (new (1002, EnumToolMaterial.OBSIDIAN)).setItemName("obsidianaxe");
public static final Item ObsidianShovel = (new ItemSpade(1003, EnumToolMaterial.OBSIDIAN)).setItemName("obsidianshovel");
public static final Item ObsidianHoe = (new ItemHoe(1004, EnumToolMaterial.OBSIDIAN)).setItemName("obsidian");
public void load()
{
//TEXTURES
ObsidianPickaxe.iconIndex = ModLoader.addOverride("/gui/items.png", "/Tools/Obsidianpick.png");
ObsidianSword.iconIndex = ModLoader.addOverride("/gui/items.png", "/Tools/Obsidiansword.png");
ObsidianAxe.iconIndex = ModLoader.addOverride("/gui/items.png", "/Tools/Obsidianaxe.png");
ObsidianShovel.iconIndex = ModLoader.addOverride("/gui/items.png", "/Tools/Obsidianspade.png");
ObsidianHoe.iconIndex = ModLoader.addOverride("/gui/items.png", "/Tools/Obsidianhoe.png");
//NAMES
ModLoader.addName(ObsidianPickaxe, "Obsidian Pickaxe");
ModLoader.addName(ObsidianSword, "Obsidian Sword");
ModLoader.addName(ObsidianAxe, "Obsidian Axe");
ModLoader.addName(ObsidianShovel, "Obsidian Shovel");
ModLoader.addName(ObsidianHoe, "Obsidian Hoe");
//RECIPES
ModLoader.addRecipe(new ItemStack(ObsidianPickaxe, 1), new Object [] {"###", " X ", " X ", Character.valueOf('#'), Block.obsidian, Character.valueOf('X'), Item.redstone});
ModLoader.addRecipe(new ItemStack(ObsidianSword, 1), new Object [] {"#", "#", "X", Character.valueOf('#'), Block.obsidian, Character.valueOf('X'), Item.redstone});
ModLoader.addRecipe(new ItemStack(ObsidianAxe, 1), new Object [] {"## ", "#X ", " X ", Character.valueOf('#'), Block.obsidian, Character.valueOf('X'), Item.redstone});
ModLoader.addRecipe(new ItemStack(ObsidianShovel, 1), new Object [] {"#", "X", "X", Character.valueOf('#'), Block.obsidian, Character.valueOf('X'), Item.redstone});
ModLoader.addRecipe(new ItemStack(ObsidianHoe, 1), new Object [] {"##", " X", " X", Character.valueOf('#'), Block.obsidian, Character.valueOf('X'), Item.redstone});
}
public String getVersion()
{
return "1.0.0";
}
}
You also need this
EnumToolMaterial
public enum EnumToolMaterial
{
WOOD(0, 59, 2.0F, 0, 15),
STONE(1, 131, 4.0F, 1, 5),
IRON(2, 250, 6.0F, 2, 14),
DIAMOND(3, 1561, 8.0F, 3, 10),
GOLD(0, 32, 12.0F, 0, 22),
OBSIDIAN(3, 1561, 8.0F, 3, 10);
/**
* The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = IRON/GOLD)
*/
private final int harvestLevel;
/**
* The number of uses this material allows. (wood = 59, stone = 131, iron = 250, diamond = 1561, gold = 32)
*/
private final int maxUses;
/**
* The strength of this tool material against blocks which it is effective against.
*/
private final float efficiencyOnProperMaterial;
/** Damage versus entities. */
private final int damageVsEntity;
/** Defines the natural enchantability factor of the material. */
private final int enchantability;
private EnumToolMaterial(int par3, int par4, float par5, int par6, int par7)
{
this.harvestLevel = par3;
this.maxUses = par4;
this.efficiencyOnProperMaterial = par5;
this.damageVsEntity = par6;
this.enchantability = par7;
}
/**
* The number of uses this material allows. (wood = 59, stone = 131, iron = 250, diamond = 1561, gold = 32)
*/
public int getMaxUses()
{
return this.maxUses;
}
/**
* The strength of this tool material against blocks which it is effective against.
*/
public float getEfficiencyOnProperMaterial()
{
return this.efficiencyOnProperMaterial;
}
/**
* Damage versus entities.
*/
public int getDamageVsEntity()
{
return this.damageVsEntity;
}
/**
* The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = IRON/GOLD)
*/
public int getHarvestLevel()
{
return this.harvestLevel;
}
/**
* Return the natural enchantability factor of the material.
*/
public int getEnchantability()
{
return this.enchantability;
}
/**
* Return the crafting material for this tool material, used to determine the item that can be used to repair a tool
* with an anvil
*/
public int getToolCraftingMaterial()
{
return this == WOOD ? Block.planks.blockID : (this == STONE ? Block.cobblestone.blockID : (this == GOLD ? Item.ingotGold.itemID : (this == IRON ? Item.ingotIron.itemID : (this == EMERALD ? Item.emerald.itemID : 0))));
}
}
0
mod_myfirstmod
import java.util.*;
public class mod_myfirstmod extends BaseMod
public static final Block redstone = new BlockRedstoneBlock(230, 0).setStepSound(Block.soundStoneFootstep).setBlockName("redblock").setHardness(5F).setResistance(5F).setLightValue(0F);
public void load()
{
//TEXTURE
redstoneblock.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/redstoneblock.png");
//BLOCK REGISTRATION
ModLoader.registerBlock(redstoneblock);
//NAME
ModLoader.addName(redstoneblock, "Block of Redstone");
//RECIPE
ModLoader.addRecipe(new ItemStack(redstoneblock, 1), new Object [] {"###", "###", "###", Character.valueOf('#'), Item.redstone});
}
public String getVersion()
{
return "3.14";
}
}
BlockRedstoneBlock
import java.util.Random;
public class BlockRedstoneBlock extends Block
{
public BlockRedstoneBlock(int par1, int par2)
{
super(par1, par2, Material.rock);
this.setCreativeTab(CreativeTabs.tabBlock);
}
public int quantityDropped(int par1)
{
return (1);
}
public int idDropped(int par1, Random par2Random, int par3)
{
return mod_myfirstmod.redstone.blockID;
}
}
You also didn't put the picture in the right place (the minecraft.jar inside the MCP/Bin/ folder)
0
I think he means he wants it to count as a use when he throws the knife (like how if you use a sword on a mob, the sword will be 'damaged') so when he picks the knife back up, its not considered as a new knife.
I don't know if its just me, but it sounds like as if hes just dropping it on the ground.
0
It was a joke about his grammar but whatever.
0
import net.minecraft.ProperGrammar
0
To make something smelt/cook faster..I partially have an idea how but I'm not sure if you're using ModLoader, Forge, etc
Blaueseichoern's GUI Tutorial
He has a good tutorial including burning times (modloader/forge)