diff --git a/exampleModifiers.xlsx b/exampleModifiers.xlsx new file mode 100644 index 00000000..7978068d Binary files /dev/null and b/exampleModifiers.xlsx differ diff --git a/kfc/To-Dos.md b/kfc/To-Dos.md index cae880ed..0bff0723 100644 --- a/kfc/To-Dos.md +++ b/kfc/To-Dos.md @@ -11,16 +11,25 @@ - [x] Anvil cool down items - [x] Longbow Fire Speed - [x] More Crafting for buckets -- [x] Config Usage - [x] Copper Tools -- [x] Config for lowering fortune multiplier - -- [ ] Copper Tool Casting -- [ ] Copper Tool Assets -- [ ] Emerald and redstone asset -- [ ] Diamond + Redstone no texture +- [x] Copper Tool Assets +- [x] Copper Ingots +- [x] Copper Tool Recipes +- [x] Tool Class Refactor into 1 with value for modifiers +- [x] Copper and Bronze have 1 upgrades +- [x] Wrought has 2 upgrades +- [x] Clean has 3 upgrades +- [x] Steel has 4 upgrades +- [x] Wootz has 5 upgrades +- [x] NBTCrucible Molten Crucible moved +- [x] Modifiers Print out for tool part +- [x] Copper Tools and Parts need names +- [x] When upgrading past max item dissapears +- [x] Create a method which adds the types of NBT upgrades and creates a unique float instead of using magic numbers +- [x] Tongs Rendering +- [ ] Copper Gladius - [ ] Craft Tweaker Support -- [ ] Hardened Leather Helmet Inventory Model + ## Feature Musket - [ ] Create powder charge item (copper, charcoal, gunpowder) @@ -34,9 +43,10 @@ - [ ] Create lock assembly item ## Backlog +- [ ] Hardened Leather Helmet Inventory Model +- [ ] Add Achievements - [ ] Bloomery Print out - [ ] Random Floats for hot texture - - [ ] Mass Ore Production - [ ] Silver/Lead Production - [ ] Sparks to forging @@ -44,7 +54,6 @@ - [ ] Add chainmail recipe - [ ] Add Iron Shield - [ ] Gold Smelting -- [ ] Create a method which adds the types of NBT upgrades and creates a unique float instead of using magic numbers - [ ] Add forgehammer to oreDict ### Tid-Bits diff --git a/kfc/gradle.properties b/kfc/gradle.properties index 49416ba1..c28b72ec 100644 --- a/kfc/gradle.properties +++ b/kfc/gradle.properties @@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx3G mod_group=nmd.primal.forgecraft mod_name=ForgeCraft -mod_version=1.6.14 +mod_version=1.6.15 forge_version=14.23.4.2744 mcp_mappings=snapshot_20171003 mc_version=1.12.2 diff --git a/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java b/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java index 39ec91eb..f0d2595a 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/CommonEvents.java @@ -5,16 +5,11 @@ 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.SimpleToolPart; 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.bronze.BronzeAxe; -import nmd.primal.forgecraft.items.tools.bronze.BronzeHoe; -import nmd.primal.forgecraft.items.tools.bronze.BronzePickaxe; -import nmd.primal.forgecraft.items.tools.bronze.BronzeShovel; import nmd.primal.forgecraft.util.ToolNBT; /** @@ -28,99 +23,35 @@ public class CommonEvents implements ToolNBT { if(!event.player.getEntityWorld().isRemote) { - 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 || a.getItem() instanceof SimpleToolPart) { - 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 (event.crafting.getItem() instanceof CustomPickaxe) { + doToolNBT(event); } - 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 || a.getItem() instanceof SimpleToolPart) { - 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 (event.crafting.getItem() instanceof CustomAxe ) { + doToolNBT(event); } - 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 || a.getItem() instanceof SimpleToolPart) { - 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 (event.crafting.getItem() instanceof CustomShovel ) { + doToolNBT(event); } - 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 || a.getItem() instanceof SimpleToolPart) { - 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 (event.crafting.getItem() instanceof CustomHoe) { + doToolNBT(event); } - if (event.crafting.getItem() instanceof ToolPart || event.crafting.getItem() instanceof SimpleToolPart) { - NBTTagCompound tempTag = new NBTTagCompound(); + if (event.crafting.getItem() instanceof ToolPart) { + 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 || 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 CustomAxe) { + doQuickNBT(event, i, a); } - 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 CustomPickaxe) { + doQuickNBT(event, i, a); } - 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 CustomShovel) { + doQuickNBT(event, i, a); } - 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()); - Integer tempDamage = event.craftMatrix.getStackInSlot(i).getItemDamage(); - event.crafting.setItemDamage(tempDamage); + if (a.getItem() instanceof CustomHoe) { + doQuickNBT(event, i, a); } } } @@ -128,5 +59,28 @@ public class CommonEvents implements ToolNBT { } } + private void doQuickNBT(PlayerEvent.ItemCraftedEvent event, Integer i, ItemStack a){ + NBTTagCompound tempTag; + 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); + } + private void doToolNBT(PlayerEvent.ItemCraftedEvent event) { + NBTTagCompound tempTag; + 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) { + 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()); + } + } + } + } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java index 9e455a91..7923ccb9 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java @@ -18,7 +18,7 @@ public class ModInfo { //public static final String MOD_PREFIX = MOD_ID + ":"; public static final String MOD_CHANNEL = MOD_ID; - public static final String MOD_VERSION = "1.6.14"; + public static final String MOD_VERSION = "1.6.15"; public static final String MC_VERSIONS = "[1.12.0, 1.13.0)"; public static final String DEPENDENCIES = "required-after:forge@[14.21.1.2400,);" + "required-after:primal@[0.6.69,);"; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java index 40d88406..5ff91c79 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java @@ -31,7 +31,6 @@ import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.init.ModBlocks; import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.items.SlottedTongs; -import nmd.primal.forgecraft.items.parts.SimpleToolPart; import nmd.primal.forgecraft.tiles.TileCastingForm; import nmd.primal.forgecraft.util.CastingFormHandler; import nmd.primal.forgecraft.util.ToolNBT; @@ -69,7 +68,7 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan SlottedTongs itemstackItem = (SlottedTongs) pItem.getItem(); ItemStack tongsStack = inventory.getStackInSlot(0).copy(); - SlottedTongs tongs = (SlottedTongs) pItem.getItem(); + //SlottedTongs tongs = (SlottedTongs) pItem.getItem(); if(tongsStack.getItem().equals(Item.getItemFromBlock(ModBlocks.nbtCrucible))) { NBTTagCompound tag = tongsStack.getTagCompound().copy(); @@ -78,21 +77,28 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan NonNullList ingList = NonNullList.withSize(5, ItemStack.EMPTY); NonNullList ingListEmpty = NonNullList.withSize(5, ItemStack.EMPTY); ItemStackHelper.loadAllItems(tag.getCompoundTag("BlockEntityTag"), ingList); + CrucibleCrafting crucibleRecipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4)); + if(crucibleRecipe != null){ if(tag.getCompoundTag("BlockEntityTag").getBoolean("status") && tag.getCompoundTag("BlockEntityTag").getInteger("hot") == 15){ Item[] tempArray = new Item[25]; for(int i=0; i<25; i++){ tempArray[i] = tile.getSlotStack(i).getItem(); } + System.out.println(crucibleRecipe.getDropsCooked()); - CastingCrafting casting = CastingCrafting.getRecipe(tongsStack, tempArray); + CastingCrafting casting = CastingCrafting.getRecipe(crucibleRecipe.getDropsCooked(), tempArray); if(casting != null){ NBTTagCompound tagOutput = casting.getOutput().getTagCompound(); NBTTagCompound crucibleOutput = crucibleRecipe.getDropsCooked().getTagCompound(); if(tagOutput != null) { ItemStack dropStack = casting.getOutput(); + + System.out.println(dropStack); + System.out.println(crucibleOutput); + dropStack.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = new NBTTagCompound(); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java index e70086a9..8e7ebfbb 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java @@ -31,7 +31,6 @@ public class AnvilCrafting { this.input = input; this.output = output; this.upgradeType = upgrade; - } // ***************************************************************************** // diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CastingCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CastingCrafting.java index a41a0906..a7933f45 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CastingCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CastingCrafting.java @@ -59,7 +59,7 @@ public class CastingCrafting { public static CastingCrafting getRecipe(ItemStack source, Item[] array) { for(CastingCrafting recipe : castingRecipes) { - if (source.isItemEqualIgnoreDurability(source)) { + if (source.getItem() == recipe.getSource().getItem() ) { if (Arrays.equals(array, recipe.input)) return recipe; } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java index cf4aca86..895bde12 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModConfig.java @@ -24,38 +24,20 @@ public final class ModConfig */ public static class Compatibility { - @Config.Comment({"Ore Dictionary Wootz steel for compatibility with common mod steel"}) - public static boolean COMPAT_DICTIONARY_WOOTZ_STEEL; + //@Config.Comment({"Ore Dictionary Wootz steel for compatibility with common mod steel"}) + //public static boolean COMPAT_DICTIONARY_WOOTZ_STEEL; } /** * Customize main features of the mod */ - //@Config.RequiresMcRestart - //@Config.Comment({"Config to allow or dissallow Copper Tools"}) - //public static boolean ENABLE_COPPER_TOOLS = false; - public static class Features { - @Config.RequiresMcRestart - @Config.Comment({"Config to allow or dissallow Copper Tools"}) - public static boolean ENABLE_COPPER_TOOLS = false; +// @Config.RequiresMcRestart +// @Config.Comment({"Config to allow or dissallow Copper Tools"}) +// public static boolean ENABLE_COPPER_TOOLS = false; - @Config.Comment({"Bronze Tool Lapis Bonus do not go greater than 5"}) - @Config.RangeInt(min = 0, max = 5) - public static int BRONZE_LAPIS_MULTIPLIER = 5; - - @Config.Comment({"Copper Tools Emerald Upgrade"}) - public static boolean ENABLE_COPPER_EMERALD = true; - - @Config.RequiresMcRestart - @Config.Comment({"Various forge blocks will set fire to their surroundings when active"}) - public static boolean FEATURE_ENABLE_FIRE = true; - - @Config.Comment({"Sample config for a numeric range"}) - @Config.RangeInt(min = 0, max = 1000) - public static int FEATURE_HEAT_RANGE = 0; } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java index 3211b5d2..2ab9f802 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -9,6 +9,7 @@ import net.minecraft.item.crafting.Ingredient; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreIngredient; +import net.minecraftforge.oredict.ShapedOreRecipe; import nmd.primal.core.api.PrimalAPI; import nmd.primal.core.common.recipes.irecipe.RecipeHandler; import nmd.primal.forgecraft.crafting.AnvilCrafting; @@ -65,7 +66,7 @@ public class ModCrafting{ - ItemStack[] toolArray = new ItemStack[20]; + ItemStack[] toolArray = new ItemStack[24]; ItemStack[] hotToolArray = new ItemStack[16]; ItemStack bronzepickaxehead = new ItemStack(ModItems.bronzepickaxehead, 1); @@ -133,6 +134,18 @@ public class ModCrafting{ wootzhoehead.setTagCompound(newTag); toolArray[19] = wootzhoehead; + ItemStack copperpickaxehead = new ItemStack(ModItems.copperpickaxehead, 1); + copperpickaxehead.setTagCompound(newTag); + toolArray[20] = copperpickaxehead; + ItemStack copperaxehead = new ItemStack(ModItems.copperaxehead, 1); + copperaxehead.setTagCompound(newTag); + toolArray[21] = copperaxehead; + ItemStack coppershovelhead = new ItemStack(ModItems.coppershovelhead, 1); + coppershovelhead.setTagCompound(newTag); + toolArray[22] =coppershovelhead ; + ItemStack copperhoehead = new ItemStack(ModItems.copperhoehead, 1); + copperhoehead.setTagCompound(newTag); + toolArray[23] = copperhoehead; ItemStack hotpickaxehead = pickaxehead.copy(); hotToolArray[0] =hotpickaxehead; @@ -210,6 +223,11 @@ public class ModCrafting{ wootzshovelhead = toolArray[18] ; wootzhoehead = toolArray[19]; + copperpickaxehead = toolArray[20]; + copperaxehead = toolArray[21]; + coppershovelhead = toolArray[22]; + copperhoehead = toolArray[23]; + for(ItemStack temp : hotToolArray) { //NBTTagCompound newTag = new NBTTagCompound(); NBTTagCompound tags = new NBTTagCompound(); @@ -252,7 +270,6 @@ public class ModCrafting{ /***CRUCIBLE CRAFTING***/ /***********************/ - CrucibleCrafting.addRecipe( new OreIngredient("oreIron"), Ingredient.EMPTY, @@ -373,8 +390,7 @@ public class ModCrafting{ 1800, 1500); -//TODO change plate recipe - + /***BRONZE***/ NBTTagCompound tagBronzeDefault = new NBTTagCompound(); tagBronzeDefault.setString("upgrades", ""); tagBronzeDefault.setBoolean("hot", false); @@ -502,7 +518,7 @@ public class ModCrafting{ new OreIngredient("dustCopper"), new OreIngredient("dustCopper"), new OreIngredient("dustTin"), - new OreIngredient("dustLapis"), + new OreIngredient("gemLapis"), new ItemStack(PrimalAPI.Items.SLAG, 1), lapisBronze, 1100, @@ -510,6 +526,143 @@ public class ModCrafting{ 600); + /***COPPER***/ + NBTTagCompound tagCopperDefault = new NBTTagCompound(); + tagCopperDefault.setString("upgrades", ""); + tagCopperDefault.setBoolean("hot", false); + ItemStack defaultCopper = new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1); + defaultCopper.setTagCompound(tagCopperDefault.copy()); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + defaultCopper, + 900, + 800, + 600); + + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + defaultCopper, + 900, + 750, + 550); + + ItemStack redCopper = defaultCopper.copy(); + redCopper.getTagCompound().setString("upgrades", "redstone"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("dustRedstone"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + redCopper, + 900, + 750, + 550); + + ItemStack diamondCopper = defaultCopper.copy(); + diamondCopper.getTagCompound().setString("upgrades", "diamond"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("flakeDiamond"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + diamondCopper, + 900, + 750, + 550); + + ItemStack emeraldCopper = defaultCopper.copy(); + emeraldCopper.getTagCompound().setString("upgrades", "emerald"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("flakeEmerald"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + emeraldCopper, + 900, + 750, + 550); + + ItemStack lapisCopper = defaultCopper.copy(); + lapisCopper.getTagCompound().setString("upgrades", "lapis"); + CrucibleCrafting.addRecipe( + new OreIngredient("ingotCopper"), + new OreIngredient("gemLapis"), + Ingredient.EMPTY, + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + lapisCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("dustRedstone"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + redCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("flakeDiamond"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + diamondCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("flakeEmerald"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + emeraldCopper, + 900, + 750, + 550); + + CrucibleCrafting.addRecipe( + new OreIngredient("oreCopper"), + Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)), + new OreIngredient("gemLapis"), + Ingredient.EMPTY, + Ingredient.EMPTY, + new ItemStack(PrimalAPI.Items.SLAG, 1), + lapisCopper, + 900, + 750, + 550); + + + /***CASTING FORM***/ RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.castingform, 1), true, new Object[]{" S ", "S S", " S ", @@ -595,27 +748,27 @@ public class ModCrafting{ ***************************************************************/ /***Pickaxe Crafting***/ - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzepickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzepickaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironpickaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.pickaxehead, 1, OreDictionary.WILDCARD_VALUE), //new ItemStack( 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironpickaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.cleanironpickaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelpickaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.steelpickaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzpickaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzpickaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.wootzpickaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); @@ -625,27 +778,27 @@ public class ModCrafting{ ('S'), Items.STICK); /***Axe Crafting***/ - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.bronzeaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.cleanironaxehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.steelaxehead,1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzaxe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzaxe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.wootzaxehead,1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); @@ -655,27 +808,27 @@ public class ModCrafting{ ('S'), Items.STICK); /***Shovel Crafting***/ - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeshovel, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.bronzeshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironshovel, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.ironshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironshovel, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.cleanironshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelshovel, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.steelshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzshovel, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzshovel, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.wootzshovelhead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); @@ -685,27 +838,27 @@ public class ModCrafting{ ('S'), Items.STICK); /***Hoe Crafting***/ - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzehoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzehoe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.bronzehoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironhoe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.ironhoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.cleanironhoe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.cleanironhoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.steelhoe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.steelhoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzhoe, 1, OreDictionary.WILDCARD_VALUE), "T", "C", "S", + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.wootzhoe, 1), "T", "C", "S", ('T'), new ItemStack(ModItems.wootzhoehead, 1, OreDictionary.WILDCARD_VALUE), ('S'), "stickTreatedWood", ('C'), "cordageGeneral"); @@ -721,7 +874,7 @@ public class ModCrafting{ //RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.ironaxehead, 1, OreDictionary.WILDCARD_VALUE), // " ", " X ", " ", 'X', ModItems.ironaxe); - RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxehead, 1, OreDictionary.WILDCARD_VALUE), + RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzeaxehead, 1), true, "X", ('X'), new ItemStack(ModItems.bronzeaxe, 1, OreDictionary.WILDCARD_VALUE)); RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.bronzepickaxehead, 1, OreDictionary.WILDCARD_VALUE), @@ -786,241 +939,6 @@ public class ModCrafting{ true, "X", ('X'), new ItemStack(ModItems.wootzhoe, 1, OreDictionary.WILDCARD_VALUE)); - /***************************************************************/ - - /***Bloomery Crafting***/ -/* -//Makes the Empty Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModItems.softcrucible, 1), - new ItemStack(ModBlocks.emptycruciblehot, 1), - new ItemStack(ModBlocks.emptycruciblecrackedhot, 1), - new ItemStack(ModBlocks.emptycrucible, 1), - 2000, - 1600, - 600, - 0.25f, - 0.25f); - -//Makes the Cracked Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.emptycruciblehot, 1), - new ItemStack(ModBlocks.emptycruciblecrackedhot, 1), - new ItemStack(ModBlocks.emptycruciblecrackedhot, 1), - new ItemStack(ModBlocks.emptycruciblecracked, 1), - 2250, - 9000, - 600, - 0.0f, - 0.0f); - - /* -//Makes the Hot Iron Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawironcrucible, 1), - new ItemStack(ModBlocks.hotironcrucible, 1), - new ItemStack(ModBlocks.hotironcrucible, 1), - new ItemStack(ModBlocks.rawironcrucible, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Iron Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotironcrucible, 1), - new ItemStack(ModBlocks.hotcookedironcrucible, 1), - new ItemStack(ModBlocks.failedironcruciblehot, 1), - new ItemStack(ModBlocks.coolironcrucible, 1), - 1400, - 1200, - 800, - 0.33f, - 0.5f - ); - -//Makes the Hot Clean Iron Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawcleanironcrucible, 1), - new ItemStack(ModBlocks.hotcleanironcrucible, 1), - new ItemStack(ModBlocks.hotcleanironcrucible, 1), - new ItemStack(ModBlocks.rawcleanironcrucible, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Clean Iron Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotcleanironcrucible, 1), - new ItemStack(ModBlocks.hotcookedcleanironcrucible, 1), - new ItemStack(ModBlocks.failedcleanironcrucible, 1), - new ItemStack(ModBlocks.coolcleanironcrucible, 1), - 1550, - 1200, - 800, - 0.33f, - 0.5f - ); - - //Makes the Hot Steel Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawsteelcrucible, 1), - new ItemStack(ModBlocks.hotsteelcrucible, 1), - new ItemStack(ModBlocks.hotsteelcrucible, 1), - new ItemStack(ModBlocks.rawsteelcrucible, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Steel Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotsteelcrucible, 1), - new ItemStack(ModBlocks.hotcookedsteelcrucible, 1), - new ItemStack(ModBlocks.failedsteelcrucible, 1), - new ItemStack(ModBlocks.coolsteelcrucible, 1), - 2100, - 1500, - 1000, - 0.2f, - 0.25f - ); - */ - /* - //Makes the Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawbronzecrucible, 1), - new ItemStack(ModBlocks.hotbronzecrucible, 1), - new ItemStack(ModBlocks.hotbronzecrucible, 1), - new ItemStack(ModBlocks.rawbronzecrucible, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotbronzecrucible, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible, 1), - new ItemStack(ModBlocks.rawbronzecrucible, 1), - 1100, - 800, - 600, - 0.5f, - 0.5f - ); - - //Makes the Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.hotbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.hotbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.rawbronzecrucible_diamond, 1), - 800, - 800, - 500, - 0.5f, - 0.5f - ); - -//Makes the Finished Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_diamond, 1), - new ItemStack(ModBlocks.rawbronzecrucible_diamond, 1), - 1100, - 1100, - 600, - 0.5f, - 0.5f - ); - //Makes the Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.hotbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.hotbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.rawbronzecrucible_redstone, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_redstone, 1), - new ItemStack(ModBlocks.rawbronzecrucible_redstone, 1), - 1100, - 1100, - 600, - 0.5f, - 0.5f - ); -//Makes the Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.hotbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.hotbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.rawbronzecrucible_emerald, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_emerald, 1), - new ItemStack(ModBlocks.rawbronzecrucible_emerald, 1), - 1100, - 1100, - 600, - 0.5f, - 0.5f - ); - //Makes the Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.rawbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.hotbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.hotbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.rawbronzecrucible_lapis, 1), - 800, - 20, - 500, - 0.5f, - 0.0f - ); - -//Makes the Finished Hot Bronze Crucible - BloomeryCrafting.addRecipe( - new ItemStack(ModBlocks.hotbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.hotcookedbronzecrucible_lapis, 1), - new ItemStack(ModBlocks.rawbronzecrucible_lapis, 1), - 1100, - 1100, - 600, - 0.5f, - 0.5f - ); - */ /****************************************************************************** @@ -1102,6 +1020,80 @@ public class ModCrafting{ new ItemStack(PrimalAPI.Items.BRONZE_PLATE, 1) ); + //Casting Pickaxe + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[]{ + muddd, muddd, muddd, muddd, muddd, + muddd, empty, empty, empty, muddd, + empty, muddd, muddd, muddd, empty, + muddd, muddd, muddd, muddd, muddd, + muddd, muddd, muddd, muddd, muddd}, + copperpickaxehead + ); + + //Casting Shovel + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[]{ + muddd, muddd, muddd, muddd, muddd, + muddd, muddd, empty, muddd, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, muddd, empty, muddd}, + coppershovelhead + ); + + //Casting Axe + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[]{ + muddd, empty, empty, muddd, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, muddd, muddd, muddd, + muddd, muddd, muddd, muddd, muddd}, + copperaxehead + ); + + //Casting Hoe + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[]{ + muddd, muddd, muddd, empty, empty, + muddd, muddd, empty, muddd, muddd, + muddd, empty, muddd, muddd, muddd, + empty, muddd, muddd, muddd, muddd, + muddd, muddd, muddd, muddd, muddd}, + copperhoehead + ); +/* + //Casting Gladius + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[] { + muddd,muddd,muddd,muddd,muddd, + muddd,muddd,empty,muddd,muddd, + muddd,muddd,empty,muddd,muddd, + muddd,empty,empty,empty,muddd, + muddd,muddd,empty,muddd,muddd }, + new ItemStack(ModItems.coppergladius, 1) + ); +*/ + + //Casting Bronze Plate + CastingCrafting.addRecipe( + new ItemStack(PrimalAPI.Items.COPPER_INGOT, 1), + new Item[]{ + muddd, muddd, muddd, muddd, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, empty, empty, muddd, + muddd, empty, empty, empty, muddd, + muddd, muddd, muddd, muddd, muddd}, + new ItemStack(PrimalAPI.Items.COPPER_PLATE, 1) + ); + + /****************************************************************************** FORGING ******************************************************************************/ diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java index 3c663149..0c50f2f6 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModItems.java @@ -12,20 +12,11 @@ import nmd.primal.core.api.PrimalAPI; import nmd.primal.forgecraft.items.*; import nmd.primal.forgecraft.items.armor.CustomHelmet; import nmd.primal.forgecraft.items.blocks.ItemNBTCrucible; -import nmd.primal.forgecraft.items.parts.SimpleToolPart; 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.bronze.BronzeAxe; -import nmd.primal.forgecraft.items.tools.bronze.BronzeHoe; -import nmd.primal.forgecraft.items.tools.bronze.BronzePickaxe; -import nmd.primal.forgecraft.items.tools.bronze.BronzeShovel; -import nmd.primal.forgecraft.items.tools.copper.CopperAxe; -import nmd.primal.forgecraft.items.tools.copper.CopperHoe; -import nmd.primal.forgecraft.items.tools.copper.CopperPickaxe; -import nmd.primal.forgecraft.items.tools.copper.CopperShovel; import nmd.primal.forgecraft.items.weapons.CustomShield; import nmd.primal.forgecraft.items.weapons.CustomSword; import nmd.primal.forgecraft.items.weapons.Longbow; @@ -159,6 +150,7 @@ public class ModItems { //public static Item forgingmanual; public static void init() { + //OBJLoader.INSTANCE.addDomain(ModInfo.MOD_ID); //pistonbellows = new ItemBellowsHandle("pistonbellows"); itemnbtcrucible = new ItemNBTCrucible("itemnbtcrucible", ModBlocks.nbtCrucible); @@ -178,22 +170,21 @@ public class ModItems { /********** TOOL PARTS **********/ - if(ModConfig.Features.ENABLE_COPPER_TOOLS){ - copperpickaxehead = new SimpleToolPart("copperpickaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "pickaxe"); - copperaxehead = new SimpleToolPart("copperaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "axe"); - coppershovelhead= new SimpleToolPart("coppershovelhead", PrimalAPI.ToolMaterials.TOOL_COPPER, "shovel"); - copperhoehead = new SimpleToolPart("copperhoehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "hoe"); + copperpickaxehead = new ToolPart("copperpickaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "pickaxe"); + copperaxehead = new ToolPart("copperaxehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "axe"); + coppershovelhead= new ToolPart("coppershovelhead", PrimalAPI.ToolMaterials.TOOL_COPPER, "shovel"); + copperhoehead = new ToolPart("copperhoehead", PrimalAPI.ToolMaterials.TOOL_COPPER, "hoe"); - copperpickaxe = new CopperPickaxe("copperpickaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); - copperaxe = new CopperAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F); - coppershovel = new CopperShovel("coppershovel", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); - copperhoe = new CopperHoe("copperhoe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); - } + copperpickaxe = new CustomPickaxe("copperpickaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); + copperaxe = new CustomAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F); + coppershovel = new CustomShovel("coppershovel", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); + copperhoe = new CustomHoe("copperhoe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool); - bronzepickaxehead = new SimpleToolPart("bronzepickaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "pickaxe"); - bronzeaxehead = new SimpleToolPart("bronzeaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "axe"); - bronzeshovelhead = new SimpleToolPart("bronzeshovelhead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "shovel"); - bronzehoehead = new SimpleToolPart("bronzehoehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "hoe"); + + bronzepickaxehead = new ToolPart("bronzepickaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "pickaxe"); + bronzeaxehead = new ToolPart("bronzeaxehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "axe"); + bronzeshovelhead = new ToolPart("bronzeshovelhead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "shovel"); + bronzehoehead = new ToolPart("bronzehoehead", PrimalAPI.ToolMaterials.TOOL_BRONZE, "hoe"); pickaxehead = new ToolPart("ironpickaxehead", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, "pickaxe"); ironaxehead = new ToolPart("ironaxehead", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, "axe"); @@ -218,10 +209,10 @@ public class ModItems { /********** TOOLS **********/ - bronzepickaxe = new BronzePickaxe("bronzepickaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzepickaxehead); - bronzeaxe = new BronzeAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f); - bronzeshovel = new BronzeShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead); - bronzehoe = new BronzeHoe("bronzehoe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzehoehead); + bronzepickaxe = new CustomPickaxe("bronzepickaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzepickaxehead); + bronzeaxe = new CustomAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f); + bronzeshovel = new CustomShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead); + bronzehoe = new CustomHoe("bronzehoe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzehoehead); ironpickaxe = new CustomPickaxe("ironpickaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, pickaxehead); ironaxe = new CustomAxe("ironaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironaxehead, 5, -3.6f); @@ -325,17 +316,17 @@ public class ModItems { /********** TOOL PARTS **********/ - if(ModConfig.Features.ENABLE_COPPER_TOOLS){ - ForgeRegistries.ITEMS.register(copperpickaxehead); - ForgeRegistries.ITEMS.register(copperaxehead); - ForgeRegistries.ITEMS.register(coppershovelhead); - ForgeRegistries.ITEMS.register(copperhoehead); - ForgeRegistries.ITEMS.register(copperpickaxe); - ForgeRegistries.ITEMS.register(copperaxe); - ForgeRegistries.ITEMS.register(coppershovel); - ForgeRegistries.ITEMS.register(copperhoe); - } + ForgeRegistries.ITEMS.register(copperpickaxehead); + ForgeRegistries.ITEMS.register(copperaxehead); + ForgeRegistries.ITEMS.register(coppershovelhead); + ForgeRegistries.ITEMS.register(copperhoehead); + + ForgeRegistries.ITEMS.register(copperpickaxe); + ForgeRegistries.ITEMS.register(copperaxe); + ForgeRegistries.ITEMS.register(coppershovel); + ForgeRegistries.ITEMS.register(copperhoe); + ForgeRegistries.ITEMS.register(bronzepickaxehead); ForgeRegistries.ITEMS.register(bronzeaxehead); @@ -459,17 +450,16 @@ public class ModItems { TOOL PARTS **********/ - if(ModConfig.Features.ENABLE_COPPER_TOOLS){ - registerRender(copperpickaxehead); - registerRender(copperaxehead); - registerRender(coppershovelhead); - registerRender(copperhoehead); + registerRender(copperpickaxehead); + registerRender(copperaxehead); + registerRender(coppershovelhead); + registerRender(copperhoehead); + + registerRender(copperpickaxe); + registerRender(copperaxe); + registerRender(coppershovel); + registerRender(copperhoe); - registerRender(copperpickaxe); - registerRender(copperaxe); - registerRender(coppershovel); - registerRender(copperhoe); - } registerRender(bronzepickaxehead); registerRender(bronzeaxehead); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/SimpleToolPart.java b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/SimpleToolPart.java deleted file mode 100644 index 3a693335..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/SimpleToolPart.java +++ /dev/null @@ -1,141 +0,0 @@ -package nmd.primal.forgecraft.items.parts; - -import com.mojang.realmsclient.gui.ChatFormatting; -import net.minecraft.client.util.ITooltipFlag; -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.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.util.ToolNBT; - -import javax.annotation.Nullable; -import java.util.List; - -/** - * Created by mminaie on 3/9/17. - */ -public class SimpleToolPart extends Item implements ToolNBT{ - - private String toolType; - - public SimpleToolPart(String name, ToolMaterial material, String type) { - this.setMaxDamage(material.getMaxUses()); - this.setUnlocalizedName(name); - this.setRegistryName(name); - this.setCreativeTab(ModInfo.TAB_FORGECRAFT); - this.setMaxStackSize(1); - this.setNoRepair(); - - this.toolType = type; - - this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { - - /*** - - hot | emerald | diamond | redstone | lapis - X.0 | 0.X | 0.0X | 0.00X | 0.000X - - ***/ - - @SideOnly(Side.CLIENT) - public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { - if (item.hasTagCompound()) { - Float returnFloat = 0.0F; - if(getHot(item)){ - returnFloat = returnFloat + 1.0F; - } - if(getEmerald(item)){ - returnFloat += 0.1F; - } - if(getDiamondLevel(item)>0){ - returnFloat += (0.01F * getDiamondLevel(item)); - } - if(getRedstoneLevel(item)>0){ - returnFloat += (0.001F * getRedstoneLevel(item)); - } - if(getLapisLevel(item)>0){ - returnFloat += (0.0001F * getLapisLevel(item)); - } - return returnFloat; - } - return 0.0F; - } - }); - } - - public static boolean isHidden() - { - return false; - } - - public String getID() { - return toolType; - } - - @Override - public void onCreated(ItemStack item, World worldIn, EntityPlayer playerIn) { - - 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); - } - - } - - @Override - public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { - 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); - } - - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) - { - if(item.hasTagCompound()) - { - tooltip.add(ChatFormatting.GRAY + "Upgrades: " + getModifiers(item)); - if (getEmerald(item)) { - 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: " + getRedstoneLevel(item)); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item)); - } - } - } -} \ No newline at end of file diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java index 5ff9997b..b7aa1125 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java @@ -1,6 +1,7 @@ package nmd.primal.forgecraft.items.parts; import com.mojang.realmsclient.gui.ChatFormatting; +import net.minecraft.client.renderer.color.IItemColor; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -13,10 +14,14 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundCategory; import net.minecraft.world.World; +import net.minecraftforge.client.event.ColorHandlerEvent; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.api.PrimalAPI; import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.util.ToolMaterialMap; import nmd.primal.forgecraft.util.ToolNBT; import javax.annotation.Nullable; @@ -54,9 +59,6 @@ public class ToolPart extends Item implements ToolNBT{ public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { if (item.hasTagCompound()) { Float returnFloat = 0.0F; - if(getHot(item)){ - returnFloat = returnFloat + 1.0F; - } if(getEmerald(item)){ returnFloat += 0.1F; } @@ -69,13 +71,20 @@ public class ToolPart extends Item implements ToolNBT{ if(getLapisLevel(item)>0){ returnFloat += (0.0001F * getLapisLevel(item)); } + if(getHot(item)){ + returnFloat = 1.0F; + } return returnFloat; } return 0.0F; } }); + + + } + public static boolean isHidden() { return false; @@ -86,9 +95,7 @@ public class ToolPart extends Item implements ToolNBT{ } public ToolMaterial getMaterial() {return toolMaterial;} - @Override - public void onCreated(ItemStack item, World worldIn, EntityPlayer playerIn) { - + public void createDefaultNBT(ItemStack item){ if (!item.hasTagCompound()) { item.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = new NBTTagCompound(); @@ -102,25 +109,19 @@ public class ToolPart extends Item implements ToolNBT{ setLapisLevel(item, 0); setModifiers(item, 0); } + } + + @Override + public void onCreated(ItemStack item, World worldIn, EntityPlayer playerIn) { + + createDefaultNBT(item); } @Override public void onUpdate(ItemStack item, World world, Entity player, int itemSlot, boolean isSelected) { //System.out.println(item.getTagCompound()); - 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); - } + createDefaultNBT(item); if (item.hasTagCompound()) { if (item.getSubCompound("tags").getBoolean("hot")) { player.setFire(1); @@ -172,8 +173,8 @@ public class ToolPart extends Item implements ToolNBT{ { if(item.hasTagCompound()) { - tooltip.add(ChatFormatting.GRAY + "Upgrades"); - if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.GRAY + "Upgrades left: " + (ToolMaterialMap.materialModifiers.get( this.getMaterial()) - getModifiers(item))); + if (getEmerald(item)) { tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); } if (getDiamondLevel(item) > 0) { diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java index fcfa6ffb..3dd55c67 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractAxe.java @@ -19,6 +19,7 @@ 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.util.ToolMaterialMap; import nmd.primal.forgecraft.util.ToolNBT; import javax.annotation.Nullable; @@ -51,9 +52,6 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { if (item.hasTagCompound()) { Float returnFloat = 0.0F; - if(getHot(item)){ - returnFloat = returnFloat + 1.0F; - } if(getEmerald(item)){ returnFloat += 0.1F; } @@ -66,6 +64,9 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { if(getLapisLevel(item)>0){ returnFloat += (0.0001F * getLapisLevel(item)); } + if(getHot(item)){ + returnFloat = 1.0F; + } return returnFloat; } return 0.0F; @@ -137,8 +138,8 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { { if (item.hasTagCompound()) { - tooltip.add(ChatFormatting.GRAY + "Upgrades added: " + (getModifiers(item)) ); - if (getEmerald(item) == true) { + tooltip.add(ChatFormatting.GRAY + "Upgrades left: " + (ToolMaterialMap.materialModifiers.get(this.toolMaterial) - getModifiers(item))); + if (getEmerald(item)) { tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); } if (getDiamondLevel(item) > 0) { @@ -239,7 +240,7 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { if(material != Material.WOOD && material != Material.PLANTS && material != Material.VINE){ return super.getDestroySpeed(stack, state); } else { - return this.efficiency * ( (this.getRedstoneLevel(stack) * 2 )); + return this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1); } } @@ -257,6 +258,7 @@ public abstract class AbstractAxe extends ItemAxe implements ToolNBT { return false; } + @Override public int getItemEnchantability(ItemStack stack) { return 0; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java index 3bc1d509..3929d590 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractHoe.java @@ -7,10 +7,12 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.SoundEvents; +import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundCategory; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -36,6 +38,39 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT { this.setMaxStackSize(1); this.setNoRepair(); this.drop = damageDrop; + this.addPropertyOverride(new ResourceLocation("type"), new IItemPropertyGetter() { + + /*** + + hot | emerald | diamond | redstone | lapis + X.0 | 0.X | 0.0X | 0.00X | 0.000X + + ***/ + + @SideOnly(Side.CLIENT) + public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { + if (item.hasTagCompound()) { + Float returnFloat = 0.0F; + if(getEmerald(item)){ + returnFloat += 0.1F; + } + if(getDiamondLevel(item)>0){ + returnFloat += (0.01F * getDiamondLevel(item)); + } + if(getRedstoneLevel(item)>0){ + returnFloat += (0.001F * getRedstoneLevel(item)); + } + if(getLapisLevel(item)>0){ + returnFloat += (0.0001F * getLapisLevel(item)); + } + if(getHot(item)){ + returnFloat = 1.0F; + } + return returnFloat; + } + return 0.0F; + } + }); } public static boolean isHidden() @@ -91,33 +126,32 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT { } } - //public void onItemTooltip(ItemTooltipEvent event){ - @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack item, @Nullable World world, List tooltip, ITooltipFlag flagIn) { - if(item.hasTagCompound()) + if(!item.isEmpty()) { - tooltip.add(ChatFormatting.GRAY + "Upgrades: " + (getModifiers(item)) ); - if (getEmerald(item) == true) { - tooltip.add(ChatFormatting.DARK_GREEN + "Emerald"); + if (item.hasTagCompound()) + { + tooltip.add(ChatFormatting.GRAY + "Upgrades added: " + (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: " + getRedstoneLevel(item) ); + } + if (getLapisLevel(item) > 0) { + tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); + } + tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); } - if (getDiamondLevel(item) > 0) { - tooltip.add(ChatFormatting.AQUA + "Diamond Level: " + getDiamondLevel(item)); - } - if (getRedstoneLevel(item) > 0) { - tooltip.add(ChatFormatting.RED + "Redstone Level: " + getRedstoneLevel(item) ); - } - if (getLapisLevel(item) > 0) { - tooltip.add(ChatFormatting.BLUE + "Lapis Level: " + getLapisLevel(item) ); - } - tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() ); } - } - @Override protected void setBlock(ItemStack stack, EntityPlayer player, World worldIn, BlockPos pos, IBlockState state) { @@ -204,6 +238,7 @@ public abstract class AbstractHoe extends ItemHoe implements ToolNBT { return false; } + @Override public int getItemEnchantability(ItemStack stack) { return 0; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java index 91c88eff..e44ddfeb 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractPickaxe.java @@ -51,9 +51,6 @@ public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT { public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { if (item.hasTagCompound()) { Float returnFloat = 0.0F; - if(getHot(item)){ - returnFloat = returnFloat + 1.0F; - } if(getEmerald(item)){ returnFloat += 0.1F; } @@ -66,6 +63,9 @@ public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT { if(getLapisLevel(item)>0){ returnFloat += (0.0001F * getLapisLevel(item)); } + if(getHot(item)){ + returnFloat = 1.0F; + } return returnFloat; } return 0.0F; @@ -221,6 +221,7 @@ public abstract class AbstractPickaxe extends ItemPickaxe implements ToolNBT { return false; } + @Override public int getItemEnchantability(ItemStack stack) { return 0; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java index 6c3ae3ef..986a03e3 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/AbstractShovel.java @@ -55,9 +55,6 @@ public class AbstractShovel extends ItemSpade implements ToolNBT { public float apply(ItemStack item, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { if (item.hasTagCompound()) { Float returnFloat = 0.0F; - if(getHot(item)){ - returnFloat = returnFloat + 1.0F; - } if(getEmerald(item)){ returnFloat += 0.1F; } @@ -70,6 +67,9 @@ public class AbstractShovel extends ItemSpade implements ToolNBT { if(getLapisLevel(item)>0){ returnFloat += (0.0001F * getLapisLevel(item)); } + if(getHot(item)){ + returnFloat = 1.0F; + } return returnFloat; } return 0.0F; @@ -211,7 +211,7 @@ public class AbstractShovel extends ItemSpade implements ToolNBT { for (String type : getToolClasses(stack)) { if (state.getBlock().isToolEffective(type, state)) - return efficiency; + return (efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1)); } return this.EFFECTIVE_ON.contains(state.getBlock()) ? (this.efficiency * ( (this.getRedstoneLevel(stack) * 2 ) + 1)) : 1.0F; } @@ -229,6 +229,7 @@ public class AbstractShovel extends ItemSpade implements ToolNBT { return false; } + @Override public int getItemEnchantability(ItemStack stack) { return 0; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java index 6ab055c2..f9042506 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomAxe.java @@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; import nmd.primal.forgecraft.util.ToolNBT; /** @@ -23,7 +22,6 @@ public class CustomAxe extends AbstractAxe implements ToolNBT { public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { if(!player.world.isRemote){ - World world = player.getEntityWorld(); if(itemstack.getItem() instanceof CustomAxe){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java index 789d3a26..fe21acbf 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomHoe.java @@ -1,20 +1,12 @@ package nmd.primal.forgecraft.items.tools; import net.minecraft.enchantment.Enchantment; -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.ItemStack; -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.forgecraft.util.ToolNBT; -import javax.annotation.Nullable; - /** * Created by mminaie on 3/21/17. */ @@ -24,191 +16,13 @@ public class CustomHoe extends AbstractHoe implements ToolNBT { public CustomHoe(String name, Item.ToolMaterial material, Item damageDrop) { super(name, material, damageDrop); - 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 (getHot(item) == false) { - if (getModifiers(item) != 0) { - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.1F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.11F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.12F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.111F; - } - - if ( (getEmerald(item) == true) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.102F; - } - - // ============ - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.01F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.02F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 3) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 0)) { - return 0.03F; - } - - //======= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.001F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.002F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 3) && - (getLapisLevel(item) == 0)) { - return 0.003F; - } - - //========= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 1)) { - return 0.0001F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2)) { - return 0.0002F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 3)) { - return 0.0003F; - } - - //======= - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 1)) { - return 0.0111F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 2) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 0)) { - return 0.021F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 0)) { - return 0.012F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 1) && - (getLapisLevel(item) == 2)) { - return 0.0012F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 0) && - (getRedstoneLevel(item) == 2) && - (getLapisLevel(item) == 1)) { - return 0.0021F; - } - - if ( (getEmerald(item) == false) && - (getDiamondLevel(item) == 1) && - (getRedstoneLevel(item) == 0) && - (getLapisLevel(item) == 2) ) { - return 0.0102F; - } - } - } - if (getHot(item) == true) { - return 1.0F; - } - - if (getHot(item) == false) { - if (getModifiers(item) == 0) { - return 0.0F; - } - } - } - return 0.0F; - } - }); } @Override public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { if(!player.world.isRemote){ - World world = player.getEntityWorld(); - if(itemstack.getItem() instanceof CustomHoe){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java index c725e5a9..9aa3e1f3 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomPickaxe.java @@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; import nmd.primal.forgecraft.util.ToolNBT; /** @@ -23,8 +22,6 @@ public class CustomPickaxe extends AbstractPickaxe implements ToolNBT{ 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 CustomPickaxe){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java index 977e794f..b616b845 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/CustomShovel.java @@ -5,7 +5,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; import nmd.primal.forgecraft.util.ToolNBT; /** @@ -14,6 +13,7 @@ import nmd.primal.forgecraft.util.ToolNBT; public class CustomShovel extends AbstractShovel implements ToolNBT { public CustomShovel(String name, Item.ToolMaterial material, Item damageDrop) { + super(name, material, damageDrop); } @@ -21,7 +21,6 @@ public class CustomShovel extends AbstractShovel implements ToolNBT { public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) { if(!player.world.isRemote){ - World world = player.getEntityWorld(); if(itemstack.getItem() instanceof CustomShovel){ if( getEmerald(itemstack)){ itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java deleted file mode 100644 index 293efd80..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeAxe.java +++ /dev/null @@ -1,61 +0,0 @@ -package nmd.primal.forgecraft.items.tools.bronze; - -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractAxe; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 6/25/17. - */ -public class BronzeAxe extends AbstractAxe implements ToolNBT { - - Item drop; - - public BronzeAxe(String name, Item.ToolMaterial material, Item damageDrop, Integer damage, Float speed) { - super(name, material, damageDrop, damage, speed); - } - - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - //System.out.println(world.getBlockState(pos).getBlock()); - if(itemstack.getItem() instanceof BronzeAxe){ - 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), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); - } - } - } - - return false; - } - - @Override - public float getDestroySpeed(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.getDestroySpeed(stack, state); - } else { - return this.efficiency + 1; - } - - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java deleted file mode 100644 index 55e312b2..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeHoe.java +++ /dev/null @@ -1,56 +0,0 @@ -package nmd.primal.forgecraft.items.tools.bronze; - -import net.minecraft.enchantment.Enchantment; -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.ItemStack; -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.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractHoe; -import nmd.primal.forgecraft.util.ToolNBT; - -import javax.annotation.Nullable; - -/** - * Created by mminaie on 3/21/17. - */ -public class BronzeHoe extends AbstractHoe implements ToolNBT { - - public BronzeHoe(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - } - - @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), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); - } - } - } - - return false; - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java deleted file mode 100644 index 6bcc5a5f..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzePickaxe.java +++ /dev/null @@ -1,48 +0,0 @@ -package nmd.primal.forgecraft.items.tools.bronze; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractPickaxe; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 3/14/17. - */ -public class BronzePickaxe extends AbstractPickaxe implements ToolNBT { - - private Item drop; - - public BronzePickaxe(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - } - - - @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), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); - } - } - } - return false; - } - - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java deleted file mode 100644 index 8e16a29d..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/bronze/BronzeShovel.java +++ /dev/null @@ -1,52 +0,0 @@ -package nmd.primal.forgecraft.items.tools.bronze; - -import net.minecraft.block.state.IBlockState; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractShovel; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 3/21/17. - */ -public class BronzeShovel extends AbstractShovel implements ToolNBT { - - public BronzeShovel(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - } - - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - - if(itemstack.getItem() instanceof BronzeShovel){ - if( getEmerald(itemstack)){ - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - if ( getLapisLevel(itemstack) > 0) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(35), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); - } - } - } - - return false; - } - - @Override - public float getDestroySpeed(ItemStack stack, IBlockState state) - { - for (String type : getToolClasses(stack)) - { - if (state.getBlock().isToolEffective(type, state)) - return efficiency; - } - return this.efficiency + 1; - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperAxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperAxe.java deleted file mode 100644 index 85d2cc26..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperAxe.java +++ /dev/null @@ -1,63 +0,0 @@ -package nmd.primal.forgecraft.items.tools.copper; - -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractAxe; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 6/25/17. - */ -public class CopperAxe extends AbstractAxe implements ToolNBT { - - Item drop; - - public CopperAxe(String name, ToolMaterial material, Item damageDrop, Integer damage, Float speed) { - super(name, material, damageDrop, damage, speed); - } - - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - //System.out.println(world.getBlockState(pos).getBlock()); - if(itemstack.getItem() instanceof CopperAxe){ - if(ModConfig.Features.ENABLE_COPPER_EMERALD) { - 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), ModConfig.Features.BRONZE_LAPIS_MULTIPLIER); - }*/ - } - } - - return false; - } - - @Override - public float getDestroySpeed(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.getDestroySpeed(stack, state); - } else { - return this.efficiency + 1; - } - - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperHoe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperHoe.java deleted file mode 100644 index 28af9b97..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperHoe.java +++ /dev/null @@ -1,45 +0,0 @@ -package nmd.primal.forgecraft.items.tools.copper; - -import net.minecraft.enchantment.Enchantment; -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.ItemStack; -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.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractHoe; -import nmd.primal.forgecraft.util.ToolNBT; - -import javax.annotation.Nullable; - -/** - * Created by mminaie on 3/21/17. - */ -public class CopperHoe extends AbstractHoe implements ToolNBT { - - public CopperHoe(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - - } - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - World world = player.getEntityWorld(); - if(ModConfig.Features.ENABLE_COPPER_EMERALD) { - if (getEmerald(itemstack)) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - } - } - - return false; - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperPickaxe.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperPickaxe.java deleted file mode 100644 index a401c1d8..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperPickaxe.java +++ /dev/null @@ -1,40 +0,0 @@ -package nmd.primal.forgecraft.items.tools.copper; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractPickaxe; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 3/14/17. - */ -public class CopperPickaxe extends AbstractPickaxe implements ToolNBT { - - private Item drop; - - public CopperPickaxe(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - } - - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - World world = player.getEntityWorld(); - if(ModConfig.Features.ENABLE_COPPER_EMERALD) { - if (getEmerald(itemstack)) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - } - } - return false; - } - - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperShovel.java b/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperShovel.java deleted file mode 100644 index c6986b4a..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/tools/copper/CopperShovel.java +++ /dev/null @@ -1,51 +0,0 @@ -package nmd.primal.forgecraft.items.tools.copper; - -import net.minecraft.block.state.IBlockState; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import nmd.primal.forgecraft.init.ModConfig; -import nmd.primal.forgecraft.items.tools.AbstractShovel; -import nmd.primal.forgecraft.util.ToolNBT; - -/** - * Created by mminaie on 3/21/17. - */ -public class CopperShovel extends AbstractShovel implements ToolNBT { - - public CopperShovel(String name, ToolMaterial material, Item damageDrop) { - super(name, material, damageDrop); - } - - - @Override - public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer player) - { - if(!player.world.isRemote){ - - if(itemstack.getItem() instanceof CopperShovel){ - if(ModConfig.Features.ENABLE_COPPER_EMERALD) { - if (getEmerald(itemstack)) { - itemstack.addEnchantment(Enchantment.getEnchantmentByID(33), 1); - } - } - } - } - - return false; - } - - @Override - public float getDestroySpeed(ItemStack stack, IBlockState state) - { - for (String type : getToolClasses(stack)) - { - if (state.getBlock().isToolEffective(type, state)) - return efficiency; - } - return this.efficiency + 1; - } - -} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java index a6bb93f7..f9752b00 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileAnvil.java @@ -38,6 +38,7 @@ public class TileAnvil extends TileBaseSlot implements ITickable { return reverseZ[z]; } + private int iterate =0; public NonNullList slotList = NonNullList.withSize(100, ItemStack.EMPTY); @@ -47,27 +48,31 @@ public class TileAnvil extends TileBaseSlot implements ITickable { if (!world.isRemote) { IBlockState state = world.getBlockState(this.pos); - if(PrimalAPI.randomCheck(1800)){ - for(int i=0; i materialModifiers = new Hashtable(){{ + + put(PrimalAPI.ToolMaterials.TOOL_COPPER, 1); + put(PrimalAPI.ToolMaterials.TOOL_BRONZE, 1); + put(PrimalAPI.ToolMaterials.TOOL_CRUDE_IRON, 1); + put(PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, 2); + put(PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, 3); + put(PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, 4); + put(PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, 5); + + }}; + + + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/util/ToolMaterials.java b/kfc/src/main/java/nmd/primal/forgecraft/util/ToolMaterials.java deleted file mode 100644 index e23422df..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/util/ToolMaterials.java +++ /dev/null @@ -1,10 +0,0 @@ -package nmd.primal.forgecraft.util; - -/** - * Created by mminaie on 3/29/17. - */ -public interface ToolMaterials { - - - -} diff --git a/kfc/src/main/resources/assets/forgecraft/lang/en_us.lang b/kfc/src/main/resources/assets/forgecraft/lang/en_us.lang index cb1cf2b2..8741bef7 100644 --- a/kfc/src/main/resources/assets/forgecraft/lang/en_us.lang +++ b/kfc/src/main/resources/assets/forgecraft/lang/en_us.lang @@ -110,18 +110,28 @@ item.steelshovel.name=Steel Shovel item.steelhoe.name=Steel Hoe #item.steelsword.name=Steel Sword -item.wootzpickaxehead.name=Damascus Steel Pickaxe Head -item.wootzaxehead.name=Damascus Steel Axe Head -item.wootzshovelhead.name=Damascus Steel Shovel Head -item.wootzhoehead.name=Damascus Steel Hoe Head -item.wootzpickaxe.name=Damascus Steel Pickaxe -item.wootzaxe.name=Damascus Steel Axe -item.wootzshovel.name=Damascus Steel Shovel -item.wootzhoe.name=Damascus Steel Hoe +item.wootzpickaxehead.name=Damascus Pickaxe Head +item.wootzaxehead.name=Damascus Axe Head +item.wootzshovelhead.name=Damascus Shovel Head +item.wootzhoehead.name=Damascus Hoe Head +item.wootzpickaxe.name=Damascus Pickaxe +item.wootzaxe.name=Damascus Axe +item.wootzshovel.name=Damascus Shovel +item.wootzhoe.name=Damascus Hoe item.wootzgladius.name=Damascus Gladius item.wootzlongsword.name=Damascus Longsword item.wootzslayer.name=Damascus Slayer +item.copperpickaxehead.name=Copper Pickaxe Head +item.copperaxehead.name=Copper Axe Head +item.coppershovelhead.name=Copper Shovel Head +item.copperhoehead.name=Copper Hoe Head +item.copperpickaxe.name=Copper Pickaxe +item.copperaxe.name=Copper Axe +item.coppershovel.name=Copper Shovel +item.copperhoe.name=Copper Hoe +item.coppergladius.name=Copper Gladius + item.leatherhelmet.name=Hardened Leather Helmet # -- configuration -- # diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/assets1.sh b/kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/assets1.sh new file mode 100644 index 00000000..229d28b3 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/axe/bronze/assets1.sh @@ -0,0 +1,28 @@ +#! /bin/bash + +values=( +0 +0.0001 +0.001 +0.01 +0.1 +1 +) + +IFS= read -r -p "Enter Material: " mat +IFS= read -r -p "Enter Tool: " tool + +for i in ${values[@]}; do + touch ${mat}${tool}"_"${i}".json" + cat >${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <${mat}${tool}_${i}.json <