Made a crate crafting handler, should prevent item loss when upgrading crates

This commit is contained in:
Robert S 2014-05-18 07:53:39 -04:00
parent 7918802c66
commit 0a534f2eae
2 changed files with 42 additions and 0 deletions

View file

@ -13,6 +13,7 @@ import resonant.lib.prefab.item.ItemBlockMetadata;
import resonant.lib.recipe.UniversalRecipe;
import resonantinduction.archaic.blocks.TileTurntable;
import resonantinduction.archaic.crate.BlockCrate;
import resonantinduction.archaic.crate.CrateCraftingHandler;
import resonantinduction.archaic.crate.ItemBlockCrate;
import resonantinduction.archaic.crate.TileCrate;
import resonantinduction.archaic.engineering.ItemHammer;
@ -166,6 +167,8 @@ public class Archaic
GameRegistry.addRecipe(new ShapedOreRecipe(itemHandCrank, "S ", "SSS", " S", 'S', "stickWood"));
GameRegistry.addRecipe(new ShapedOreRecipe(itemImprint, "PPP", "PIP", "PPP", 'P', Item.paper, 'I', new ItemStack(Item.dyePowder, 0)));
GameRegistry.addRecipe(new ShapedOreRecipe(itemHammer, "CC ", "CS ", " S", 'C', "cobblestone", 'S', "stickWood"));
GameRegistry.registerCraftingHandler(new CrateCraftingHandler());
proxy.postInit();
modproxies.postInit();
}

View file

@ -0,0 +1,39 @@
package resonantinduction.archaic.crate;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import resonantinduction.archaic.Archaic;
import cpw.mods.fml.common.ICraftingHandler;
/** Crafting handler for crates
*
* @author Darkguardsman */
public class CrateCraftingHandler implements ICraftingHandler
{
@Override
public void onCrafting(EntityPlayer player, ItemStack item, IInventory craftMatrix)
{
if (item != null && item.itemID == Archaic.blockCrate.blockID)
{
ItemStack centerStack = craftMatrix.getStackInSlot(4);
if (centerStack != null && centerStack.itemID == Archaic.blockCrate.blockID)
{
ItemStack containedStack = ItemBlockCrate.getContainingItemStack(centerStack);
if (centerStack != null)
{
ItemBlockCrate.setContainingItemStack(item, containedStack);
}
}
}
}
@Override
public void onSmelting(EntityPlayer player, ItemStack item)
{
// TODO Auto-generated method stub
}
}