diff --git a/1.11/To-Dos b/1.11/To-Dos index 728b6115..5dcb7b3e 100644 --- a/1.11/To-Dos +++ b/1.11/To-Dos @@ -13,7 +13,7 @@ To-Dos - [ ] Gold Smelting - [ ] Custom Tool Material - [ ] Add Iron to to Empty Crucible via right click - +- [ ] Coal is not being removed from the forge or firebox *** Backlog *** - [ ] Create a method which adds the types of NBT upgrades and creates a unique float instead of using magic numbers diff --git a/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java b/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java index 63fc63b0..e15aaf24 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java @@ -7,6 +7,10 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent; import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.items.parts.ToolPart; +import nmd.primal.forgecraft.items.tools.CustomAxe; +import nmd.primal.forgecraft.items.tools.CustomHoe; +import nmd.primal.forgecraft.items.tools.CustomPickaxe; +import nmd.primal.forgecraft.items.tools.CustomShovel; /** * Created by mminaie on 3/15/17. @@ -29,6 +33,7 @@ public class CommonEvents implements ToolNBT{ tempTag = a.getSubCompound("tags").copy(); event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); + event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage()); //if( getDiamondLevel(event.crafting) > 0 ){ // event.crafting.getItem().setHarvestLevel("pickaxe", 3); //} @@ -46,9 +51,7 @@ public class CommonEvents implements ToolNBT{ tempTag = a.getSubCompound("tags").copy(); event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); - //if( getDiamondLevel(event.crafting) > 0 ){ - // event.crafting.getItem().setHarvestLevel("pickaxe", 3); - //} + event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage()); } } } @@ -63,6 +66,7 @@ public class CommonEvents implements ToolNBT{ tempTag = a.getSubCompound("tags").copy(); event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); + event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage()); //if( getDiamondLevel(event.crafting) > 0 ){ // event.crafting.getItem().setHarvestLevel("pickaxe", 3); //} @@ -80,6 +84,7 @@ public class CommonEvents implements ToolNBT{ tempTag = a.getSubCompound("tags").copy(); event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); + event.crafting.setItemDamage(event.craftMatrix.getStackInSlot(i).getItemDamage()); //if( getDiamondLevel(event.crafting) > 0 ){ // event.crafting.getItem().setHarvestLevel("pickaxe", 3); //} @@ -87,6 +92,70 @@ public class CommonEvents implements ToolNBT{ } } } + if (event.crafting.getItem() == ModItems.ironaxehead) { + NBTTagCompound tempTag = new NBTTagCompound(); + for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots + + if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item + ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item + if (a.getItem() instanceof CustomAxe) { + tempTag = a.getSubCompound("tags").copy(); + event.crafting.getTagCompound().setTag("tags", tempTag); + event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); + Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage(); + event.crafting.setItemDamage(tempDamage); + } + } + } + } + if (event.crafting.getItem() == ModItems.pickaxehead) { + NBTTagCompound tempTag = new NBTTagCompound(); + for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots + + if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item + ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item + if (a.getItem() instanceof CustomPickaxe) { + tempTag = a.getSubCompound("tags").copy(); + event.crafting.getTagCompound().setTag("tags", tempTag); + event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); + Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage(); + event.crafting.setItemDamage(tempDamage); + } + } + } + } + if (event.crafting.getItem() == ModItems.ironshovelhead) { + NBTTagCompound tempTag = new NBTTagCompound(); + for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots + + if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item + ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item + if (a.getItem() instanceof CustomShovel) { + tempTag = a.getSubCompound("tags").copy(); + event.crafting.getTagCompound().setTag("tags", tempTag); + event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); + Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage(); + event.crafting.setItemDamage(tempDamage); + } + } + } + } + if (event.crafting.getItem() == ModItems.ironhoehead) { + NBTTagCompound tempTag = new NBTTagCompound(); + for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots + + if (event.craftMatrix.getStackInSlot(i) != null) { // If there is an item + ItemStack a = event.craftMatrix.getStackInSlot(i); // Gets the item + if (a.getItem() instanceof CustomHoe) { + tempTag = a.getSubCompound("tags").copy(); + event.crafting.getTagCompound().setTag("tags", tempTag); + event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); + Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage(); + event.crafting.setItemDamage(tempDamage); + } + } + } + } } } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Anvil.java b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Anvil.java index 4733150d..bfd40a90 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/blocks/Anvil.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/blocks/Anvil.java @@ -131,19 +131,23 @@ public class Anvil extends CustomContainerFacing { if (tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) { - NBTTagCompound tempNBT = tile.getSlotStack(12).getSubCompound("tags"); ItemStack outputStack = recipe.getOutput(); outputStack.setTagCompound(new NBTTagCompound()); outputStack.getTagCompound().setTag("tags", tempNBT); outputStack.getSubCompound("tags").setBoolean("hot", false); + if (recipe.getUpgrade() == "repair") { + CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack); + } + if (outputStack.getSubCompound("tags").getInteger("modifiers") < 3) { //Upgrade emerald if (recipe.getUpgrade() == "emerald") { if (outputStack.getSubCompound("tags").getInteger("lapis") == 0) { if (outputStack.getSubCompound("tags").getBoolean("emerald") == false) { + outputStack.setItemDamage(tile.getSlotStack(12).getItemDamage()); outputStack.getSubCompound("tags").setInteger("emerald", (outputStack.getSubCompound("tags").getInteger("emerald") + 1)); outputStack.getSubCompound("tags").setInteger("modifiers", @@ -154,6 +158,7 @@ public class Anvil extends CustomContainerFacing { //Upgrade diamond if (recipe.getUpgrade() == "diamond") { + outputStack.setItemDamage(tile.getSlotStack(12).getItemDamage()); outputStack.getSubCompound("tags").setInteger("diamond", (outputStack.getSubCompound("tags").getInteger("diamond") + 1)); outputStack.getSubCompound("tags").setInteger("modifiers", @@ -162,6 +167,7 @@ public class Anvil extends CustomContainerFacing { //Upgrade redstone if (recipe.getUpgrade() == "redstone") { + outputStack.setItemDamage(tile.getSlotStack(12).getItemDamage()); outputStack.getSubCompound("tags").setInteger("redstone", (outputStack.getSubCompound("tags").getInteger("redstone") + 1)); outputStack.getSubCompound("tags").setInteger("modifiers", @@ -170,6 +176,7 @@ public class Anvil extends CustomContainerFacing { //Upgrade lapis if (recipe.getUpgrade() == "lapis") { + outputStack.setItemDamage(tile.getSlotStack(12).getItemDamage()); if (outputStack.getSubCompound("tags").getBoolean("emerald") == false) { outputStack.getSubCompound("tags").setInteger("lapis", (outputStack.getSubCompound("tags").getInteger("lapis") + 1)); @@ -321,6 +328,7 @@ public class Anvil extends CustomContainerFacing { tempStack.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = pItem.getSubCompound("tags").copy(); tempStack.getTagCompound().setTag("tags", tags); + tempStack.setItemDamage(pItem.getTagCompound().getInteger("tempDamage")); tile.setSlotStack((counter), tempStack); pItem.getTagCompound().setInteger("type", 0); @@ -330,6 +338,7 @@ public class Anvil extends CustomContainerFacing { pItem.getSubCompound("tags").setInteger("redstone", 0); pItem.getSubCompound("tags").setInteger("lapis", 0); pItem.getSubCompound("tags").setInteger("modifiers", 0); + pItem.getTagCompound().setInteger("tempDamage", 0); return true; } if (pItem.getTagCompound().getInteger("type") == 9) { @@ -337,6 +346,7 @@ public class Anvil extends CustomContainerFacing { tempStack.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = pItem.getSubCompound("tags").copy(); tempStack.getTagCompound().setTag("tags", tags); + tempStack.setItemDamage(pItem.getTagCompound().getInteger("tempDamage")); tile.setSlotStack((counter), tempStack); pItem.getTagCompound().setInteger("type", 0); @@ -346,6 +356,7 @@ public class Anvil extends CustomContainerFacing { pItem.getSubCompound("tags").setInteger("redstone", 0); pItem.getSubCompound("tags").setInteger("lapis", 0); pItem.getSubCompound("tags").setInteger("modifiers", 0); + pItem.getTagCompound().setInteger("tempDamage", 0); return true; } if (pItem.getTagCompound().getInteger("type") == 10) { @@ -353,6 +364,7 @@ public class Anvil extends CustomContainerFacing { tempStack.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = pItem.getSubCompound("tags").copy(); tempStack.getTagCompound().setTag("tags", tags); + tempStack.setItemDamage(pItem.getTagCompound().getInteger("tempDamage")); tile.setSlotStack((counter), tempStack); pItem.getTagCompound().setInteger("type", 0); @@ -362,6 +374,7 @@ public class Anvil extends CustomContainerFacing { pItem.getSubCompound("tags").setInteger("redstone", 0); pItem.getSubCompound("tags").setInteger("lapis", 0); pItem.getSubCompound("tags").setInteger("modifiers", 0); + pItem.getTagCompound().setInteger("tempDamage", 0); return true; } if (pItem.getTagCompound().getInteger("type") == 11) { @@ -369,6 +382,7 @@ public class Anvil extends CustomContainerFacing { tempStack.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = pItem.getSubCompound("tags").copy(); tempStack.getTagCompound().setTag("tags", tags); + tempStack.setItemDamage(pItem.getTagCompound().getInteger("tempDamage")); tile.setSlotStack((counter), tempStack); pItem.getTagCompound().setInteger("type", 0); @@ -378,6 +392,7 @@ public class Anvil extends CustomContainerFacing { pItem.getSubCompound("tags").setInteger("redstone", 0); pItem.getSubCompound("tags").setInteger("lapis", 0); pItem.getSubCompound("tags").setInteger("modifiers", 0); + pItem.getTagCompound().setInteger("tempDamage", 0); return true; } } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java b/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java index 9f0e2271..9f5bbbe3 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -7,8 +7,13 @@ import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.SoundEvent; import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraftforge.oredict.OreDictionary; +import net.minecraftforge.oredict.ShapedOreRecipe; +import nmd.primal.core.api.PrimalBlocks; import nmd.primal.core.api.PrimalItems; +import nmd.primal.core.api.PrimalSounds; import nmd.primal.core.common.crafting.ToolRecipe; import nmd.primal.core.common.items.tools.PrimalTool; import nmd.primal.forgecraft.blocks.Bloomery; @@ -45,17 +50,17 @@ public class ModCrafting { "X X", "X X", "XXX", 'X', PrimalItems.MUD_CLUMP); /***Wooden PistonBellows***/ - GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsoak), "XXX", "X Y", "XXX", + GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsoak), "XXX", "X Y", "XXX", 'X', new ItemStack(Blocks.PLANKS, 1, 0), 'Y', ModItems.pistonbellows); - GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsspruce), "XXX", "X Y", "XXX", + GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsspruce), "XXX", "X Y", "XXX", 'X', new ItemStack(Blocks.PLANKS, 1, 1), 'Y', ModItems.pistonbellows); - GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsbirch), "XXX", "X Y", "XXX", + GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsbirch), "XXX", "X Y", "XXX", 'X', new ItemStack(Blocks.PLANKS, 1, 2), 'Y', ModItems.pistonbellows); - GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsjungle), "XXX", "X Y", "XXX", + GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsjungle), "XXX", "X Y", "XXX", 'X', new ItemStack(Blocks.PLANKS, 1, 3), 'Y', ModItems.pistonbellows); - GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsacacia), "XXX", "X Y", "XXX", + GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsacacia), "XXX", "X Y", "XXX", 'X', new ItemStack(Blocks.PLANKS, 1, 4), 'Y', ModItems.pistonbellows); - GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsdarkoak), "XXX", "X Y", "XXX", + GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.pistonbellowsdarkoak), "XXX", "X Y", "XXX", 'X', new ItemStack(Blocks.PLANKS, 1, 5), 'Y', ModItems.pistonbellows); /***Bellows Handle***/ @@ -84,8 +89,10 @@ public class ModCrafting { " X ", " Y ", 'X', ModItems.pickaxehead, 'Y', Items.STICK); /***Axe Crafting***/ - GameRegistry.addShapedRecipe(new ItemStack(ModItems.ironaxe, 1), - " X ", " Y ", 'X', ModItems.ironaxehead, 'Y', Items.STICK); + //GameRegistry.addShapedRecipe(new ItemStack(ModItems.ironaxe, 1), + //" X ", " Y ", 'X', ModItems.ironaxehead, 'Y', Items.STICK); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironaxe, 1, OreDictionary.WILDCARD_VALUE), + true, "X", "Y", ('X'), new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), ('Y'), Items.STICK)); /***Shovel Crafting***/ GameRegistry.addShapedRecipe(new ItemStack(ModItems.ironshovel, 1), @@ -95,6 +102,31 @@ public class ModCrafting { GameRegistry.addShapedRecipe(new ItemStack(ModItems.ironhoe, 1), " X ", " Y ", 'X', ModItems.ironhoehead, 'Y', Items.STICK); + + /*************************************************************** + * TEMPORARY RECIPES + ***************************************************************/ + //GameRegistry.addShapedRecipe(new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), + // " ", " X ", " ", 'X', ModItems.ironaxe); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), + true, "X", ('X'), new ItemStack(ModItems.ironaxe, 1, OreDictionary.WILDCARD_VALUE))); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.pickaxehead, 1, OreDictionary.WILDCARD_VALUE), + true, "X", ('X'), new ItemStack(ModItems.ironpickaxe, 1, OreDictionary.WILDCARD_VALUE))); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironshovelhead, 1, OreDictionary.WILDCARD_VALUE), + true, "X", ('X'), new ItemStack(ModItems.ironshovel, 1, OreDictionary.WILDCARD_VALUE))); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironhoehead, 1, OreDictionary.WILDCARD_VALUE), + true, "X", ('X'), new ItemStack(ModItems.ironhoe, 1, OreDictionary.WILDCARD_VALUE))); + + /*GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(PrimalBlocks.SOULSTONE_CHISELED, 1), true, new Object[]{"S", "S", + ('S'), PrimalBlocks.SLAB_SOULSTONE + }));*/ + + /***************************************************************/ + /***Bloomery Crafting***/ //Makes the Empty Crucible @@ -349,6 +381,18 @@ public class ModCrafting { "null" ); + /*** REPAIR Pickaxe Head***/ + AnvilCrafting.addRecipe( + new String[] { + empty,empty,empty,empty,empty, + empty,empty,hotChunk,empty,empty, + empty,empty,pickaxehead,empty,empty, + empty,empty,empty,empty,empty, + empty,empty,empty,empty,empty }, + new ItemStack(ModItems.pickaxehead, 1), + "repair" + ); + /*** Emerald Upgrade to Pickaxe Head ***/ AnvilCrafting.addRecipe( new String[] { @@ -409,6 +453,18 @@ public class ModCrafting { "null" ); + /*** REPAIR AXE Head***/ + AnvilCrafting.addRecipe( + new String[] { + empty,empty,empty,empty,empty, + empty,empty,hotChunk,empty,empty, + empty,empty,ironaxehead,empty,empty, + empty,empty,empty,empty,empty, + empty,empty,empty,empty,empty }, + new ItemStack(ModItems.ironaxehead, 1), + "repair" + ); + /*** Emerald Upgrade to Axe Head ***/ AnvilCrafting.addRecipe( new String[] { @@ -469,6 +525,18 @@ public class ModCrafting { "null" ); + /*** REPAIR SHOVEL Head***/ + AnvilCrafting.addRecipe( + new String[] { + empty,empty,empty,empty,empty, + empty,empty,hotChunk,empty,empty, + empty,empty,ironshovelhead,empty,empty, + empty,empty,empty,empty,empty, + empty,empty,empty,empty,empty }, + new ItemStack(ModItems.ironshovelhead, 1), + "repair" + ); + /*** Emerald Upgrade to Shovel Head ***/ AnvilCrafting.addRecipe( new String[] { @@ -529,6 +597,18 @@ public class ModCrafting { "null" ); + /*** REPAIR HOE Head***/ + AnvilCrafting.addRecipe( + new String[] { + empty,empty,empty,empty,empty, + empty,empty,hotChunk,empty,empty, + empty,empty,ironhoehead,empty,empty, + empty,empty,empty,empty,empty, + empty,empty,empty,empty,empty }, + new ItemStack(ModItems.ironhoehead, 1), + "repair" + ); + /*** Emerald Upgrade to Hoe Head ***/ AnvilCrafting.addRecipe( new String[] { diff --git a/1.11/src/main/java/nmd/primal/forgecraft/init/ModItems.java b/1.11/src/main/java/nmd/primal/forgecraft/init/ModItems.java index edbb227d..935b4665 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/init/ModItems.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/init/ModItems.java @@ -62,10 +62,10 @@ public class ModItems { softcrucible = new ItemSoftCrucible(); stonetongs = new ItemStoneTongs("stonetongs"); - pickaxehead = new ToolPart("ironpickaxehead"); - ironaxehead = new ToolPart("ironaxehead"); - ironshovelhead = new ToolPart("ironshovelhead"); - ironhoehead = new ToolPart("ironhoehead"); + pickaxehead = new ToolPart("ironpickaxehead", Item.ToolMaterial.IRON); + ironaxehead = new ToolPart("ironaxehead", Item.ToolMaterial.IRON); + ironshovelhead = new ToolPart("ironshovelhead", Item.ToolMaterial.IRON); + ironhoehead = new ToolPart("ironhoehead", Item.ToolMaterial.IRON); ironpickaxe = new CustomPickaxe("ironpickaxe", Item.ToolMaterial.IRON); ironaxe = new CustomAxe("ironaxe", Item.ToolMaterial.IRON); diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/ItemStoneTongs.java b/1.11/src/main/java/nmd/primal/forgecraft/items/ItemStoneTongs.java index 02a05ed4..6d55a94a 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/items/ItemStoneTongs.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/ItemStoneTongs.java @@ -267,6 +267,7 @@ public class ItemStoneTongs extends Item { itemstack.getTagCompound().setInteger("type", 8); NBTTagCompound tags = tile.getSlotStack(i).getSubCompound("tags").copy(); itemstack.getTagCompound().setTag("tags", tags); + itemstack.getTagCompound().setInteger("tempDamage", tile.getSlotStack(i).getItemDamage()); //itemstack.getSubCompound("tags").setBoolean("hot", true); tile.setSlotStack(i, ItemStack.EMPTY); return EnumActionResult.SUCCESS; @@ -277,6 +278,7 @@ public class ItemStoneTongs extends Item { itemstack.getTagCompound().setInteger("type", 9); NBTTagCompound tags = tile.getSlotStack(i).getSubCompound("tags").copy(); itemstack.getTagCompound().setTag("tags", tags); + itemstack.getTagCompound().setInteger("tempDamage", tile.getSlotStack(i).getItemDamage()); //itemstack.getSubCompound("tags").setBoolean("hot", true); tile.setSlotStack(i, ItemStack.EMPTY); return EnumActionResult.SUCCESS; @@ -287,6 +289,7 @@ public class ItemStoneTongs extends Item { itemstack.getTagCompound().setInteger("type", 10); NBTTagCompound tags = tile.getSlotStack(i).getSubCompound("tags").copy(); itemstack.getTagCompound().setTag("tags", tags); + itemstack.getTagCompound().setInteger("tempDamage", tile.getSlotStack(i).getItemDamage()); //itemstack.getSubCompound("tags").setBoolean("hot", true); tile.setSlotStack(i, ItemStack.EMPTY); return EnumActionResult.SUCCESS; @@ -297,6 +300,7 @@ public class ItemStoneTongs extends Item { itemstack.getTagCompound().setInteger("type", 11); NBTTagCompound tags = tile.getSlotStack(i).getSubCompound("tags").copy(); itemstack.getTagCompound().setTag("tags", tags); + itemstack.getTagCompound().setInteger("tempDamage", tile.getSlotStack(i).getItemDamage()); //itemstack.getSubCompound("tags").setBoolean("hot", true); tile.setSlotStack(i, ItemStack.EMPTY); return EnumActionResult.SUCCESS; diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java b/1.11/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java index 3701b08e..28ae3bc0 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java @@ -23,11 +23,13 @@ import java.util.List; */ public class ToolPart extends Item implements ToolNBT{ - public ToolPart(String name) { + public ToolPart(String name, Item.ToolMaterial material) { + this.setMaxDamage(material.getMaxUses()); this.setUnlocalizedName(name); this.setRegistryName(name); this.setCreativeTab(ModInfo.TAB_FORGECRAFT); this.setMaxStackSize(1); + this.setNoRepair(); this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java index e71ab1c5..640d80c8 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java @@ -303,7 +303,7 @@ public class CustomPickaxe extends ItemPickaxe implements ToolNBT{ { if(!player.world.isRemote){ World world = player.getEntityWorld(); - System.out.println(world.getBlockState(pos).getBlock()); + //System.out.println(world.getBlockState(pos).getBlock()); if(itemstack.getItem() instanceof CustomPickaxe){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); @@ -314,6 +314,7 @@ public class CustomPickaxe extends ItemPickaxe implements ToolNBT{ } if( getRedstoneLevel(itemstack) > 0 ){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); + System.out.println(itemstack.getEnchantmentTagList()); } if ( getLapisLevel(itemstack) > 0) { itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), getLapisLevel(itemstack)); diff --git a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java index 7a2ce8eb..cf938c7e 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java @@ -143,8 +143,8 @@ public class TileForge extends TileBaseSlot implements ITickable { if(this.getSlotStack(i).hasTagCompound()){ if( this.getSlotStack(i).getSubCompound("tags").getBoolean("hot") == false) { this.getSlotStack(i).getSubCompound("tags").setBoolean("hot", true); - System.out.println(this.getSlotStack(i).getSubCompound("tags")); - System.out.println("its hot now"); + //System.out.println(this.getSlotStack(i).getSubCompound("tags")); + //System.out.println("its hot now"); cookCounter4 = 0; } } else this.setSlotStack(i, recipe.getOutput());