From 69b25b37ff7c46a6014df9857758ada9a7f051d3 Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Sun, 25 Jun 2017 14:58:57 -0400 Subject: [PATCH] i think ready for update --- 1.11/To-Dos.md | 4 +- .../nmd/primal/forgecraft/CommonEvents.java | 38 +-- .../forgecraft/blocks/BloomeryBase.java | 17 +- .../primal/forgecraft/init/ModCrafting.java | 64 ++++- .../nmd/primal/forgecraft/init/ModEvents.java | 5 - .../nmd/primal/forgecraft/init/ModItems.java | 25 +- .../forgecraft/items/tools/BasePickaxe.java | 86 ------ .../forgecraft/items/tools/BaseTool.java | 262 ------------------ .../forgecraft/items/tools/BronzeAxe.java | 235 ++++++++++++++++ .../forgecraft/items/tools/BronzeHoe.java | 223 +++++++++++++++ .../forgecraft/items/tools/BronzePickaxe.java | 236 ++++++++++++++++ .../forgecraft/items/tools/BronzeShovel.java | 232 ++++++++++++++++ .../forgecraft/items/tools/CustomHoe.java | 2 +- .../forgecraft/items/tools/CustomShovel.java | 3 +- .../primal/forgecraft/tiles/TileBloomery.java | 27 +- .../primal/forgecraft/tiles/TileForge.java | 27 +- .../forgecraft/util/BreakerHandler.java | 95 ++++--- .../assets/forgecraft/lang/en_us.lang | 67 ++++- .../models/item/axe/bronze/bronzeaxe_0.json | 8 + .../models/item/axe/bronze/bronzeaxe_1.json | 8 + .../models/item/axe/bronze/bronzeaxe_2.json | 8 + .../models/item/axe/bronze/bronzeaxe_3.json | 8 + .../models/item/axe/bronze/bronzeaxe_4.json | 8 + .../forgecraft/models/item/bronzeaxe.json | 20 ++ .../forgecraft/models/item/bronzehoe.json | 20 ++ .../forgecraft/models/item/bronzepickaxe.json | 16 ++ .../forgecraft/models/item/bronzeshovel.json | 16 ++ .../models/item/hoe/bronze/bronzehoe_0.json | 8 + .../models/item/hoe/bronze/bronzehoe_1.json | 8 + .../models/item/hoe/bronze/bronzehoe_2.json | 8 + .../models/item/hoe/bronze/bronzehoe_3.json | 8 + .../models/item/hoe/bronze/bronzehoe_4.json | 8 + .../item/pickaxe/bronze/bronzepickaxe_0.json | 8 + .../item/pickaxe/bronze/bronzepickaxe_1.json | 8 + .../item/pickaxe/bronze/bronzepickaxe_2.json | 8 + .../item/pickaxe/bronze/bronzepickaxe_3.json | 8 + .../item/pickaxe/bronze/bronzepickaxe_4.json | 8 + .../item/shovel/bronze/bronzeshovel_0.json | 8 + .../item/shovel/bronze/bronzeshovel_1.json | 8 + .../item/shovel/bronze/bronzeshovel_2.json | 8 + .../item/shovel/bronze/bronzeshovel_3.json | 8 + .../item/shovel/bronze/bronzeshovel_4.json | 8 + 42 files changed, 1419 insertions(+), 461 deletions(-) delete mode 100644 1.11/src/main/java/nmd/primal/forgecraft/items/tools/BasePickaxe.java delete mode 100644 1.11/src/main/java/nmd/primal/forgecraft/items/tools/BaseTool.java create mode 100644 1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeAxe.java create mode 100644 1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeHoe.java create mode 100644 1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzePickaxe.java create mode 100644 1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeShovel.java create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_0.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_1.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_2.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_3.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_4.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/bronzeaxe.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/bronzehoe.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/bronzepickaxe.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/bronzeshovel.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_0.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_1.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_2.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_3.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_4.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_0.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_1.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_2.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_3.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_4.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_0.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_1.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_2.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_3.json create mode 100644 1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_4.json diff --git a/1.11/To-Dos.md b/1.11/To-Dos.md index 1d3546d6..facdca8a 100644 --- a/1.11/To-Dos.md +++ b/1.11/To-Dos.md @@ -4,9 +4,9 @@ To-Dos *** Current Feature *** -- [ ] BlockBreaker Support for copper dust and tin dust +- [x] BlockBreaker Support for copper dust and tin dust - [x] picking up raw bronze crucible returns some other shit -- [ ] Tool breaking should return tool head```` +- [ ] Tool breaking should return tool head *** Feature Musket *** - [ ] Create powder charge item (copper, charcoal, gunpowder) 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 664de21a..5c747360 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/CommonEvents.java @@ -5,11 +5,9 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.PlayerEvent; +import nmd.primal.forgecraft.items.parts.BronzeToolPart; 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; +import nmd.primal.forgecraft.items.tools.*; import nmd.primal.forgecraft.util.ToolNBT; /** @@ -23,13 +21,13 @@ public class CommonEvents implements ToolNBT { if(!event.player.getEntityWorld().isRemote) { - if (event.crafting.getItem() instanceof CustomPickaxe) { + if (event.crafting.getItem() instanceof CustomPickaxe || event.crafting.getItem() instanceof BronzePickaxe) { 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 ToolPart) { + if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) { tempTag = a.getSubCompound("tags").copy(); event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); @@ -38,13 +36,13 @@ public class CommonEvents implements ToolNBT { } } } - if (event.crafting.getItem() instanceof CustomAxe) { + if (event.crafting.getItem() instanceof CustomAxe || event.crafting.getItem() instanceof BronzeAxe) { 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 ToolPart) { + if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) { tempTag = a.getSubCompound("tags").copy(); event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); @@ -53,70 +51,64 @@ public class CommonEvents implements ToolNBT { } } } - if (event.crafting.getItem() instanceof CustomShovel) { + if (event.crafting.getItem() instanceof CustomShovel || event.crafting.getItem() instanceof BronzeShovel) { 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 ToolPart) { + if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) { 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); - //} } } } } - if (event.crafting.getItem() instanceof CustomHoe) { + if (event.crafting.getItem() instanceof CustomHoe || event.crafting.getItem() instanceof BronzeHoe) { 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 ToolPart) { + if (a.getItem() instanceof ToolPart || a.getItem() instanceof BronzeToolPart) { 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); - //} } } } } - if (event.crafting.getItem() instanceof ToolPart) { + if (event.crafting.getItem() instanceof ToolPart || event.crafting.getItem() instanceof BronzeToolPart) { 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) { + if (a.getItem() instanceof CustomAxe || a.getItem() instanceof BronzeAxe) { 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 (a.getItem() instanceof CustomPickaxe) { + if (a.getItem() instanceof CustomPickaxe || a.getItem() instanceof BronzePickaxe) { 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 (a.getItem() instanceof CustomShovel) { + if (a.getItem() instanceof CustomShovel || a.getItem() instanceof BronzeShovel) { 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 (a.getItem() instanceof CustomHoe) { + if (a.getItem() instanceof CustomHoe || a.getItem() instanceof BronzeHoe) { tempTag = a.getSubCompound("tags").copy(); event.crafting.getTagCompound().setTag("tags", tempTag); event.crafting.getItem().updateItemStackNBT(event.crafting.getTagCompound()); diff --git a/1.11/src/main/java/nmd/primal/forgecraft/blocks/BloomeryBase.java b/1.11/src/main/java/nmd/primal/forgecraft/blocks/BloomeryBase.java index c33bbd28..c3ef7f97 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/blocks/BloomeryBase.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/blocks/BloomeryBase.java @@ -15,6 +15,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.*; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.math.Vec3d; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextComponentString; import net.minecraft.world.IBlockAccess; @@ -63,7 +65,7 @@ public class BloomeryBase extends CustomContainerFacing implements ITileEntityPr return new TileBloomery(); } - @Override + /*@Override public void randomTick(World world, BlockPos pos, IBlockState state, Random random) { this.updateTick(world, pos, state, random); @@ -72,7 +74,7 @@ public class BloomeryBase extends CustomContainerFacing implements ITileEntityPr FireHelper.makeSmoke(world, pos, 50); } } - } + }*/ @Override public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) @@ -106,10 +108,13 @@ public class BloomeryBase extends CustomContainerFacing implements ITileEntityPr stringRemainingTime = remainingTime.toString(); } - - ITextComponent itextcomponent = new TextComponentString("Current Temp: " + stringBloomeryHeat + " Ideal Temp: " + stringIdealTemp + " Ticks Remaining: " + stringRemainingTime); - player.sendStatusMessage(itextcomponent, true); - //System.out.println(pos); + String display = + "Current Temp: " + stringBloomeryHeat + '\n' + + "Ideal Temp: " + stringIdealTemp + '\n' + + "Ticks Remaining: " + stringRemainingTime + '\n' + + "Fuel Remaining: " + tile.getSlotStack(0).getCount() + '\n'; + ITextComponent itextcomponent = new TextComponentString(display); + player.sendStatusMessage(itextcomponent, false); 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 315a4d7b..688f411d 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,6 +7,7 @@ import net.minecraft.item.ItemStack; 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.common.helper.CommonUtils; import nmd.primal.forgecraft.crafting.AnvilCrafting; @@ -25,6 +26,16 @@ public class ModCrafting { Random rand = new Random(); + /***CASTING BLOCK***/ + GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.castingblock), + " B ", "BXB", " B ", 'X', Blocks.STONE_SLAB, 'B', PrimalItems.ADOBEBRICK_DRY); + + /***CASTING FORM***/ + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.castingform, 1), + true, new Object[]{" S ", "S S", " S ", + ('S'), "logSplit" + })); + /***Forge***/ GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.forge_brick), "X X", "XYX", "X X", 'X', Items.BRICK, 'Y', Blocks.FURNACE); @@ -135,9 +146,16 @@ public class ModCrafting { ('E'), PrimalItems.EMERALD_KNAPP, ('Y'), ModBlocks.rawbronzecrucible)); - + /*************************************************************** + * TOOL CRAFTING RECIPES + ***************************************************************/ /***Pickaxe Crafting***/ + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzepickaxe), "T", "C", "S", + ('T'), new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE), + ('S'), PrimalItems.LACQUER_STICK, + ('C'), "cordageGeneral")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironpickaxe), "T", "C", "S", ('T'), new ItemStack(ModItems.pickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE), ('S'), PrimalItems.LACQUER_STICK, @@ -156,18 +174,29 @@ public class ModCrafting { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.IRON_PICKAXE), "T", "S", ('T'), ModItems.pickaxehead, ('S'), Items.STICK)); - - //placeholder wootz + //TODO wootz placeholder /***Axe Crafting***/ + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzeaxe), "T", "C", "S", + ('T'), new ItemStack(ModItems.bronzeaxehead, 1, OreDictionary.WILDCARD_VALUE), + ('S'), PrimalItems.LACQUER_STICK, + ('C'), "cordageGeneral")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironaxe), "T", "C", "S", ('T'), new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), PrimalItems.LACQUER_STICK, ('C'), "cordageGeneral")); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironaxe), "T", "C", "S", + ('T'), new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), + ('S'), PrimalItems.LACQUER_STICK, + ('C'), "cordageGeneral")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cleanironaxe), "T", "C", "S", ('T'), new ItemStack(ModItems.cleanironaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), PrimalItems.LACQUER_STICK, ('C'), "cordageGeneral")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steelaxe), "T", "C", "S", ('T'), new ItemStack(ModItems.steelaxehead,1, OreDictionary.WILDCARD_VALUE), ('S'), PrimalItems.LACQUER_STICK, @@ -178,14 +207,21 @@ public class ModCrafting { ('S'), Items.STICK)); /***Shovel Crafting***/ + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzeshovel), "T", "C", "S", + ('T'), new ItemStack(ModItems.bronzeshovelhead, 1, OreDictionary.WILDCARD_VALUE), + ('S'), PrimalItems.LACQUER_STICK, + ('C'), "cordageGeneral")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironshovel), "T", "C", "S", ('T'), new ItemStack(ModItems.ironshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), PrimalItems.LACQUER_STICK, ('C'), "cordageGeneral")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cleanironshovel), "T", "C", "S", ('T'), new ItemStack(ModItems.cleanironshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), PrimalItems.LACQUER_STICK, ('C'), "cordageGeneral")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steelshovel), "T", "C", "S", ('T'), new ItemStack(ModItems.steelshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), PrimalItems.LACQUER_STICK, @@ -196,14 +232,21 @@ public class ModCrafting { ('S'), Items.STICK)); /***Hoe Crafting***/ + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzehoe), "T", "C", "S", + ('T'), new ItemStack(ModItems.bronzehoehead, 1, OreDictionary.WILDCARD_VALUE), + ('S'), PrimalItems.LACQUER_STICK, + ('C'), "cordageGeneral")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironhoe), "T", "C", "S", ('T'), new ItemStack(ModItems.ironhoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), PrimalItems.LACQUER_STICK, ('C'), "cordageGeneral")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cleanironhoe), "T", "C", "S", ('T'), new ItemStack(ModItems.cleanironhoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), PrimalItems.LACQUER_STICK, ('C'), "cordageGeneral")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.steelhoe), "T", "C", "S", ('T'), new ItemStack(ModItems.steelhoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), PrimalItems.LACQUER_STICK, @@ -215,11 +258,24 @@ public class ModCrafting { /*************************************************************** - * TEMPORARY RECIPES + * TOOL DISASSEMBLY RECIPES ***************************************************************/ //GameRegistry.addShapedRecipe(new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), // " ", " X ", " ", 'X', ModItems.ironaxe); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzeaxehead, 1, OreDictionary.WILDCARD_VALUE), + true, "X", ('X'), new ItemStack(ModItems.bronzeaxe, 1, OreDictionary.WILDCARD_VALUE))); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE), + true, "X", ('X'), new ItemStack(ModItems.bronzepickaxe, 1, OreDictionary.WILDCARD_VALUE))); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzeshovelhead, 1, OreDictionary.WILDCARD_VALUE), + true, "X", ('X'), new ItemStack(ModItems.bronzeshovel, 1, OreDictionary.WILDCARD_VALUE))); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bronzehoehead, 1, OreDictionary.WILDCARD_VALUE), + true, "X", ('X'), new ItemStack(ModItems.bronzehoe, 1, OreDictionary.WILDCARD_VALUE))); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), true, "X", ('X'), new ItemStack(ModItems.ironaxe, 1, OreDictionary.WILDCARD_VALUE))); diff --git a/1.11/src/main/java/nmd/primal/forgecraft/init/ModEvents.java b/1.11/src/main/java/nmd/primal/forgecraft/init/ModEvents.java index 65e46add..bd4960c9 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/init/ModEvents.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/init/ModEvents.java @@ -17,9 +17,4 @@ public class ModEvents { } - @SideOnly(Side.CLIENT) - public static void registerClientEvents() { - //MinecraftForge.EVENT_BUS.register(new ClientEvents()); - } - } 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 6d8f0d21..377bfb57 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 @@ -18,10 +18,7 @@ import nmd.primal.forgecraft.items.*; import nmd.primal.forgecraft.items.casting.CastingPart; import nmd.primal.forgecraft.items.parts.BronzeToolPart; 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; +import nmd.primal.forgecraft.items.tools.*; import nmd.primal.forgecraft.items.weapons.CustomShield; import nmd.primal.forgecraft.items.weapons.CustomSword; @@ -80,6 +77,11 @@ public class ModItems { public static Item bronzeshovelhead; public static Item bronzehoehead; + public static Item bronzepickaxe; + public static Item bronzeaxe; + public static Item bronzeshovel; + public static Item bronzehoe; + public static Item ironpickaxe; public static Item ironaxe; public static Item ironshovel; @@ -165,6 +167,11 @@ public class ModItems { /********** TOOLS **********/ + bronzepickaxe = new BronzePickaxe("bronzepickaxe", PrimalMaterials.TOOL_BRONZE); + bronzeaxe = new BronzeAxe("bronzeaxe", PrimalMaterials.TOOL_BRONZE); + bronzeshovel = new BronzeShovel("bronzeshovel", PrimalMaterials.TOOL_BRONZE); + bronzehoe = new BronzeHoe("bronzehoe", PrimalMaterials.TOOL_BRONZE); + ironpickaxe = new CustomPickaxe("ironpickaxe", PrimalMaterials.TOOL_WROUGHT_IRON); ironaxe = new CustomAxe("ironaxe", PrimalMaterials.TOOL_WROUGHT_IRON); ironshovel = new CustomShovel("ironshovel", PrimalMaterials.TOOL_WROUGHT_IRON); @@ -269,6 +276,11 @@ public class ModItems { /********** TOOLS **********/ + GameRegistry.register(bronzepickaxe); + GameRegistry.register(bronzeaxe); + GameRegistry.register(bronzeshovel); + GameRegistry.register(bronzehoe); + GameRegistry.register(ironpickaxe); GameRegistry.register(ironaxe); GameRegistry.register(ironshovel); @@ -355,6 +367,11 @@ public class ModItems { /********** TOOLS **********/ + registerRender(bronzepickaxe); + registerRender(bronzeaxe); + registerRender(bronzeshovel); + registerRender(bronzehoe); + registerRender(ironpickaxe); registerRender(ironaxe); registerRender(ironshovel); diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BasePickaxe.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BasePickaxe.java deleted file mode 100644 index 21e21268..00000000 --- a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BasePickaxe.java +++ /dev/null @@ -1,86 +0,0 @@ -package nmd.primal.forgecraft.items.tools; - -import com.google.common.collect.Sets; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; - -import java.util.Set; - -/** - * Created by mminaie on 3/29/17. - */ -public abstract class BasePickaxe extends BaseTool -{ - private static final Set EFFECTIVE_ON = Sets.newHashSet(new Block[] {Blocks.ACTIVATOR_RAIL, Blocks.COAL_ORE, Blocks.COBBLESTONE, Blocks.DETECTOR_RAIL, Blocks.DIAMOND_BLOCK, Blocks.DIAMOND_ORE, Blocks.DOUBLE_STONE_SLAB, Blocks.GOLDEN_RAIL, Blocks.GOLD_BLOCK, Blocks.GOLD_ORE, Blocks.ICE, Blocks.IRON_BLOCK, Blocks.IRON_ORE, Blocks.LAPIS_BLOCK, Blocks.LAPIS_ORE, Blocks.LIT_REDSTONE_ORE, Blocks.MOSSY_COBBLESTONE, Blocks.NETHERRACK, Blocks.PACKED_ICE, Blocks.RAIL, Blocks.REDSTONE_ORE, Blocks.SANDSTONE, Blocks.RED_SANDSTONE, Blocks.STONE, Blocks.STONE_SLAB, Blocks.STONE_BUTTON, Blocks.STONE_PRESSURE_PLATE}); - - protected BasePickaxe(ForgeToolMaterial material) - { - super(1.0F, -2.8F, material, EFFECTIVE_ON); - } - - /** - * Check whether this Item can harvest the given Block - */ - public boolean canHarvestBlock(IBlockState blockIn) - { - Block block = blockIn.getBlock(); - - if (block == Blocks.OBSIDIAN) - { - return this.toolMaterial.getHarvestLevel() == 3; - } - else if (block != Blocks.DIAMOND_BLOCK && block != Blocks.DIAMOND_ORE) - { - if (block != Blocks.EMERALD_ORE && block != Blocks.EMERALD_BLOCK) - { - if (block != Blocks.GOLD_BLOCK && block != Blocks.GOLD_ORE) - { - if (block != Blocks.IRON_BLOCK && block != Blocks.IRON_ORE) - { - if (block != Blocks.LAPIS_BLOCK && block != Blocks.LAPIS_ORE) - { - if (block != Blocks.REDSTONE_ORE && block != Blocks.LIT_REDSTONE_ORE) - { - Material material = blockIn.getMaterial(); - return material == Material.ROCK ? true : (material == Material.IRON ? true : material == Material.ANVIL); - } - else - { - return this.toolMaterial.getHarvestLevel() >= 2; - } - } - else - { - return this.toolMaterial.getHarvestLevel() >= 1; - } - } - else - { - return this.toolMaterial.getHarvestLevel() >= 1; - } - } - else - { - return this.toolMaterial.getHarvestLevel() >= 2; - } - } - else - { - return this.toolMaterial.getHarvestLevel() >= 2; - } - } - else - { - return this.toolMaterial.getHarvestLevel() >= 2; - } - } - - public float getStrVsBlock(ItemStack stack, IBlockState state) - { - Material material = state.getMaterial(); - return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial; - } -} \ No newline at end of file diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BaseTool.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BaseTool.java deleted file mode 100644 index ebff9024..00000000 --- a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BaseTool.java +++ /dev/null @@ -1,262 +0,0 @@ -package nmd.primal.forgecraft.items.tools; - -import com.google.common.collect.Multimap; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.inventory.EntityEquipmentSlot; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import java.util.Set; - -/** - * Created by mminaie on 3/29/17. - */ -public abstract class BaseTool extends Item { - - private final Set effectiveBlocks; - protected float efficiencyOnProperMaterial; - /** Damage versus entities. */ - protected float damageVsEntity; - protected float attackSpeed; - /** The material this tool is made from. */ - protected ForgeToolMaterial toolMaterial; - - protected BaseTool(float attackDamageIn, float attackSpeedIn, ForgeToolMaterial materialIn, Set effectiveBlocksIn) - { - this.efficiencyOnProperMaterial = 4.0F; - this.toolMaterial = materialIn; - this.effectiveBlocks = effectiveBlocksIn; - this.maxStackSize = 1; - this.setMaxDamage(materialIn.getMaxUses()); - this.efficiencyOnProperMaterial = materialIn.getEfficiencyOnProperMaterial(); - this.damageVsEntity = attackDamageIn + materialIn.getDamageVsEntity(); - this.attackSpeed = attackSpeedIn; - this.setCreativeTab(CreativeTabs.TOOLS); - } - - protected BaseTool(ForgeToolMaterial materialIn, Set effectiveBlocksIn) - { - this(0.0F, 0.0F, materialIn, effectiveBlocksIn); - } - - public float getStrVsBlock(ItemStack stack, IBlockState state) - { - for (String type : getToolClasses(stack)) - { - if (state.getBlock().isToolEffective(type, state)) - return efficiencyOnProperMaterial; - } - return this.effectiveBlocks.contains(state.getBlock()) ? this.efficiencyOnProperMaterial : 1.0F; - } - - - - - - public static enum ForgeToolMaterial { - IRON(2, 250, 6.0F, 2.0F, 14); - //DIAMOND(3, 1561, 8.0F, 3.0F, 10), - //GOLD(0, 32, 12.0F, 0.0F, 22); - - /** - * The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = WOOD/GOLD) - */ - private int harvestLevel; - /** - * The number of uses this material allows. (wood = 59, stone = 131, iron = 250, diamond = 1561, gold = 32) - */ - private int maxUses; - /** - * The strength of this tool material against blocks which it is effective against. - */ - private float efficiencyOnProperMaterial; - /** - * Damage versus entities. - */ - private float damageVsEntity; - /** - * Defines the natural enchantability factor of the material. - */ - private int enchantability; - //Added by forge for custom Tool materials. - - ForgeToolMaterial(int harvestLevel, int maxUses, float efficiency, float damageVsEntity, int enchantability) { - this.harvestLevel = harvestLevel; - this.maxUses = maxUses; - this.efficiencyOnProperMaterial = efficiency; - this.damageVsEntity = damageVsEntity; - this.enchantability = enchantability; - } - - - - /** - * The number of uses this material allows. (wood = 59, stone = 131, iron = 250, diamond = 1561, gold = 32) - */ - public int getMaxUses() { - return this.maxUses; - } - - public void setMaxUses(int maxUses) { - this.maxUses = maxUses; - } - - /** - * The strength of this tool material against blocks which it is effective against. - */ - public float getEfficiencyOnProperMaterial() { - return this.efficiencyOnProperMaterial; - } - - public void setEfficiencyOnProperMaterial(float efficiencyOnProperMaterial) { - this.efficiencyOnProperMaterial = efficiencyOnProperMaterial; - } - - /** - * Returns the damage against a given entity. - */ - public float getDamageVsEntity() { - return this.damageVsEntity; - } - - public void setDamageVsEntity(float damageVsEntity) { - this.damageVsEntity = damageVsEntity; - } - - /** - * The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = IRON/GOLD) - */ - public int getHarvestLevel() { - return this.harvestLevel; - } - - public void setHarvestLevel(int harvestLevel) { - this.harvestLevel = harvestLevel; - } - - /** - * Return the natural enchantability factor of the material. - */ - public int getEnchantability() { - return this.enchantability; - } - - public void setEnchantability(int enchantability) { - this.enchantability = enchantability; - } - } - - - - - - - - - /** - * Current implementations of this method in child classes do not use the entry argument beside ev. They just raise - * the damage on the stack. - */ - public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) - { - stack.damageItem(2, attacker); - return true; - } - - /** - * Called when a Block is destroyed using this Item. Return true to trigger the "Use Item" statistic. - */ - public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) - { - if (!worldIn.isRemote && (double)state.getBlockHardness(worldIn, pos) != 0.0D) - { - stack.damageItem(1, entityLiving); - } - - return true; - } - - /** - * Returns True is the item is renderer in full 3D when hold. - */ - @SideOnly(Side.CLIENT) - public boolean isFull3D() - { - return true; - } - - public ForgeToolMaterial getToolMaterial() - { - return this.toolMaterial; - } - - /** - * Return the enchantability factor of the item, most of the time is based on material. - */ - public int getItemEnchantability() - { - return this.toolMaterial.getEnchantability(); - } - - /** - * Return the name for this tool's material. - */ - public String getToolMaterialName() - { - return this.toolMaterial.toString(); - } - - /** - * Return whether this item is repairable in an anvil. - */ - public boolean getIsRepairable(ItemStack toRepair, ItemStack repair) - { - return false; - } - - public Multimap getItemAttributeModifiers(EntityEquipmentSlot equipmentSlot) - { - Multimap multimap = super.getItemAttributeModifiers(equipmentSlot); - - if (equipmentSlot == EntityEquipmentSlot.MAINHAND) - { - multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(), new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Tool modifier", (double)this.damageVsEntity, 0)); - multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getName(), new AttributeModifier(ATTACK_SPEED_MODIFIER, "Tool modifier", (double)this.attackSpeed, 0)); - } - - return multimap; - } - - /*===================================== FORGE START =================================*/ - @javax.annotation.Nullable - private String toolClass; - @Override - public int getHarvestLevel(ItemStack stack, String toolClass, @javax.annotation.Nullable net.minecraft.entity.player.EntityPlayer player, @javax.annotation.Nullable IBlockState blockState) - { - int level = super.getHarvestLevel(stack, toolClass, player, blockState); - if (level == -1 && toolClass.equals(this.toolClass)) - { - return this.toolMaterial.getHarvestLevel(); - } - else - { - return level; - } - } - - @Override - public Set getToolClasses(ItemStack stack) - { - return toolClass != null ? com.google.common.collect.ImmutableSet.of(toolClass) : super.getToolClasses(stack); - } - /*===================================== FORGE END =================================*/ -} \ No newline at end of file diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeAxe.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeAxe.java new file mode 100644 index 00000000..8d121979 --- /dev/null +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeAxe.java @@ -0,0 +1,235 @@ +package nmd.primal.forgecraft.items.tools; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.Item; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import nmd.primal.core.common.helper.PlayerHelper; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.init.ModItems; +import nmd.primal.forgecraft.util.ToolNBT; + +import javax.annotation.Nullable; +import java.util.List; +import java.util.concurrent.ThreadLocalRandom; + +/** + * Created by mminaie on 6/25/17. + */ +public class BronzeAxe extends ItemAxe implements ToolNBT { + + public BronzeAxe(String name, Item.ToolMaterial material) { + super(material, 5, -2f); + this.setUnlocalizedName(name); + this.setRegistryName(name); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + this.setMaxStackSize(1); + this.setNoRepair(); + + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot . emerald . diamond . redstone . lapis + 0 . 0 . 0 . 0 . 0 + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) + { + if (item.hasTagCompound()) { + + + if (getModifiers(item) != 0) { + if (getEmerald(item)) { + return 0.1F; + } + + if (getDiamondLevel(item) == 1) { + return 0.2F; + } + + if ( getRedstoneLevel(item) == 1) { + return 0.3F; + } + + if (getLapisLevel(item) == 1) { + return 0.4F; + } + } + if (getModifiers(item) == 0) { + return 0.0F; + } + } + return 0.0F; + } + }); + } + + public static boolean isHidden() + { + return false; + } + + @Override + public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { + + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + /*setHot(item, false); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0);*/ + } + } + + } + + @Override + public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0); + } + if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.bronzeaxehead, 1)); + } + } + } + + //public void onItemTooltip(ItemTooltipEvent event){ + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack item, EntityPlayer player, List tooltip, boolean advanced) + { + if(!item.isEmpty()) { + if (player.getEntityWorld().isRemote) { + + if (item.hasTagCompound()) { + + tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); + if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (getDiamondLevel(item) > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (getRedstoneLevel(item) > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + "1" ); + } + if (getLapisLevel(item) > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + "5" ); + } + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); + } + } + } + } + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + World world = player.getEntityWorld(); + //System.out.println(world.getBlockState(pos).getBlock()); + if(itemstack.getItem() instanceof CustomAxe){ + if( getEmerald(itemstack)){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + /*if( getDiamondLevel(itemstack) > 0 ){ + itemstack.getItem().setHarvestLevel("pickaxe", 3); + }*/ + if ( getLapisLevel(itemstack) > 0) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), 5); + } + } + } + + return false; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) + { + if (!worldIn.isRemote && (double)state.getBlockHardness(worldIn, pos) != 0.0D) + { + + stack.getTagCompound().removeTag("ench"); + //System.out.println(stack.getTagCompound()); + if(getDiamondLevel(stack) > 0) { + if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { + stack.damageItem(1, entityLiving); + } + } else stack.damageItem(1, entityLiving); + } + + return true; + } + + @Override + public float getStrVsBlock(ItemStack stack, IBlockState state) + { + Material material = state.getMaterial(); + //return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial; + + if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){ + return super.getStrVsBlock(stack, state); + } else { + return this.efficiencyOnProperMaterial + 1; + } + + } + + @SideOnly(Side.CLIENT) + @Override + public boolean hasEffect(ItemStack stack) + { + return false; + } + + @Override + public boolean isRepairable() + { + return false; + } + + public int getItemEnchantability(ItemStack stack) + { + return 0; + } + +} diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeHoe.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeHoe.java new file mode 100644 index 00000000..a315d277 --- /dev/null +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeHoe.java @@ -0,0 +1,223 @@ +package nmd.primal.forgecraft.items.tools; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.block.state.IBlockState; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import nmd.primal.core.common.helper.PlayerHelper; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.init.ModItems; +import nmd.primal.forgecraft.util.ToolNBT; + +import javax.annotation.Nullable; +import java.util.List; +import java.util.concurrent.ThreadLocalRandom; + +/** + * Created by mminaie on 3/21/17. + */ +public class BronzeHoe extends ItemHoe implements ToolNBT { + + public BronzeHoe(String name, ToolMaterial material) { + super(material); + this.setUnlocalizedName(name); + this.setRegistryName(name); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + this.setMaxStackSize(1); + this.setNoRepair(); + + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot . emerald . diamond . redstone . lapis + 0 . 0 . 0 . 0 . 0 + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) + { + if (item.hasTagCompound()) { + + + if (getModifiers(item) != 0) { + if (getEmerald(item)) { + return 0.1F; + } + + if (getDiamondLevel(item) == 1) { + return 0.2F; + } + + if ( getRedstoneLevel(item) == 1) { + return 0.3F; + } + + if (getLapisLevel(item) == 1) { + return 0.4F; + } + } + if (getModifiers(item) == 0) { + return 0.0F; + } + } + return 0.0F; + } + }); + } + + public static boolean isHidden() + { + return false; + } + + @Override + public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { + + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + /*setHot(item, false); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0);*/ + } + } + + } + + @Override + public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0); + + } + if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.bronzehoehead, 1)); + } + } + } + + //public void onItemTooltip(ItemTooltipEvent event){ + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack item, EntityPlayer player, List tooltip, boolean advanced) + { + if(player.getEntityWorld().isRemote) { + //tooltip.add(ChatFormatting.GRAY + "Damage: " + item.getItemDamage() ); + if(item.hasTagCompound()) { + + tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); + if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (getDiamondLevel(item) > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (getRedstoneLevel(item) > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + 1 ); + } + if (getLapisLevel(item) > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + 5 ); + } + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); + } + } + } + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + World world = player.getEntityWorld(); + + if(itemstack.getItem() instanceof BronzeHoe){ + if( getEmerald(itemstack)){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + /*if( getDiamondLevel(itemstack) > 0 ){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); + itemstack.getItem().setHarvestLevel("pickaxe", 3); + }*/ + /*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), 5); + } + } + } + + return false; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) + { + if (!worldIn.isRemote && (double)state.getBlockHardness(worldIn, pos) != 0.0D) + { + + stack.getTagCompound().removeTag("ench"); + //System.out.println(stack.getTagCompound()); + if(getDiamondLevel(stack) > 0) { + if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { + stack.damageItem(1, entityLiving); + } + } else stack.damageItem(1, entityLiving); + } + + return true; + } + + @SideOnly(Side.CLIENT) + @Override + public boolean hasEffect(ItemStack stack) + { + return false; + } + + @Override + public boolean isRepairable() + { + return false; + } + + public int getItemEnchantability(ItemStack stack) + { + return 0; + } + +} diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzePickaxe.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzePickaxe.java new file mode 100644 index 00000000..fd80608c --- /dev/null +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzePickaxe.java @@ -0,0 +1,236 @@ +package nmd.primal.forgecraft.items.tools; + +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import nmd.primal.core.common.helper.PlayerHelper; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.init.ModItems; +import nmd.primal.forgecraft.util.ToolNBT; + +import javax.annotation.Nullable; +import java.util.List; +import java.util.concurrent.ThreadLocalRandom; + +/** + * Created by mminaie on 3/14/17. + */ +public class BronzePickaxe extends ItemPickaxe implements ToolNBT{ + + public BronzePickaxe(String name, ToolMaterial material) { + super(material); + this.setUnlocalizedName(name); + this.setRegistryName(name); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + this.setMaxStackSize(1); + this.setNoRepair(); + + //this.toolClass = "pickaxe"; + + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot . emerald . diamond . redstone . lapis + 0 . 0 . 0 . 0 . 0 + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) + { + if (item.hasTagCompound()) { + + + if (getModifiers(item) != 0) { + if (getEmerald(item)) { + return 0.1F; + } + + if (getDiamondLevel(item) == 1) { + return 0.2F; + } + + if ( getRedstoneLevel(item) == 1) { + return 0.3F; + } + + if (getLapisLevel(item) == 1) { + return 0.4F; + } + } + if (getModifiers(item) == 0) { + return 0.0F; + } + } + return 0.0F; + } + }); + } + + public static boolean isHidden() + { + return false; + } + + @Override + public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { + + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + /*setHot(item, false); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0);*/ + } + } + + } + + @Override + public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0); + + } + if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.bronzepickaxehead, 1)); + } + } + } + + //public void onItemTooltip(ItemTooltipEvent event){ + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack item, EntityPlayer player, List tooltip, boolean advanced) + { + if(player.getEntityWorld().isRemote) { + //tooltip.add(ChatFormatting.GRAY + "Damage: " + item.getItemDamage() ); + if(item.hasTagCompound()) { + + tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); + if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (getDiamondLevel(item) > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (getRedstoneLevel(item) > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + 1 ); + } + if (getLapisLevel(item) > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + 5 ); + } + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); + } + } + } + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + World world = player.getEntityWorld(); + //System.out.println(world.getBlockState(pos).getBlock()); + if(itemstack.getItem() instanceof BronzePickaxe){ + if( getEmerald(itemstack)){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + /*if( getDiamondLevel(itemstack) > 0 ){ + //itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); + itemstack.getItem().setHarvestLevel("pickaxe", 3); + }*/ + if ( getLapisLevel(itemstack) > 0) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), 5); + } + } + } + + return false; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) + { + if (!worldIn.isRemote && (double)state.getBlockHardness(worldIn, pos) != 0.0D) + { + + stack.getTagCompound().removeTag("ench"); + //System.out.println(stack.getTagCompound()); + if(getDiamondLevel(stack) > 0) { + if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { + stack.damageItem(1, entityLiving); + } + } else stack.damageItem(1, entityLiving); + } + + return true; + } + + @SideOnly(Side.CLIENT) + @Override + public boolean hasEffect(ItemStack stack) + { + return false; + } + + @Override + public boolean isRepairable() + { + return false; + } + + public int getItemEnchantability(ItemStack stack) + { + return 0; + } + + @Override + public float getStrVsBlock(ItemStack stack, IBlockState state) + { + Material material = state.getMaterial(); + //return material != Material.IRON && material != Material.ANVIL && material != Material.ROCK ? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial; + + if(material != Material.IRON && material != Material.ANVIL && material != Material.ROCK){ + return super.getStrVsBlock(stack, state); + } else { + return this.efficiencyOnProperMaterial + 1; + } + + } + +} diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeShovel.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeShovel.java new file mode 100644 index 00000000..b3e9c31f --- /dev/null +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/BronzeShovel.java @@ -0,0 +1,232 @@ +package nmd.primal.forgecraft.items.tools; + +import com.google.common.collect.Sets; +import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.IItemPropertyGetter; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import nmd.primal.core.common.helper.PlayerHelper; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.init.ModItems; +import nmd.primal.forgecraft.util.ToolNBT; + +import javax.annotation.Nullable; +import java.util.List; +import java.util.Set; +import java.util.concurrent.ThreadLocalRandom; + +/** + * Created by mminaie on 3/21/17. + */ +public class BronzeShovel extends ItemSpade implements ToolNBT { + + private static final Set EFFECTIVE_ON = Sets.newHashSet(new Block[] {Blocks.CLAY, Blocks.DIRT, Blocks.FARMLAND, Blocks.GRASS, Blocks.GRAVEL, Blocks.MYCELIUM, Blocks.SAND, Blocks.SNOW, Blocks.SNOW_LAYER, Blocks.SOUL_SAND, Blocks.GRASS_PATH}); + + public BronzeShovel(String name, ToolMaterial material) { + super(material); + this.setUnlocalizedName(name); + this.setRegistryName(name); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + this.setMaxStackSize(1); + this.setNoRepair(); + + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot . emerald . diamond . redstone . lapis + 0 . 0 . 0 . 0 . 0 + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) + { + if (item.hasTagCompound()) { + + + if (getModifiers(item) != 0) { + if (getEmerald(item)) { + return 0.1F; + } + + if (getDiamondLevel(item) == 1) { + return 0.2F; + } + + if ( getRedstoneLevel(item) == 1) { + return 0.3F; + } + + if (getLapisLevel(item) == 1) { + return 0.4F; + } + } + if (getModifiers(item) == 0) { + return 0.0F; + } + } + return 0.0F; + } + }); + } + + public static boolean isHidden() + { + return false; + } + + @Override + public void onCreated(ItemStack item, World world, EntityPlayer playerIn) { + + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + /*setHot(item, false); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0);*/ + } + } + + } + + @Override + public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { + if(!world.isRemote) { + if (!item.hasTagCompound()) { + item.setTagCompound(new NBTTagCompound()); + NBTTagCompound tags = new NBTTagCompound(); + + item.getTagCompound().setTag("tags", tags); + + setHot(item, false); + setEmerald(item, false); + setDiamondLevel(item, 0); + setRedstoneLevel(item, 0); + setLapisLevel(item, 0); + setModifiers(item, 0); + + } + if( this.getMaxDamage(item) - this.getDamage(item) <= 1 ){ + PlayerHelper.spawnItemOnPlayer(world, (EntityPlayer) player, new ItemStack(ModItems.bronzeshovelhead, 1)); + } + } + } + + //public void onItemTooltip(ItemTooltipEvent event){ + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack item, EntityPlayer player, List tooltip, boolean advanced) + { + if(player.getEntityWorld().isRemote) { + //tooltip.add(ChatFormatting.GRAY + "Damage: " + item.getItemDamage() ); + if(item.hasTagCompound()) { + + tooltip.add(ChatFormatting.GRAY + "Upgrades Left: " + (1 - getModifiers(item)) ); + if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + } + if (getDiamondLevel(item) > 0) { + tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); + } + if (getRedstoneLevel(item) > 0) { + tooltip.add(ChatFormatting.RED + "Redstone Level: " + 1 ); + } + if (getLapisLevel(item) > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + 5 ); + } + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); + } + } + } + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) + { + if(!player.world.isRemote){ + World world = player.getEntityWorld(); + + if(itemstack.getItem() instanceof BronzeShovel){ + if( getEmerald(itemstack)){ + itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); + } + if ( getLapisLevel(itemstack) > 0) { + itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), 5); + } + } + } + + return false; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos, EntityLivingBase entityLiving) + { + if (!worldIn.isRemote && (double)state.getBlockHardness(worldIn, pos) != 0.0D) + { + + stack.getTagCompound().removeTag("ench"); + //System.out.println(stack.getTagCompound()); + if(getDiamondLevel(stack) > 0) { + if(ThreadLocalRandom.current().nextInt(0, getDiamondLevel(stack)) == 0) { + stack.damageItem(1, entityLiving); + } + } else stack.damageItem(1, entityLiving); + } + + return true; + } + + @Override + public float getStrVsBlock(ItemStack stack, IBlockState state) + { + for (String type : getToolClasses(stack)) + { + if (state.getBlock().isToolEffective(type, state)) + return efficiencyOnProperMaterial; + } + return this.efficiencyOnProperMaterial + 1; + } + + @SideOnly(Side.CLIENT) + @Override + public boolean hasEffect(ItemStack stack) + { + return false; + } + + @Override + public boolean isRepairable() + { + return false; + } + + public int getItemEnchantability(ItemStack stack) + { + return 0; + } + +} diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java index ac15fab5..8f3df4f1 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java @@ -298,7 +298,7 @@ public class CustomHoe extends ItemHoe implements ToolNBT { { if(!player.world.isRemote){ World world = player.getEntityWorld(); - System.out.println(world.getBlockState(pos).getBlock()); + if(itemstack.getItem() instanceof CustomHoe){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); diff --git a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java index ee5beac6..dd0f7a07 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java @@ -304,14 +304,13 @@ public class CustomShovel extends ItemSpade implements ToolNBT { { if(!player.world.isRemote){ World world = player.getEntityWorld(); - System.out.println(world.getBlockState(pos).getBlock()); if(itemstack.getItem() instanceof CustomShovel){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); } if( getDiamondLevel(itemstack) > 0 ){ //itemstack.addEnchantment(Enchantment.getEnchantmentByID(34), getDiamondLevel(itemstack)); - itemstack.getItem().setHarvestLevel("pickaxe", 3); + itemstack.getItem().setHarvestLevel("shovel", 3); } /*if( getRedstoneLevel(itemstack) > 0 ){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(32), getRedstoneLevel(itemstack)); diff --git a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java index a92d9a6a..8ed82ea1 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java @@ -103,21 +103,38 @@ public class TileBloomery extends TileBaseSlot implements ITickable { private void slotZeroManager(World world){ if(this.getSlotStack(0) != ItemStack.EMPTY) { - Integer decrInt = (int) Math.floor(getVanillaItemBurnTime(this.getSlotStack(0)) / 100); + Integer decrInt = (int) Math.floor(getVanillaItemBurnTime(this.getSlotStack(0)) / 5); if(decrInt == 0) { decrInt = 1; } + Integer size = this.getSlotStack(0).getCount(); + Integer burnModifier = 0; + if(size / 16 <= 1){ + burnModifier = 1; + } + if(size / 16 > 1 && size / 16 <= 2){ + burnModifier = 2; + } + if(size / 16 > 2 && size / 16 <= 3){ + burnModifier = 3; + } + if(size / 16 > 3 && size / 16 <= 4){ + burnModifier = 4; + } if (world.rand.nextInt(decrInt) == 0) { - this.decrStackSize(0, 1); - this.markDirty(); - this.updateBlock(); + if (world.rand.nextInt(burnModifier) == 0) { + System.out.println("Fuel Burn" + this.getSlotStack(0)); + this.decrStackSize(0, 1); + this.markDirty(); + this.updateBlock(); + } } if (this.getSlotStack(0).getCount() == 1){ this.decrStackSize(0, 1); this.markDirty(); this.updateBlock(); } - if(CommonUtils.randomCheck(200)) { + if(CommonUtils.randomCheck(1000)) { makeSmoke(world, pos); } } 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 ecebf265..6c1934df 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 @@ -63,21 +63,38 @@ public class TileForge extends TileBaseSlot implements ITickable { private void slotZeroManager(World world){ if(this.getSlotStack(0) != ItemStack.EMPTY) { - Integer decrInt = (int) Math.floor(getVanillaItemBurnTime(this.getSlotStack(0)) / 100); + Integer decrInt = (int) Math.floor(getVanillaItemBurnTime(this.getSlotStack(0)) / 5); if(decrInt == 0) { decrInt = 1; } + Integer size = this.getSlotStack(0).getCount(); + Integer burnModifier = 0; + if(size / 16 <= 1){ + burnModifier = 1; + } + if(size / 16 > 1 && size / 16 <= 2){ + burnModifier = 2; + } + if(size / 16 > 2 && size / 16 <= 3){ + burnModifier = 3; + } + if(size / 16 > 3 && size / 16 <= 4){ + burnModifier = 4; + } if (world.rand.nextInt(decrInt) == 0) { - this.decrStackSize(0, 1); - this.markDirty(); - this.updateBlock(); + if (world.rand.nextInt(burnModifier) == 0) { + System.out.println("Fuel Burn" + this.getSlotStack(0)); + this.decrStackSize(0, 1); + this.markDirty(); + this.updateBlock(); + } } if (this.getSlotStack(0).getCount() == 1){ this.decrStackSize(0, 1); this.markDirty(); this.updateBlock(); } - if(CommonUtils.randomCheck(200)) { + if(CommonUtils.randomCheck(1000)) { makeSmoke(world, pos); } } diff --git a/1.11/src/main/java/nmd/primal/forgecraft/util/BreakerHandler.java b/1.11/src/main/java/nmd/primal/forgecraft/util/BreakerHandler.java index 49c445dc..88e0c33a 100644 --- a/1.11/src/main/java/nmd/primal/forgecraft/util/BreakerHandler.java +++ b/1.11/src/main/java/nmd/primal/forgecraft/util/BreakerHandler.java @@ -1,16 +1,24 @@ package nmd.primal.forgecraft.util; +import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import net.minecraftforge.oredict.OreDictionary; +import nmd.primal.core.api.PrimalBlocks; import nmd.primal.core.api.PrimalItems; import nmd.primal.core.common.helper.PlayerHelper; import nmd.primal.forgecraft.blocks.CustomContainerFacing; +import nmd.primal.forgecraft.init.ModBlocks; import nmd.primal.forgecraft.tiles.TileBreaker; +import java.util.Arrays; + +import static net.minecraftforge.oredict.OreDictionary.getOreIDs; import static nmd.primal.core.common.helper.CommonUtils.randomCheck; //import nmd.primal.forgecraft.CommonUtils; @@ -20,56 +28,55 @@ import static nmd.primal.core.common.helper.CommonUtils.randomCheck; */ public interface BreakerHandler { - default void doBreaking (World world, IBlockState state, BlockPos pos, TileBreaker tile){ + default boolean hasOreName(ItemStack itemStack, String oreName) + { + int[] oreIds = OreDictionary.getOreIDs(itemStack); + for(int oreId : oreIds) + { + String oreNameEntry = OreDictionary.getOreName(oreId); + if(oreName.equals(oreNameEntry)) + { + return true; + } + } + return false; + } - if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.EAST) { + /* + int checkid = OreDictionary.getOreID(oreDictName); +for (int id:OreDictionary.getOreIDs(stack)) + if(id == checkid) return true; +return false; + */ - if(tile.getCharge() > getThreshold(world, pos.east())) { - if (world.getBlockState(pos.east()).getBlock() == Blocks.IRON_ORE) { - world.setBlockToAir(pos.east()); - PlayerHelper.spawnItemOnGround(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2))); +// somewhere else +//if(hasOreName(new ItemStack(Blocks.LOG), "logWood")) + // item is logWood - tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+1); + default void doBreaking(World world, IBlockState state, BlockPos pos, TileBreaker tile){ + for (EnumFacing face : EnumFacing.values()) { + if(world.getBlockState(pos).getValue(CustomContainerFacing.FACING) == face) { + if (tile.getCharge() > getThreshold(world, pos.offset(face))) { + Block smashBlock = world.getBlockState(pos.offset(face)).getBlock(); + ItemStack smashStack = new ItemStack(smashBlock, 1); + System.out.println(smashStack.getItem()); + if (hasOreName(smashStack, "oreIron")) { + world.setBlockToAir(pos.offset(face)); + PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2))); + tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1); + } + if (hasOreName(smashStack, "oreCopper")) { + world.setBlockToAir(pos.offset(face)); + PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.COPPER_DUST, randomChanceReturn(9, 1, 2))); + + tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1); + } + } else { + tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 10); } - } else { - tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+10); } + tile.setCharge(0.0f); } - if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.WEST) { - if(tile.getCharge() > getThreshold(world, pos.west())) { - if (world.getBlockState(pos.west()).getBlock() == Blocks.IRON_ORE) { - world.setBlockToAir(pos.west()); - PlayerHelper.spawnItemOnGround(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2))); - tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+1); - } - } else { - tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+10); - } - } - if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.SOUTH) { - if(tile.getCharge() > getThreshold(world, pos.south())) { - if (world.getBlockState(pos.south()).getBlock() == Blocks.IRON_ORE) { - world.setBlockToAir(pos.south()); - PlayerHelper.spawnItemOnGround(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2))); - tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+1); - } - } else { - tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+10); - } - } - if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.NORTH) { - if(tile.getCharge() > getThreshold(world, pos.north())) { - if (world.getBlockState(pos.north()).getBlock() == Blocks.IRON_ORE) { - world.setBlockToAir(pos.north()); - PlayerHelper.spawnItemOnGround(world, pos.east(), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2))); - tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+1); - } - } else { - //tile.getSlotStack(0).damageItem(10, (EntityPlayer) null); - tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage()+10); - } - } - tile.setCharge(0.0f); } default float getThreshold(World world, BlockPos pos){ diff --git a/1.11/src/main/resources/assets/forgecraft/lang/en_us.lang b/1.11/src/main/resources/assets/forgecraft/lang/en_us.lang index 03f2fb0a..8ea31af1 100644 --- a/1.11/src/main/resources/assets/forgecraft/lang/en_us.lang +++ b/1.11/src/main/resources/assets/forgecraft/lang/en_us.lang @@ -1,17 +1,24 @@ itemGroup.forgecraft=ForgeCraft + +tile.castingform.name=Casting Form +tile.castingblock.name=Casting Block tile.bloomery_adobe.name=Adobe Bloomery tile.bloomery_brick.name=Brick Bloomery - tile.forge_brick.name=Brick Forge tile.forge_adobe.name=Adobe Forge - tile.blockbreaker.name= Block Breaker - tile.stoneanvil.name=Stone Anvil tile.ironanvil.name=Iron Anvil -tile.pistonbellows.name=Wooden Piston Bellows + + +tile.pistonbellowsoak.name=Oak Piston Bellows +tile.pistonbellowsjungle.name=Jungle Piston Bellows +tile.pistonbellowsbirch.name=Birch Piston Bellows +tile.pistonbellowsspruce.name=Spruce Piston Bellows +tile.pistonbellowsdarkoak.name=Dark Oak Piston Bellows +tile.pistonbellowsacacia.name=Acacia Piston Bellows tile.emptycruciblehot.name=Empty Hot Crucible tile.emptycrucible.name=Empty Crucible @@ -19,6 +26,28 @@ tile.emptycruciblehit.name=Hot Empty Crucible tile.emptycruciblecracked.name= Cracked Empty Crucible tile.emptycruciblecrackedhot.name=Cracked Hot Empty Crucible +tile.rawbronzecrucible.name=Raw Bronze Crucible +tile.hotbronzecrucible.name=Hot Bronze Crucible +tile.hotcookedbronzecrucible.name=Finished Bronze Crucible + +tile.rawbronzecrucible_emerald.name=Raw Emerald Bronze Crucible +tile.hotbronzecrucible_emerald.name=Hot Emerald Bronze Crucible +tile.hotcookedbronzecrucible_emerald.name=Finished Emerald Bronze Crucible + +tile.rawbronzecrucible_diamond.name=Raw Diamond Bronze Crucible +tile.hotbronzecrucible_diamond.name=Hot Diamond Bronze Crucible +tile.hotcookedbronzecrucible_diamond.name=Finished Diamond Bronze Crucible + +tile.rawbronzecrucible_lapis.name=Raw Lapis Bronze Crucible +tile.hotbronzecrucible_lapis.name=Hot Lapis Bronze Crucible +tile.hotcookedbronzecrucible_lapis.name=Finished Lapis Bronze Crucible + +tile.rawbronzecrucible_redstone.name=Raw Redstone Bronze Crucible +tile.hotbronzecrucible_redstone.name=Hot Redstone Bronze Crucible +tile.hotcookedbronzecrucible_redstone.name=Finished Redstone Bronze Crucible + + + tile.rawironcrucible.name=Filled Iron Crucible tile.hotironcrucible.name=Hot Iron Crucible tile.hotcookedironcrucible.name=Hot Cooked Iron Crucible @@ -62,19 +91,33 @@ item.softcrucible.name=Soft Crucible item.stonetongs.name=Stone Tongs item.forgehammer.name=Forge Hammer +item.cast_axe.name=Axe Cast +item.cast_gladius.name=Gladius Cast +item.cast_pickaxe.name=Pickaxe Cast +item.cast_shovel.name=Shovel Cast +item.cast_hoe.name=Hoe Cast +item.bronzegladius.name=Bronze Gladius -item.ironingothot.name=Iron Ingot Hot -item.ironchunkhot.name=Iron Chunk Hot +item.ironingothot.name=Hot Iron Ingot +item.ironchunkhot.name=Hot Iron Chunk -item.cleanironingothot.name=Clean Iron Ingot Hot -item.cleanironchunkhot.name=Clean Iron Chunk Hot +item.ironcleaningotballhot.name=Hot Clean Iron Ingot +item.ironcleanchunkhot.name=Hot Clean Iron Chunk -item.steelingothot.name=Steel Ingot Hot -item.steelchunkhot.name=Steel Chunk Hot +item.steelingotballhot.name=Hot Steel Ingot +item.steelchunkhot.name=Hot Steel Chunk -item.wootzingothot.name=Damascus Steel Ingot Hot -item.wootzchunkhot.name=Damascus Steel Chunk Hot +item.wootzingothot.name=Hot Damascus Steel Ingot +item.wootzchunkhot.name=Hot Damascus Steel Chunk +item.bronzepickaxehead.name=Bronze Pickaxe Head +item.bronzeaxehead.name=Bronze Axe Head +item.bronzeshovelhead.name=Bronze Shovel Head +item.bronzehoehead.name=Bronze Hoe Head +item.bronzepickaxe.name=Bronze Pickaxe +item.bronzeaxe.name=Bronze Axe +item.bronzeshovel.name=Bronze Shovel +item.bronzehoe.name=Bronze Hoe item.ironpickaxehead.name=Iron Pickaxe Head item.ironaxehead.name=Iron Axe Head diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_0.json b/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_0.json new file mode 100644 index 00000000..4c0be917 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_0.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/axe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_1.json b/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_1.json new file mode 100644 index 00000000..f69edd84 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_1.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/axe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_emerald" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_2.json b/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_2.json new file mode 100644 index 00000000..db6abd4c --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_2.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/axe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_diamond" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_3.json b/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_3.json new file mode 100644 index 00000000..ef1651d1 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_3.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/axe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_redstone" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_4.json b/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_4.json new file mode 100644 index 00000000..6e05bf4a --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/axe/bronze/bronzeaxe_4.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/axe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_lapis" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/bronzeaxe.json b/1.11/src/main/resources/assets/forgecraft/models/item/bronzeaxe.json new file mode 100644 index 00000000..7c0ad504 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/bronzeaxe.json @@ -0,0 +1,20 @@ +{ + "parent": "forgecraft:item/axe", + "textures": { + "particle": "forgecraft:items/finished_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze" + }, + "overrides": [ + {"predicate": {"type": 0.0},"model": "forgecraft:item/axe/bronze/bronzeaxe_0"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/axe/bronze/bronzeaxe_1"}, + {"predicate": {"type": 0.2},"model": "forgecraft:item/axe/bronze/bronzeaxe_2"}, + {"predicate": {"type": 0.3},"model": "forgecraft:item/axe/bronze/bronzeaxe_3"}, + {"predicate": {"type": 0.4},"model": "forgecraft:item/axe/bronze/bronzeaxe_4"} + + ] +} + + + + diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/bronzehoe.json b/1.11/src/main/resources/assets/forgecraft/models/item/bronzehoe.json new file mode 100644 index 00000000..2a91e897 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/bronzehoe.json @@ -0,0 +1,20 @@ +{ + "parent": "forgecraft:item/hoe", + "textures": { + "particle": "forgecraft:items/finished_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze" + }, + "overrides": [ + {"predicate": {"type": 0.0},"model": "forgecraft:item/hoe/bronze/bronzehoe_0"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/hoe/bronze/bronzehoe_1"}, + {"predicate": {"type": 0.2},"model": "forgecraft:item/hoe/bronze/bronzehoe_2"}, + {"predicate": {"type": 0.3},"model": "forgecraft:item/hoe/bronze/bronzehoe_3"}, + {"predicate": {"type": 0.4},"model": "forgecraft:item/hoe/bronze/bronzehoe_4"} + + ] +} + + + + diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/bronzepickaxe.json b/1.11/src/main/resources/assets/forgecraft/models/item/bronzepickaxe.json new file mode 100644 index 00000000..da0069f2 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/bronzepickaxe.json @@ -0,0 +1,16 @@ +{ + "parent": "forgecraft:item/pickaxe", + "textures": { + "particle": "forgecraft:items/finished_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze" + }, + "overrides": [ + {"predicate": {"type": 0.0},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_0"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_1"}, + {"predicate": {"type": 0.2},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_2"}, + {"predicate": {"type": 0.3},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_3"}, + {"predicate": {"type": 0.4},"model": "forgecraft:item/pickaxe/bronze/bronzepickaxe_4"} + + ] +} \ No newline at end of file diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/bronzeshovel.json b/1.11/src/main/resources/assets/forgecraft/models/item/bronzeshovel.json new file mode 100644 index 00000000..ccf8b66a --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/bronzeshovel.json @@ -0,0 +1,16 @@ +{ + "parent": "forgecraft:item/shovel", + "textures": { + "particle": "forgecraft:items/finished_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze" + }, + "overrides": [ + {"predicate": {"type": 0.0},"model": "forgecraft:item/shovel/bronze/bronzeshovel_0"}, + {"predicate": {"type": 0.1},"model": "forgecraft:item/shovel/bronze/bronzeshovel_1"}, + {"predicate": {"type": 0.2},"model": "forgecraft:item/shovel/bronze/bronzeshovel_2"}, + {"predicate": {"type": 0.3},"model": "forgecraft:item/shovel/bronze/bronzeshovel_3"}, + {"predicate": {"type": 0.4},"model": "forgecraft:item/shovel/bronze/bronzeshovel_4"} + + ] +} \ No newline at end of file diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_0.json b/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_0.json new file mode 100644 index 00000000..fb3c1664 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_0.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/hoe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_1.json b/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_1.json new file mode 100644 index 00000000..ca1f3e95 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_1.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/hoe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_emerald" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_2.json b/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_2.json new file mode 100644 index 00000000..3c64c843 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_2.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/hoe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_diamond" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_3.json b/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_3.json new file mode 100644 index 00000000..3b73e74d --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_3.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/hoe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_redstone" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_4.json b/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_4.json new file mode 100644 index 00000000..076289ce --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/hoe/bronze/bronzehoe_4.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/hoe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_lapis" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_0.json b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_0.json new file mode 100644 index 00000000..6e856b4d --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_0.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/pickaxe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_1.json b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_1.json new file mode 100644 index 00000000..4efc805c --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_1.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/pickaxe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_emerald" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_2.json b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_2.json new file mode 100644 index 00000000..6d1fb639 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_2.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/pickaxe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_diamond" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_3.json b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_3.json new file mode 100644 index 00000000..f41180f0 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_3.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/pickaxe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_redstone" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_4.json b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_4.json new file mode 100644 index 00000000..60435782 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/pickaxe/bronze/bronzepickaxe_4.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/pickaxe", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_lapis" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_0.json b/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_0.json new file mode 100644 index 00000000..816f09b6 --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_0.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/shovel", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_1.json b/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_1.json new file mode 100644 index 00000000..0d6a203c --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_1.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/shovel", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_emerald" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_2.json b/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_2.json new file mode 100644 index 00000000..3e7570ec --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_2.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/shovel", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_diamond" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_3.json b/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_3.json new file mode 100644 index 00000000..ddf4ccdb --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_3.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/shovel", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_redstone" + } +} diff --git a/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_4.json b/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_4.json new file mode 100644 index 00000000..aefd549f --- /dev/null +++ b/1.11/src/main/resources/assets/forgecraft/models/item/shovel/bronze/bronzeshovel_4.json @@ -0,0 +1,8 @@ +{ + "parent": "forgecraft:item/shovel", + "textures": { + "particle": "forgecraft:items/raw_bronze", + "texture": "blocks/planks_oak", + "texture1": "forgecraft:items/finished_bronze_lapis" + } +}