sk89q's command framework