Made a crate crafting handler, should prevent item loss when upgrading crates
This commit is contained in:
parent
7918802c66
commit
0a534f2eae
2 changed files with 42 additions and 0 deletions
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue