There are no booleans to indicate non-consumability (I hereby patent that word). Thankfully, tModLoader has a very useful solution to that in the form of the ConsumeAmmo hook.
Put this in your ModItem class (if it is a weapon, that is. If it's something else, let me know).
Code:
public override bool ConsumeAmmo(Player player)
{
if (Main.rand.Next(3) == 0) // Generates a random number between 0 and 3 (0, 1 or 2)
{
return false;
}
return true;
}
If that doesn't work, add
using Microsoft.Xna.Framework; to the top of your code.