use mobs process_weapon function in on_punchplayer callback, adjust energy formula, add physics.freeze_player and physics.unfreeze_player, freeze player on sit and sleep
add velocity and acceleration to default.drop_item, add decceleration to builtin_item