2013-07-26 21:18:53 -07:00
|
|
|
package tconstruct.items.tools;
|
|
|
|
|
|
|
|
|
|
import net.minecraft.entity.Entity;
|
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
|
import net.minecraft.item.Item;
|
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
|
import net.minecraft.potion.Potion;
|
|
|
|
|
import net.minecraft.potion.PotionEffect;
|
|
|
|
|
import net.minecraft.world.World;
|
2014-02-05 10:28:54 -05:00
|
|
|
import tconstruct.common.TRepo;
|
|
|
|
|
import tconstruct.library.tools.AbilityHelper;
|
|
|
|
|
import tconstruct.library.tools.Weapon;
|
|
|
|
|
import tconstruct.util.config.PHConstruct;
|
2013-07-26 21:18:53 -07:00
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
|
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
|
|
|
|
|
|
|
|
public class Cleaver extends Weapon
|
|
|
|
|
{
|
2013-12-31 16:37:46 -05:00
|
|
|
public Cleaver()
|
2013-07-26 21:18:53 -07:00
|
|
|
{
|
2014-03-15 07:11:06 -04:00
|
|
|
super(5);
|
2013-07-26 21:18:53 -07:00
|
|
|
this.setUnlocalizedName("InfiTool.Cleaver");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Item getHeadItem ()
|
|
|
|
|
{
|
2013-11-29 23:16:32 -05:00
|
|
|
return TRepo.largeSwordBlade;
|
2013-07-26 21:18:53 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Item getHandleItem ()
|
|
|
|
|
{
|
2013-11-29 23:16:32 -05:00
|
|
|
return TRepo.toughRod;
|
2013-07-26 21:18:53 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Item getAccessoryItem ()
|
|
|
|
|
{
|
2013-11-29 23:16:32 -05:00
|
|
|
return TRepo.largePlate;
|
2013-07-26 21:18:53 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Item getExtraItem ()
|
|
|
|
|
{
|
2013-11-29 23:16:32 -05:00
|
|
|
return TRepo.toughRod;
|
2013-07-26 21:18:53 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int durabilityTypeAccessory ()
|
|
|
|
|
{
|
|
|
|
|
return 2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int durabilityTypeExtra ()
|
|
|
|
|
{
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public float getRepairCost ()
|
|
|
|
|
{
|
|
|
|
|
return 4.0f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public float getDurabilityModifier ()
|
|
|
|
|
{
|
|
|
|
|
return 2.5f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public float getDamageModifier ()
|
|
|
|
|
{
|
2013-12-06 11:37:06 -08:00
|
|
|
return 1.4f;
|
2013-07-26 21:18:53 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
|
|
|
@Override
|
|
|
|
|
public int getRenderPasses (int metadata)
|
|
|
|
|
{
|
|
|
|
|
return 10;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int getPartAmount ()
|
|
|
|
|
{
|
|
|
|
|
return 4;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getIconSuffix (int partType)
|
|
|
|
|
{
|
|
|
|
|
switch (partType)
|
|
|
|
|
{
|
|
|
|
|
case 0:
|
|
|
|
|
return "_cleaver_head";
|
|
|
|
|
case 1:
|
|
|
|
|
return "_cleaver_head_broken";
|
|
|
|
|
case 2:
|
|
|
|
|
return "_cleaver_handle";
|
|
|
|
|
case 3:
|
|
|
|
|
return "_cleaver_shield";
|
|
|
|
|
case 4:
|
|
|
|
|
return "_cleaver_guard";
|
|
|
|
|
default:
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getEffectSuffix ()
|
|
|
|
|
{
|
|
|
|
|
return "_cleaver_effect";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getDefaultFolder ()
|
|
|
|
|
{
|
|
|
|
|
return "cleaver";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Cleaver specific */
|
|
|
|
|
@Override
|
|
|
|
|
public boolean onLeftClickEntity (ItemStack stack, EntityPlayer player, Entity entity)
|
|
|
|
|
{
|
|
|
|
|
if (AbilityHelper.onLeftClickEntity(stack, player, entity, this))
|
|
|
|
|
{
|
|
|
|
|
entity.hurtResistantTime += 7;
|
|
|
|
|
|
2014-02-16 14:23:50 -05:00
|
|
|
/*
|
|
|
|
|
* if (entity instanceof EntityLiving) { EntityLiving living =
|
|
|
|
|
* (EntityLiving) entity; if (living.getHealth() <= 0) {
|
|
|
|
|
*
|
|
|
|
|
* } }
|
|
|
|
|
*/
|
|
|
|
|
// if (entity.getHealth() <= 0)
|
2013-07-26 21:18:53 -07:00
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2014-02-17 00:31:43 -05:00
|
|
|
@Override
|
2013-07-26 21:18:53 -07:00
|
|
|
public void onUpdate (ItemStack stack, World world, Entity entity, int par4, boolean par5)
|
|
|
|
|
{
|
|
|
|
|
super.onUpdate(stack, world, entity, par4, par5);
|
|
|
|
|
if (entity instanceof EntityPlayer)
|
|
|
|
|
{
|
|
|
|
|
EntityPlayer player = (EntityPlayer) entity;
|
|
|
|
|
ItemStack equipped = player.getCurrentEquippedItem();
|
|
|
|
|
if (equipped == stack)
|
|
|
|
|
{
|
|
|
|
|
player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 1, 2));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2014-02-16 14:23:50 -05:00
|
|
|
/*
|
|
|
|
|
* @Override public boolean onEntitySwing (EntityLiving entity, ItemStack
|
|
|
|
|
* stack) { entity.swingProgressInt /= 2; return false; }
|
|
|
|
|
*/
|
2013-07-26 21:18:53 -07:00
|
|
|
}
|