package uk.co.wehavecookies56.kk.common.item.org;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumHand;
import net.minecraft.util.SoundCategory;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import uk.co.wehavecookies56.kk.client.sound.ModSounds;
import uk.co.wehavecookies56.kk.common.capability.ModCapabilities;
import uk.co.wehavecookies56.kk.common.entity.projectiles.EntitySharpshooterBullet;
import uk.co.wehavecookies56.kk.common.item.base.ItemOrgWeapon;
import uk.co.wehavecookies56.kk.common.util.Utils;
import uk.co.wehavecookies56.kk.common.util.Utils.OrgMember;
public class ItemArrowguns extends ItemOrgWeapon implements IOrgWeapon{
public ItemArrowguns (double strength, double magic) {
super(strength,magic);
setMaxStackSize(1);
}
@Override
@SideOnly (Side.CLIENT)
public EnumRarity getRarity (ItemStack par1ItemStack) {
return EnumRarity.UNCOMMON;
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
if (!player.isSneaking()) {
if (player.getCapability(ModCapabilities.PLAYER_STATS, null).getMP() > 0 && !player.getCapability(ModCapabilities.PLAYER_STATS, null).getRecharge() || player.getCapability(ModCapabilities.CHEAT_MODE, null).getCheatMode()) {
world.playSound(player.posX, player.posY, player.posZ, ModSounds.sharpshooterbullet, SoundCategory.PLAYERS, 0.5F, 1F / (itemRand.nextFloat() * 0.4F + 0.8F), false);
EntitySharpshooterBullet bullet = new EntitySharpshooterBullet(world,player);
world.spawnEntity(bullet);
bullet.setHeadingFromThrower(player, player.rotationPitch, player.rotationYaw, 0, 3f, 0);
if (!player.getCapability(ModCapabilities.CHEAT_MODE, null).getCheatMode())
player.getCapability(ModCapabilities.PLAYER_STATS, null).remMP(7);
player.swingArm(EnumHand.MAIN_HAND);
}
} else {
//player.setItemInUse(stack, getMaxItemUseDuration(stack));
}
return super.onItemRightClick(stack, world, player, hand);
}
@Override
@SideOnly (Side.CLIENT)
public void addInformation (ItemStack itemStack, EntityPlayer player, List<String> dataList, boolean bool) {
dataList.add("II Xigbar");
}
@Override
public OrgMember getMember() {
return Utils.OrgMember.XIGBAR;
}
}