diff --git a/li/cil/oc/CraftingHandler.scala b/li/cil/oc/CraftingHandler.scala index bd93380e7..0cae3fa15 100644 --- a/li/cil/oc/CraftingHandler.scala +++ b/li/cil/oc/CraftingHandler.scala @@ -7,16 +7,6 @@ import net.minecraft.item.{Item, ItemStack} object CraftingHandler extends ICraftingHandler { override def onCrafting(player: EntityPlayer, craftedStack: ItemStack, inventory: IInventory) = { - if (craftedStack.isItemEqual(Items.cuttingWire.createItemStack())) { - for (i <- 0 to inventory.getSizeInventory) { - val stack = inventory.getStackInSlot(i) - if (stack != null && stack.getItem == Item.shears) { - stack.damageItem(10, player) - stack.stackSize = stack.stackSize + 1 - } - } - } - if (craftedStack.isItemEqual(Items.acid.createItemStack())) { for (i <- 0 to inventory.getSizeInventory) { val stack = inventory.getStackInSlot(i) diff --git a/li/cil/oc/Recipes.scala b/li/cil/oc/Recipes.scala index c934bd696..773c96078 100644 --- a/li/cil/oc/Recipes.scala +++ b/li/cil/oc/Recipes.scala @@ -1,10 +1,11 @@ package li.cil.oc +import cpw.mods.fml.common.Loader import cpw.mods.fml.common.registry.GameRegistry import net.minecraft.block.Block import net.minecraft.item.crafting.FurnaceRecipes import net.minecraft.item.{Item, ItemStack} -import net.minecraftforge.oredict.{ShapelessOreRecipe, ShapedOreRecipe, OreDictionary} +import net.minecraftforge.oredict.{ShapelessOreRecipe, ShapedOreRecipe} object Recipes { def init() { @@ -70,10 +71,11 @@ object Recipes { // ----------------------------------------------------------------------- // - GameRegistry.addRecipe(new ShapelessOreRecipe(Items.ironNugget.createItemStack(9), ironIngot)) - GameRegistry.addShapelessRecipe(Items.cuttingWire.createItemStack(1), new ItemStack(Item.shears, 1, OreDictionary.WILDCARD_VALUE), Items.ironNugget.createItemStack(), stick) + if (!Loader.isModLoaded("gregtech_addon")) { + GameRegistry.addRecipe(new ShapelessOreRecipe(Items.ironNugget.createItemStack(9), ironIngot)) + } GameRegistry.addShapelessRecipe(rawBoard, Items.cuttingWire.createItemStack(), new ItemStack(Block.blockClay), cactusGreen) - FurnaceRecipes.smelting().addSmelting(rawBoard.itemID, rawBoard.getItemDamage, board, 1) + FurnaceRecipes.smelting().addSmelting(rawBoard.itemID, rawBoard.getItemDamage, board, 0) GameRegistry.addRecipe(new ShapelessOreRecipe(acid, Item.bucketWater, sugar, roseRed, slimeBall, spiderEye, boneMeal)) GameRegistry.addRecipe(new ShapelessOreRecipe(pcb, acid, Item.goldNugget, board)) @@ -338,6 +340,11 @@ object Recipes { // ----------------------------------------------------------------------- // + addRecipe(Items.cuttingWire.createItemStack(), + "sis", + 's', stick, + 'i', "nuggetIron") + addRecipe(Items.analyzer.createItemStack(), " r ", "tcg", diff --git a/li/cil/oc/common/item/Delegate.scala b/li/cil/oc/common/item/Delegate.scala index 982ee46e6..575120392 100644 --- a/li/cil/oc/common/item/Delegate.scala +++ b/li/cil/oc/common/item/Delegate.scala @@ -13,6 +13,8 @@ trait Delegate { val unlocalizedName: String + val showInItemList = true + val itemId = parent.add(this) private var _icon: Option[Icon] = None diff --git a/li/cil/oc/common/item/Delegator.scala b/li/cil/oc/common/item/Delegator.scala index 0e22f82f6..51df886ba 100644 --- a/li/cil/oc/common/item/Delegator.scala +++ b/li/cil/oc/common/item/Delegator.scala @@ -48,7 +48,7 @@ class Delegator(id: Int) extends Item(id) { override def getSubItems(itemId: Int, tab: CreativeTabs, list: util.List[_]) { // Workaround for MC's untyped lists... def add[T](list: util.List[T], value: Any) = list.add(value.asInstanceOf[T]) - (0 until subItems.length). + (0 until subItems.length).filter(id => subItems(id).showInItemList). foreach(id => add(list, new ItemStack(this, 1, id))) } diff --git a/li/cil/oc/common/item/IronNugget.scala b/li/cil/oc/common/item/IronNugget.scala index b24c07089..f6974fa62 100644 --- a/li/cil/oc/common/item/IronNugget.scala +++ b/li/cil/oc/common/item/IronNugget.scala @@ -1,11 +1,14 @@ package li.cil.oc.common.item +import cpw.mods.fml.common.Loader import li.cil.oc.Settings import net.minecraft.client.renderer.texture.IconRegister class IronNugget(val parent: Delegator) extends Delegate { val unlocalizedName = "IronNugget" + override val showInItemList = !Loader.isModLoaded("gregtech_addon") + override def registerIcons(iconRegister: IconRegister) = { super.registerIcons(iconRegister)