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
|
|
|
{
|
2013-12-31 16:37:46 -05:00
|
|
|
super(6);
|
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;
|
|
|
|
|
|
|
|
|
|
/*if (entity instanceof EntityLiving)
|
|
|
|
|
{
|
|
|
|
|
EntityLiving living = (EntityLiving) entity;
|
|
|
|
|
if (living.getHealth() <= 0)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
//if (entity.getHealth() <= 0)
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*@Override
|
|
|
|
|
public boolean onEntitySwing (EntityLiving entity, ItemStack stack)
|
|
|
|
|
{
|
|
|
|
|
entity.swingProgressInt /= 2;
|
|
|
|
|
return false;
|
|
|
|
|
}*/
|
2013-11-10 13:57:35 -08:00
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean willAllowOffhandWeapon ()
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean willAllowShield ()
|
|
|
|
|
{
|
|
|
|
|
return PHConstruct.isCleaverTwoHanded;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean isOffhandHandDualWeapon ()
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean sheatheOnBack ()
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2013-07-26 21:18:53 -07:00
|
|
|
}
|