

Just throw the hook out onto a solid block, and when pulling it back in, you will be pulled to its location.
If the hook sticks into a mob or player, they will be pulled to you.
If the hook sticks into an item on the ground, the item will be pulled to you.
If the you reel in the hook when it is in water or still in the air, it will behave as a normal fishing rod.
Be sure to check out gyro89's plugin showcase as well.
/gh give - puts a grappling hook in the user's hand with 50 uses
/gh give <#> - puts a grappling hook in the user's hand with # of uses
/gh give <player> - adds a grappling hook to the inventory of specified player with 50 uses
/gh give <player> <#> - adds a grappling hook to the inventory of specified player with # of uses
grapplinghook.pull.self - Allows player to pull themselves with the hook
grapplinghook.pull.mobs - Allows player to pull mobs with the hook
grapplinghook.pull.players - Allows player to pull other players with the hook
grapplinghook.pull.items - Allows player to pull items with the hook
grapplinghook.craft.wood - Allows player to craft wood grappling hooks
grapplinghook.craft.stone - Allows player to craft stone grappling hooks
grapplinghook.craft.iron - Allows player to craft iron grappling hooks
grapplinghook.craft.gold - Allows player to craft gold grappling hooks
grapplinghook.craft.diamond - Allows player to craft diamond grappling hooks
grapplinghook.command.give - Allows player to use command /gh give
grapplinghook.player.nopull - Player can not be pulled by other players
grapplinghook.player.nocooldown - Player ignores grapple cooldown (if one is set)
I have put many hours of work into all of my plugins and it is my hope than anyone who enjoys the features they bring to their server will donate. Thank you.