*`entity_name`: The name the entity will be refered to by the minetest engine
*`def`: Projectile defintion. Supports all fields that standard minetest entities support.
Must include the field `_vl_projectile` for projectile-specific behaviors. These are the supported
fields:
*`survive_collision`: if this field is `false` or `nil`, the projectile will be removed after a collision.
*`sticks_in_players`: if true, the projectile will stick into players after colliding with them.
*`damage_groups`: damage group information to use for `punch()`. May be a function of type `function(projectile, entity_def, projectile_def, obj)`
that returns dynamic damange group information.
*`allow_punching`: will the projectile punch entities it collieds with. May be a function of type `function(projectile, entity_def, projectile_def, obj)`.
*`behaviors`: a list of behavior callbacks that define the projectile's behavior. This mod provides two
*`sounds`: sounds for this projectile. All fields take a table with three parameters corresponding to the
three parameters for `minetest.play_sound()`. Supported sounds are:
*`on_collision`: played when no other more specific sound is defined. May be a function of type `function(projectile, entity_def, projectile_def, type, ...)`
*`on_solid_collision`: played when the projectile collides with a solid node. May be a function of type