Jump to content

1.7.10 Crafting bug! Fixed but still review because I don't know why this fixed


PixelPacker

Recommended Posts

So I make a durable hammer, and I made the code for the crafting of the lorium plate. But the crafting table now just makes the lorium plate without anything in it??!?!?

 

UPDATE: Fixed it but I have to have at least 1 item in each row for it to work as needed

 

 

 

Main Class

-------------------

package com.northcraft.mod;

 

import net.minecraft.block.Block;

import net.minecraft.block.material.Material;

import net.minecraft.creativetab.CreativeTabs;

import net.minecraft.init.Items;

import net.minecraft.item.Item;

import net.minecraft.item.ItemStack;

import net.minecraftforge.oredict.OreDictionary;

 

import com.northcraft.mod.blocks.MetalBlock;

import com.northcraft.mod.blocks.OreBlock;

import com.northcraft.mod.handler.CraftingHandler;

import com.northcraft.mod.handler.FuelHandler;

import com.northcraft.mod.items.Hammer;

import com.northcraft.mod.items.NCItems;

import com.northcraft.mod.worldgen.NorthcraftWorldGen;

 

import cpw.mods.fml.common.FMLCommonHandler;

import cpw.mods.fml.common.Mod;

import cpw.mods.fml.common.Mod.EventHandler;

import cpw.mods.fml.common.event.FMLInitializationEvent;

import cpw.mods.fml.common.event.FMLPostInitializationEvent;

import cpw.mods.fml.common.event.FMLPreInitializationEvent;

import cpw.mods.fml.common.registry.GameRegistry;

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

 

 

@Mod(modid = Northcraft.modid, version = Northcraft.version)

public class Northcraft {

 

    public static final String modid = "Northcraft";

    public static final String version = "Alpha V0.1";

 

    //Ore Gen

   

    NorthcraftWorldGen eventWorldGen = new NorthcraftWorldGen();

   

   

   

    //Creative Tabs

   

    //Northcraft Materials

    public static CreativeTabs northcraftmaterialsTab;

   

   

    //items

    public static Item itemLoriumIngot;

    public static Item itemLoriumNugget;

    public static Item itemNorthernFuel;

    public static Item itemHammer;

    public static Item itemLoriumPlate;

   

    //blocks

    public static Block oreLoriumOre;

    public static Block blockLoriumBlock;

    public static Block oreNorthernFuelOre;

   

   

    @EventHandler

    public void PreInit(FMLPreInitializationEvent preEvent){

   

    //Creative Tabs

   

    //Northcraft materials

    northcraftmaterialsTab = new CreativeTabs("northcraftmaterials") {

        @SideOnly(Side.CLIENT)

        public Item getTabIconItem() {

        return Item.getItemFromBlock(oreLoriumOre);

     

        }

       

    };

   

   

   

    //Items

   

    //Lorium Ingot

    itemLoriumIngot = new NCItems().setUnlocalizedName("LoriumIngot");

    GameRegistry.registerItem(itemLoriumIngot, "LoriumIngot");

   

    //Lorium Nugget

    itemLoriumNugget = new NCItems().setUnlocalizedName("LoriumNugget");

    GameRegistry.registerItem(itemLoriumNugget, "LoriumNugget");

   

    //Northern Fuel

    itemNorthernFuel = new NCItems().setUnlocalizedName("NorthernFuel");

    GameRegistry.registerItem(itemNorthernFuel, "NorthernFuel");

   

    //Hammer

    itemHammer = new Hammer().setUnlocalizedName("Hammer");

    GameRegistry.registerItem(itemHammer, "Hammer");

   

    //Lorium Plate

    itemLoriumPlate = new NCItems().setUnlocalizedName("LoriumPlate");

    GameRegistry.registerItem(itemLoriumPlate, "LoriumPlate");

   

    //Blocks

   

    //Lorium Block

    blockLoriumBlock = new MetalBlock(Material.iron).setBlockName("LoriumBlock");

    GameRegistry.registerBlock(blockLoriumBlock, "LoriumBlock");

   

        //Lorium Ore

    oreLoriumOre = new OreBlock(Material.rock).setBlockName("LoriumOre");

        GameRegistry.registerBlock(oreLoriumOre, "LoriumOre");

       

        //Northern Fuel Ore

        oreNorthernFuelOre = new OreBlock(Material.rock).setBlockName("NorthernFuelOre");

        GameRegistry.registerBlock(oreNorthernFuelOre, "NorthernFuelOre");

       

       

        //Spawn

        GameRegistry.registerWorldGenerator(eventWorldGen, 0);

       

   

   

    }

 

