package slimeknights.tconstruct.library.capability.projectile;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.INBTSerializable;
import java.util.List;
import javax.annotation.Nullable;
import slimeknights.tconstruct.library.traits.IProjectileTrait;
import slimeknights.tconstruct.library.traits.ITrait;
public interface ITinkerProjectile extends INBTSerializable<NBTTagCompound> {
/** The itemstack that represents the projectile */
ItemStack getItemStack();
void setItemStack(ItemStack stack);
/** The itemstack the projectile has been launched with */
@Nullable
ItemStack getLaunchingStack();
void setLaunchingStack(ItemStack launchingStack);
List<IProjectileTrait> getProjectileTraits();
boolean pickup(EntityLivingBase entity, boolean simulate);
void setPower(float power);
/** This basically represents how far the bow was drawn back, or equivalent for other things */
float getPower();
}