How would i go in doing that?
The item i want to lose durability:
package com.hardwareplus.items;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import com.hardwareplus.creativetabs.MCreativeTabs;
import com.hardwareplus.lib.RefStrings;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class IronFile{
public static void mainRegistry(){
initializeItem();
registerItem();
}
public static Item iFile;
public static void initializeItem(){
iFile = new Item().setUnlocalizedName("iFile").setMaxDamage(64).setMaxStackSize(1).setCreativeTab(MCreativeTabs.tabItems).setTextureName(RefStrings.MODID + ":IFile");
}
public static void registerItem(){
GameRegistry.registerItem(iFile, iFile.getUnlocalizedName());
}
}
My Crafting Handler:
package com.hardwareplus.Main;
import com.hardwareplus.items.IronFile;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent;
public class CraftingHandler {
@SubscribeEvent
public void onCrafting(ItemCraftedEvent event) {
final IInventory craftMatrix = null;
for(int i = 0; 1 < event.craftMatrix.getSizeInventory(); i++){
if (event.craftMatrix.getStackInSlot(i) != null){
ItemStack item0 = event.craftMatrix.getStackInSlot(i);
if (item0 != null && item0.getItem() == IronFile.iFile){
ItemStack k = new ItemStack(IronFile.iFile, 2, (item0.getItemDamage() + 1));
if (k.getItemDamage() >= k.getMaxDamage()){
k.stackSize--;
}
event.craftMatrix.setInventorySlotContents(i, k);
}
}
}
}
}
Where My recipes are:
package com.hardwareplus.Main;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import com.hardwareplus.items.IronFile;
import com.hardwareplus.items.IronPlate;
import com.hardwareplus.items.IronRod;
import com.hardwareplus.Main.CraftingHandler;
import cpw.mods.fml.common.registry.GameRegistry;
public class CraftingManager {
public static void mainRegistry(){
addCraftingRec();
addSmeltingRec();
}
public static void addCraftingRec(){
//Iron File
GameRegistry.addRecipe(new ItemStack(IronRod.iRod, 4), new Object[]{"FR", 'F', new ItemStack(IronFile.iFile, 1, OreDictionary.WILDCARD_VALUE), 'R', IronPlate.iPlate});
}
public static void addSmeltingRec(){
}
}
MainRegistry:
package com.hardwareplus.Main;
import com.hardwareplus.creativetabs.MCreativeTabs;
import com.hardwareplus.items.IronFile;
import com.hardwareplus.items.IronPlate;
import com.hardwareplus.items.IronRod;
import com.hardwareplus.items.TinPlate;
import com.hardwareplus.lib.RefStrings;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
@Mod(modid = RefStrings.MODID , name = RefStrings.NAME , version = RefStrings.VERSION)
public class MainRegistry {
@SidedProxy(clientSide = RefStrings.CLIENTSIDE , serverSide = RefStrings.SERVERSIDE)
public static ServerProxy proxy;
@EventHandler
public static void PreLoad(FMLPreInitializationEvent PreEvent){
proxy.registerRenderInfo();
MCreativeTabs.initializeTabs();
IronPlate.mainRegistry();
TinPlate.mainRegistry();
IronFile.mainRegistry();
IronRod.mainRegistry();
CraftingManager.mainRegistry();
}
@EventHandler
public static void load(FMLInitializationEvent event){
FMLCommonHandler.instance().bus().register(new CraftingHandler());
}
@EventHandler
public static void PostLoad(FMLPostInitializationEvent PostEvent){
}
}
My Strings:
package com.hardwareplus.lib;
public class RefStrings {
public static final String MODID = "hardwareplus";
public static final String NAME = "Hardware Plus";
public static final String VERSION = "0.1";
public static final String CLIENTSIDE = "com.hardwareplus.Main.ClientProxy";
public static final String SERVERSIDE = "com.hardwareplus.Main.ServerProxy";
}
All this and i can't figure it out...it just crashes when crafting the 4 iron rods....
Yes i am new at modding, i am using this mod for my modpack cause i can't find the right mod to use so i decided to make my own mod to fulfill my needs...