    @EventHandler

    public void Init(FMLInitializationEvent event){

 

        FMLCommonHandler.instance().bus().register(new CraftingHandler());

   

   

   

   

    // Fuel Handler

    GameRegistry.registerFuelHandler(new FuelHandler());

       

    //Smelting

     

    //Lorium Ingot Smelting

    GameRegistry.addSmelting(oreLoriumOre, new ItemStack(itemLoriumIngot), 10);

   

    //Northern Fuel Smelting

    GameRegistry.addSmelting(oreNorthernFuelOre, new ItemStack(itemNorthernFuel), 10);

   

    //Crafting Recipes

   

    //Lorium Block Crafting

    GameRegistry.addRecipe(new ItemStack(blockLoriumBlock), new Object[]{"LLL","LLL","LLL", 'L', itemLoriumIngot});

   

      //Lorium Ingot Crafting

      GameRegistry.addRecipe(new ItemStack(itemLoriumIngot), new Object[]{"NNN","NNN","NNN", 'N', itemLoriumNugget});

   

      //Hammer

      GameRegistry.addRecipe(new ItemStack(itemHammer), new Object[]{"LLL"," S "," S ", 'L', itemLoriumIngot, 'S', Items.stick});

     

   

      //Lorium Plate

      GameRegistry.addRecipe(new ItemStack(itemLoriumPlate), new Object[]{"LH","","", 'L', itemLoriumIngot, 'H', new ItemStack(itemHammer, 1, OreDictionary.WILDCARD_VALUE)});

     

     

      //Shapless Crafting

   

    //Lorium Nugget

    GameRegistry.addShapelessRecipe(new ItemStack(itemLoriumNugget, 9), new Object[]{itemLoriumIngot});

     

       

    }

 

    @EventHandler

    public void PostInit(FMLPostInitializationEvent postEvent){

 

    }

 

}

 

Hammer Class

-----------------------

package com.northcraft.mod.items;

 

import net.minecraft.client.renderer.texture.IIconRegister;

import net.minecraft.item.Item;

 

import com.northcraft.mod.Northcraft;

 

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

 

public class Hammer extends Item{

 

    public Hammer() {

    super();

    this.maxStackSize = 1;

    this.setMaxDamage(128);

    this.setNoRepair();

    this.setCreativeTab(Northcraft.northcraftmaterialsTab);

    }

 

    @SideOnly(Side.CLIENT)

    public void registerIcons(IIconRegister iconRegister) {

    this.itemIcon = iconRegister.registerIcon(Northcraft.modid + ":" + this.getUnlocalizedName().substring(5));

    }

 

 

}

 

 

Crafting Handler

-------------------------

package com.northcraft.mod.handler;

 

import com.northcraft.mod.Northcraft;

 

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; i < event.craftMatrix.getSizeInventory(); i++) {

if (event.craftMatrix.getStackInSlot(i) != null) {

 

ItemStack item0 = event.craftMatrix.getStackInSlot(i);

    if(item0 != null && item0.getItem() == Northcraft.itemHammer) {

    ItemStack k = new ItemStack(Northcraft.itemHammer, 2, (item0.getItemDamage() + 1 ));

   

    if (k.getItemDamage() >= k.getMaxDamage()) {

    k.stackSize--;

    }

    event.craftMatrix.setInventorySlotContents(i, k);

  }

}

}

  }

}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.