From 43360ef5c18b4c766f63face9db0d190e96cd35d Mon Sep 17 00:00:00 2001 From: Vasco Lavos Date: Sun, 13 Apr 2014 19:36:47 +0100 Subject: [PATCH] Added more Manasteel tools. --- MODSRC/vazkii/botania/api/BotaniaAPI.java | 4 +- .../common/core/BotaniaCreativeTab.java | 6 + .../vazkii/botania/common/item/ModItems.java | 17 ++- .../common/item/tool/ItemManasteelArmor.java | 7 +- .../common/item/tool/ItemManasteelAxe.java | 65 ++++++++++ .../common/item/tool/ItemManasteelPick.java | 65 ++++++++++ .../common/item/tool/ItemManasteelShears.java | 114 ++++++++++++++++++ .../common/item/tool/ItemManasteelShovel.java | 65 ++++++++++ .../common/item/tool/ItemManasteelSword.java | 65 ++++++++++ .../item/tool/ManasteelToolCommons.java | 30 +++++ .../botania/common/lib/LibItemNames.java | 5 + resources/assets/botania/lang/en_US.lang | 5 + ...manasteelPickaxe.png => manasteelPick.png} | Bin .../{manaSword.png => manasteelSword.png} | Bin 14 files changed, 439 insertions(+), 9 deletions(-) create mode 100644 MODSRC/vazkii/botania/common/item/tool/ItemManasteelAxe.java create mode 100644 MODSRC/vazkii/botania/common/item/tool/ItemManasteelPick.java create mode 100644 MODSRC/vazkii/botania/common/item/tool/ItemManasteelShears.java create mode 100644 MODSRC/vazkii/botania/common/item/tool/ItemManasteelShovel.java create mode 100644 MODSRC/vazkii/botania/common/item/tool/ItemManasteelSword.java create mode 100644 MODSRC/vazkii/botania/common/item/tool/ManasteelToolCommons.java rename resources/assets/botania/textures/items/{manasteelPickaxe.png => manasteelPick.png} (100%) rename resources/assets/botania/textures/items/{manaSword.png => manasteelSword.png} (100%) diff --git a/MODSRC/vazkii/botania/api/BotaniaAPI.java b/MODSRC/vazkii/botania/api/BotaniaAPI.java index db8b905ff..bae195d71 100644 --- a/MODSRC/vazkii/botania/api/BotaniaAPI.java +++ b/MODSRC/vazkii/botania/api/BotaniaAPI.java @@ -49,7 +49,7 @@ public final class BotaniaAPI { public static Map oreWeights = new HashMap(); public static ArmorMaterial manasteelArmorMaterial = EnumHelper.addArmorMaterial("MANASTEEL", 16, new int[]{ 2, 6, 5, 2 }, 18); -// public static ToolMaterial a + public static ToolMaterial manasteelToolMaterial = EnumHelper.addToolMaterial("MANASTEEL", 3, 300, 6.2F, 2F, 20); static { registerSubTile("", DummySubTile.class); @@ -69,7 +69,7 @@ public final class BotaniaAPI { addOreWeight("oreDiamond", 1265); // Vanilla addOreWeight("oreEmerald", 780); // Vanilla addOreWeight("oreEmery", 415); // GregTech - addOreWeight("oreGalena", 1000); + addOreWeight("oreGalena", 1000); // Factorization addOreWeight("oreGold", 2970); // Vanilla addOreWeight("oreInfusedAir", 925); // Thaumcraft addOreWeight("oreInfusedEarth", 925); // Thaumcraft diff --git a/MODSRC/vazkii/botania/common/core/BotaniaCreativeTab.java b/MODSRC/vazkii/botania/common/core/BotaniaCreativeTab.java index b1116eff9..9c056c84b 100644 --- a/MODSRC/vazkii/botania/common/core/BotaniaCreativeTab.java +++ b/MODSRC/vazkii/botania/common/core/BotaniaCreativeTab.java @@ -73,6 +73,12 @@ public final class BotaniaCreativeTab extends CreativeTabs { addBlock(ModBlocks.unstableBlock); addBlock(ModBlocks.manaBeacon); addItem(ModItems.signalFlare); + + addItem(ModItems.manasteelPick); + addItem(ModItems.manasteelShovel); + addItem(ModItems.manasteelAxe); + addItem(ModItems.manasteelShears); + addItem(ModItems.manasteelSword); addItem(ModItems.manasteelHelm); addItem(ModItems.manasteelChest); addItem(ModItems.manasteelLegs); diff --git a/MODSRC/vazkii/botania/common/item/ModItems.java b/MODSRC/vazkii/botania/common/item/ModItems.java index 856909a4d..697f3c16f 100644 --- a/MODSRC/vazkii/botania/common/item/ModItems.java +++ b/MODSRC/vazkii/botania/common/item/ModItems.java @@ -19,6 +19,11 @@ import vazkii.botania.common.item.magic.ItemDirtRod; import vazkii.botania.common.item.magic.ItemTerraformRod; import vazkii.botania.common.item.magic.ItemTimeRod; import vazkii.botania.common.item.tool.ItemManasteelArmor; +import vazkii.botania.common.item.tool.ItemManasteelAxe; +import vazkii.botania.common.item.tool.ItemManasteelPick; +import vazkii.botania.common.item.tool.ItemManasteelShears; +import vazkii.botania.common.item.tool.ItemManasteelShovel; +import vazkii.botania.common.item.tool.ItemManasteelSword; import vazkii.botania.common.lib.LibItemNames; import vazkii.botania.common.lib.LibOreDict; @@ -47,6 +52,11 @@ public final class ModItems { public static Item manasteelChest; public static Item manasteelLegs; public static Item manasteelBoots; + public static Item manasteelPick; + public static Item manasteelShovel; + public static Item manasteelAxe; + public static Item manasteelSword; + public static Item manasteelShears; public static void init() { lexicon = new ItemLexicon(); @@ -72,7 +82,12 @@ public final class ModItems { manasteelChest = new ItemManasteelArmor(1, LibItemNames.MANASTEEL_CHEST); manasteelLegs = new ItemManasteelArmor(2, LibItemNames.MANASTEEL_LEGS); manasteelBoots = new ItemManasteelArmor(3, LibItemNames.MANASTEEL_BOOTS); - + manasteelPick = new ItemManasteelPick(); + manasteelShovel = new ItemManasteelShovel(); + manasteelAxe = new ItemManasteelAxe(); + manasteelSword = new ItemManasteelSword(); + manasteelShears = new ItemManasteelShears(); + OreDictionary.registerOre(LibOreDict.LEXICON, lexicon); for(int i = 0; i < 16; i++) { OreDictionary.registerOre(LibOreDict.PETAL[i], new ItemStack(petal, 1, i)); diff --git a/MODSRC/vazkii/botania/common/item/tool/ItemManasteelArmor.java b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelArmor.java index 86701accf..c0c82cb9f 100644 --- a/MODSRC/vazkii/botania/common/item/tool/ItemManasteelArmor.java +++ b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelArmor.java @@ -65,12 +65,7 @@ public class ItemManasteelArmor extends ItemArmor implements ISpecialArmor { @Override public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - int manaToRequest = damage * MANA_PER_DAMAGE; - int manaRequested = entity instanceof EntityPlayer ? ManaItemHandler.requestMana(stack, (EntityPlayer) entity, manaToRequest, true) : 0; - - int finalDamage = damage - manaRequested / MANA_PER_DAMAGE; - if(finalDamage > 0) - stack.damageItem(finalDamage, entity); + ManasteelToolCommons.damageItem(stack, damage, entity, MANA_PER_DAMAGE); } @Override diff --git a/MODSRC/vazkii/botania/common/item/tool/ItemManasteelAxe.java b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelAxe.java new file mode 100644 index 000000000..1e92c6ba2 --- /dev/null +++ b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelAxe.java @@ -0,0 +1,65 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * File Created @ [Apr 13, 2014, 7:15:39 PM (GMT)] + */ +package vazkii.botania.common.item.tool; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import vazkii.botania.api.BotaniaAPI; +import vazkii.botania.client.core.helper.IconHelper; +import vazkii.botania.common.core.BotaniaCreativeTab; +import vazkii.botania.common.lib.LibItemNames; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemManasteelAxe extends ItemAxe { + + private static final int MANA_PER_DAMAGE = 60; + + public ItemManasteelAxe() { + super(BotaniaAPI.manasteelToolMaterial); + setCreativeTab(BotaniaCreativeTab.INSTANCE); + setUnlocalizedName(LibItemNames.MANASTEEL_AXE); + } + + @Override + public Item setUnlocalizedName(String par1Str) { + GameRegistry.registerItem(this, par1Str); + return super.setUnlocalizedName(par1Str); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + itemIcon = IconHelper.forItem(par1IconRegister, this); + } + + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) { + ManasteelToolCommons.damageItem(par1ItemStack, 1, par3EntityLivingBase, MANA_PER_DAMAGE); + return true; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase entity) { + if (block.getBlockHardness(world, x, y, z) != 0F) + ManasteelToolCommons.damageItem(stack, 1, entity, MANA_PER_DAMAGE); + + return true; + } + +} \ No newline at end of file diff --git a/MODSRC/vazkii/botania/common/item/tool/ItemManasteelPick.java b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelPick.java new file mode 100644 index 000000000..dd8909fe3 --- /dev/null +++ b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelPick.java @@ -0,0 +1,65 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * File Created @ [Apr 13, 2014, 7:05:58 PM (GMT)] + */ +package vazkii.botania.common.item.tool; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import vazkii.botania.api.BotaniaAPI; +import vazkii.botania.client.core.helper.IconHelper; +import vazkii.botania.common.core.BotaniaCreativeTab; +import vazkii.botania.common.lib.LibItemNames; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemManasteelPick extends ItemPickaxe { + + private static final int MANA_PER_DAMAGE = 60; + + public ItemManasteelPick() { + super(BotaniaAPI.manasteelToolMaterial); + setCreativeTab(BotaniaCreativeTab.INSTANCE); + setUnlocalizedName(LibItemNames.MANASTEEL_PICK); + } + + @Override + public Item setUnlocalizedName(String par1Str) { + GameRegistry.registerItem(this, par1Str); + return super.setUnlocalizedName(par1Str); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + itemIcon = IconHelper.forItem(par1IconRegister, this); + } + + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) { + ManasteelToolCommons.damageItem(par1ItemStack, 1, par3EntityLivingBase, MANA_PER_DAMAGE); + return true; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase entity) { + if (block.getBlockHardness(world, x, y, z) != 0F) + ManasteelToolCommons.damageItem(stack, 1, entity, MANA_PER_DAMAGE); + + return true; + } + +} diff --git a/MODSRC/vazkii/botania/common/item/tool/ItemManasteelShears.java b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelShears.java new file mode 100644 index 000000000..de3e31456 --- /dev/null +++ b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelShears.java @@ -0,0 +1,114 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * File Created @ [Apr 13, 2014, 7:28:35 PM (GMT)] + */ +package vazkii.botania.common.item.tool; + +import java.util.ArrayList; +import java.util.Random; + +import vazkii.botania.client.core.helper.IconHelper; +import vazkii.botania.common.core.BotaniaCreativeTab; +import vazkii.botania.common.lib.LibItemNames; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemShears; +import net.minecraft.item.ItemStack; +import net.minecraft.stats.StatList; +import net.minecraftforge.common.IShearable; + +public class ItemManasteelShears extends ItemShears { + + private static final int MANA_PER_DAMAGE = 30; + + public ItemManasteelShears() { + setCreativeTab(BotaniaCreativeTab.INSTANCE); + setUnlocalizedName(LibItemNames.MANASTEEL_SHEARS); + } + + @Override + public Item setUnlocalizedName(String par1Str) { + GameRegistry.registerItem(this, par1Str); + return super.setUnlocalizedName(par1Str); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + itemIcon = IconHelper.forItem(par1IconRegister, this); + } + + @Override + public boolean itemInteractionForEntity(ItemStack itemstack, EntityPlayer player, EntityLivingBase entity) { + if(entity.worldObj.isRemote) + return false; + + if(entity instanceof IShearable) { + IShearable target = (IShearable)entity; + if(target.isShearable(itemstack, entity.worldObj, (int) entity.posX, (int) entity.posY, (int) entity.posZ)) { + ArrayList drops = target.onSheared(itemstack, entity.worldObj, (int) entity.posX, (int) entity.posY, (int) entity.posZ, EnchantmentHelper.getEnchantmentLevel(Enchantment.fortune.effectId, itemstack)); + + Random rand = new Random(); + for(ItemStack stack : drops) { + EntityItem ent = entity.entityDropItem(stack, 1.0F); + ent.motionY += rand.nextFloat() * 0.05F; + ent.motionX += (rand.nextFloat() - rand.nextFloat()) * 0.1F; + ent.motionZ += (rand.nextFloat() - rand.nextFloat()) * 0.1F; + } + + ManasteelToolCommons.damageItem(itemstack, 1, player, MANA_PER_DAMAGE); + } + + return true; + } + + return false; + } + + @Override + public boolean onBlockStartBreak(ItemStack itemstack, int x, int y, int z, EntityPlayer player) { + if (player.worldObj.isRemote) + return false; + + Block block = player.worldObj.getBlock(x, y, z); + if(block instanceof IShearable) { + IShearable target = (IShearable)block; + if(target.isShearable(itemstack, player.worldObj, x, y, z)) { + ArrayList drops = target.onSheared(itemstack, player.worldObj, x, y, z, EnchantmentHelper.getEnchantmentLevel(Enchantment.fortune.effectId, itemstack)); + Random rand = new Random(); + + for(ItemStack stack : drops) { + float f = 0.7F; + double d = rand.nextFloat() * f + (1D - f) * 0.5; + double d1 = rand.nextFloat() * f + (1D - f) * 0.5; + double d2 = rand.nextFloat() * f + (1D - f) * 0.5; + + EntityItem entityitem = new EntityItem(player.worldObj, x + d, y + d1, z + d2, stack); + entityitem.delayBeforeCanPickup = 10; + player.worldObj.spawnEntityInWorld(entityitem); + } + + ManasteelToolCommons.damageItem(itemstack, 1, player, MANA_PER_DAMAGE); + player.addStat(StatList.mineBlockStatArray[Block.getIdFromBlock(block)], 1); + } + } + return false; + } + +} diff --git a/MODSRC/vazkii/botania/common/item/tool/ItemManasteelShovel.java b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelShovel.java new file mode 100644 index 000000000..7d24d08d5 --- /dev/null +++ b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelShovel.java @@ -0,0 +1,65 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * File Created @ [Apr 13, 2014, 7:14:54 PM (GMT)] + */ +package vazkii.botania.common.item.tool; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import vazkii.botania.api.BotaniaAPI; +import vazkii.botania.client.core.helper.IconHelper; +import vazkii.botania.common.core.BotaniaCreativeTab; +import vazkii.botania.common.lib.LibItemNames; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemManasteelShovel extends ItemSpade { + + private static final int MANA_PER_DAMAGE = 60; + + public ItemManasteelShovel() { + super(BotaniaAPI.manasteelToolMaterial); + setCreativeTab(BotaniaCreativeTab.INSTANCE); + setUnlocalizedName(LibItemNames.MANASTEEL_SHOVEL); + } + + @Override + public Item setUnlocalizedName(String par1Str) { + GameRegistry.registerItem(this, par1Str); + return super.setUnlocalizedName(par1Str); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + itemIcon = IconHelper.forItem(par1IconRegister, this); + } + + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) { + ManasteelToolCommons.damageItem(par1ItemStack, 1, par3EntityLivingBase, MANA_PER_DAMAGE); + return true; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase entity) { + if (block.getBlockHardness(world, x, y, z) != 0F) + ManasteelToolCommons.damageItem(stack, 1, entity, MANA_PER_DAMAGE); + + return true; + } + +} diff --git a/MODSRC/vazkii/botania/common/item/tool/ItemManasteelSword.java b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelSword.java new file mode 100644 index 000000000..ff63b60d3 --- /dev/null +++ b/MODSRC/vazkii/botania/common/item/tool/ItemManasteelSword.java @@ -0,0 +1,65 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * File Created @ [Apr 13, 2014, 7:21:32 PM (GMT)] + */ +package vazkii.botania.common.item.tool; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.world.World; +import vazkii.botania.api.BotaniaAPI; +import vazkii.botania.client.core.helper.IconHelper; +import vazkii.botania.common.core.BotaniaCreativeTab; +import vazkii.botania.common.lib.LibItemNames; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemManasteelSword extends ItemSword { + +private static final int MANA_PER_DAMAGE = 50; + + public ItemManasteelSword() { + super(BotaniaAPI.manasteelToolMaterial); + setCreativeTab(BotaniaCreativeTab.INSTANCE); + setUnlocalizedName(LibItemNames.MANASTEEL_SWORD); + } + + @Override + public Item setUnlocalizedName(String par1Str) { + GameRegistry.registerItem(this, par1Str); + return super.setUnlocalizedName(par1Str); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + itemIcon = IconHelper.forItem(par1IconRegister, this); + } + + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase) { + ManasteelToolCommons.damageItem(par1ItemStack, 1, par3EntityLivingBase, MANA_PER_DAMAGE); + return true; + } + + @Override + public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase entity) { + if (block.getBlockHardness(world, x, y, z) != 0F) + ManasteelToolCommons.damageItem(stack, 1, entity, MANA_PER_DAMAGE); + + return true; + } + +} diff --git a/MODSRC/vazkii/botania/common/item/tool/ManasteelToolCommons.java b/MODSRC/vazkii/botania/common/item/tool/ManasteelToolCommons.java new file mode 100644 index 000000000..0093e5597 --- /dev/null +++ b/MODSRC/vazkii/botania/common/item/tool/ManasteelToolCommons.java @@ -0,0 +1,30 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * File Created @ [Apr 13, 2014, 7:13:04 PM (GMT)] + */ +package vazkii.botania.common.item.tool; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import vazkii.botania.api.mana.ManaItemHandler; + +public final class ManasteelToolCommons { + + public static void damageItem(ItemStack stack, int dmg, EntityLivingBase entity, int manaPerDamage) { + int manaToRequest = dmg * manaPerDamage; + int manaRequested = entity instanceof EntityPlayer ? ManaItemHandler.requestMana(stack, (EntityPlayer) entity, manaToRequest, true) : 0; + + int finalDamage = dmg - manaRequested / manaPerDamage; + if(finalDamage > 0) + stack.damageItem(finalDamage, entity); + } + +} diff --git a/MODSRC/vazkii/botania/common/lib/LibItemNames.java b/MODSRC/vazkii/botania/common/lib/LibItemNames.java index eab32d473..624436c35 100644 --- a/MODSRC/vazkii/botania/common/lib/LibItemNames.java +++ b/MODSRC/vazkii/botania/common/lib/LibItemNames.java @@ -38,6 +38,11 @@ public final class LibItemNames { public static final String MANASTEEL_CHEST = LibResources.PREFIX_MOD + "manasteelChest"; public static final String MANASTEEL_LEGS = LibResources.PREFIX_MOD + "manasteelLegs"; public static final String MANASTEEL_BOOTS = LibResources.PREFIX_MOD + "manasteelBoots"; + public static final String MANASTEEL_PICK = LibResources.PREFIX_MOD + "manasteelPick"; + public static final String MANASTEEL_SHOVEL = LibResources.PREFIX_MOD + "manasteelShovel"; + public static final String MANASTEEL_AXE = LibResources.PREFIX_MOD + "manasteelAxe"; + public static final String MANASTEEL_SWORD = LibResources.PREFIX_MOD + "manasteelSword"; + public static final String MANASTEEL_SHEARS = LibResources.PREFIX_MOD + "manasteelShears"; public static final String[] LENS_NAMES = new String[] { LibResources.PREFIX_MOD + "lensNormal", diff --git a/resources/assets/botania/lang/en_US.lang b/resources/assets/botania/lang/en_US.lang index 0c3956046..e571fe1f3 100644 --- a/resources/assets/botania/lang/en_US.lang +++ b/resources/assets/botania/lang/en_US.lang @@ -265,6 +265,11 @@ item.botania:manasteelHelm.name=Manasteel Helm item.botania:manasteelChest.name=Manasteel Breastplate item.botania:manasteelLegs.name=Manasteel Platelegs item.botania:manasteelBoots.name=Manasteel Boots +item.botania:manasteelPick.name=Manasteel Pick +item.botania:manasteelShovel.name=Manasteel Spade +item.botania:manasteelAxe.name=Manasteel Hatchet +item.botania:manasteelSword.name=Manasteel Blade +item.botania:manasteelShears.name=Manasteel Clippers # GUI TEXT botania.gui.lexicon.header=Lexica Botania Index - Pick which category you would like to study: diff --git a/resources/assets/botania/textures/items/manasteelPickaxe.png b/resources/assets/botania/textures/items/manasteelPick.png similarity index 100% rename from resources/assets/botania/textures/items/manasteelPickaxe.png rename to resources/assets/botania/textures/items/manasteelPick.png diff --git a/resources/assets/botania/textures/items/manaSword.png b/resources/assets/botania/textures/items/manasteelSword.png similarity index 100% rename from resources/assets/botania/textures/items/manaSword.png rename to resources/assets/botania/textures/items/manasteelSword.png