![[IMG]](http://proxy.spigotmc.org/6ca853a7ffab5bdfb3d34b1966aaa6cbcb329eb7?url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2Fvy7axl4Xo5URGucJzD%2Fgiphy.gif)
![[IMG]](http://proxy.spigotmc.org/8297c07bd565ff400f05dd84d1bbbc7b5f737003?url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2Fwomw0soEHhpFZvpYxW%2Fgiphy.gif)
![[IMG]](http://proxy.spigotmc.org/24222f44ce2a967e9f2e16ed140434dec35a1cc8?url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2FRbMG7ElR3TJpHvyutF%2Fgiphy.gif)
Feature Overview:
- Pull yourself towards blocks
- Pull entities towards you (works on not just mobs, but player, boats, minecarts and even armour stands!)
- Sneaking allows you to descend slowly
- Fully customisable stats in a config file for each grappling hook
- Crafting and enchantments
- Grappling hook give commands
- Give yourself, a specific player, or all players a grapple
- Use the presets defined in a config file (to which you can add your own)
Guides for each aspect of the plugin can be found below:
The Grappling Hook item
Spoiler: Show information
Grappling Hook Controls & Movement
Each grapple has five (fully customisable) stats:
Obtaining Grappling Hooks
The grapple items can be obtained via commands or the customisable crafting recipes. See the commands section below for how to obtain the grapples with commands.
Each grapple preset can have a unique crafting recipe (or none at all). One of the exemplar recipes pre-programmed into the plugin looks as follows, and it generates the Standard Grapple.
Enchanting Grappling Hooks
[Note: this can be disabled in the config]
Grappling hooks can be placed into an enchanting table, just like other tools. A custom GUI that mimicks the vanilla one will appear:
There are three custom-made enchantments for the grappling hooks, as well as two vanilla enchantments which are supported:
Grappling hooks can also be combined in an anvil (only grapples of the same preset can be combined):
- Rope length:
Maximum distance between player and what they are grappling
- Projectile speed:
How fast the hook shoots - Strength (blocks/entities):
Maximum duration the grapple can be attached to something (separate for blocks and entities) - Pull speed:
How fast the grapple is drawn
- Reload time:
Cooldown duration in between uses of the grapple
Obtaining Grappling Hooks
The grapple items can be obtained via commands or the customisable crafting recipes. See the commands section below for how to obtain the grapples with commands.
Each grapple preset can have a unique crafting recipe (or none at all). One of the exemplar recipes pre-programmed into the plugin looks as follows, and it generates the Standard Grapple.
Enchanting Grappling Hooks
[Note: this can be disabled in the config]
Grappling hooks can be placed into an enchanting table, just like other tools. A custom GUI that mimicks the vanilla one will appear:
There are three custom-made enchantments for the grappling hooks, as well as two vanilla enchantments which are supported:
- Gripping 1-3
- Increases the strength of a grapple (on both blocks and entities) by 40%
- Retraction 1-3
- Increases pull speed by 10%
- Decreases reload time by 20%
- Projection 1-3
- Increases maximum rope length by 50%
- Increases projectile/hook shooting speed by 20%
- Unbreaking 1-3
- Behaves the same way as in vanilla
- Mending
- Just like in vanilla, this enchantment can only by put on a grapple by combining it with an enchanted book on an anvil
Grappling hooks can also be combined in an anvil (only grapples of the same preset can be combined):
Spoiler: Show information
Commands
The grappling hook use control differently depending on which hand it is in:
The grapple cannot be used if it is reloading. The player must be holding the grapple in either their main or off hand in order to progress the cooldown.
If the hook latches onto a:
- If in the main hand, left click to use
- If in the off hand, right click to use
The grapple cannot be used if it is reloading. The player must be holding the grapple in either their main or off hand in order to progress the cooldown.
If the hook latches onto a:
- Block, you will begin to move towards it
- A player who is below the hook will be moved towards it in all 3 axes, whereas a player above it will only be moved on the X and Z axes
- Sneaking pauses the reeling:
- A player beneath the hook will descend slowly
- A player who is not directly below the hook but their Y value is less than that of the hook will swing
- A player above the hook will not be drawn to it along any axis
- Once at the hook, if a player terminates the grappling (by clicking) and is looking upwards, they will recieve a small vertical boost which can be used to get over ledges.
The vertical boost is not provided if the player is looking horizontally or downwards when they terminate the grapple.
- Entity, it will be brought to you
- When it gets close to the player, the grapple will automatically terminate itself and the reload period will begin
Spoiler: Show information
Configuration
The main command is /grapple, /gh, or /grpl. All work the same, however in he examples below I will be using /grapple.
It goes without saying that only operators can run the following commands.
It goes without saying that only operators can run the following commands.
- /grapple info
Sends information about the plugin, including presets detected. The presets can be hovered over with the mouse which provides the grapple stats.
- /grapple help
Provides some help about how to use the plugin - /grapple help [command]
Provides detauks about the usage of [command] - /grapple reloadconfig
Reloads the configuration files (both config.yml and grapples.json)
- /grapple give
Gives the player the default grappling hook - /grapple give <selector>
selector can be @p, @a, or a specific player name
Gives the specified player a default grapple - /grapple give <selector> <preset>
selector can be @p, @a, or a specific player name
preset refers to a specific grapple preset defined in grapples.json (see Configuration section)
Gives the specified player a specific grapple
Spoiler: Show information
The
config.yml file contains some general settings:
grapples.json is where the grapple presets can be created and altered.
The jar includes 4 preset grapples, which are automatically generated on startup. These can all be modified or deleted, and more can be added.
The 'default' preset must be present in the file, however its stats (or name, crafting recipe, etc.) can be modified.
Removing presets can cause bugs with already extant grapples. Grapples linked to a defunct preset will be converted to 'default' grapples when they are used.
If any value in the preset is absent it will be substituted with a default value.
In the example below, 'default' is the preset name. This will be used for commands, e.g. '/grapple give @p default'.
The preset name must be unique, without spaces, and it is not case-sensitive ('default' and 'DEFAULT' are the same). If there are issues, a notice will be printed in the console.
The displayName is what appears on the grapple item itself. §6 is a colour code.
Most of it is self explanatory. It is worth noting that if 'canCraft' is set to false, the contents of 'recipe' will be ignored. If a preset's crafting recipe cannot be generated, a notice will be printed to the console.
Code (YAML):
jumpBoost
: 1.0
# sets % of default jump boost given when you retract the grapple while looking upwards (and being stationary)
showStatsOnDefaultGrapple : false
# when false, the stats section of the lore will be omitted on default grapples
grappleNPCs : false
# whether or not NPCs from the Citizens plugin can be moved with grappling hooks
hookTimeout : 10.0
# the maximum duration a hook can be in the air (without having latched on to anything) before it is automatically deleted.
# Can be used to prevent stasis chambers
canEnchantGrapples : true
# sets if players can use enchantment tables to enchant grappling hooks
# sets % of default jump boost given when you retract the grapple while looking upwards (and being stationary)
showStatsOnDefaultGrapple : false
# when false, the stats section of the lore will be omitted on default grapples
grappleNPCs : false
# whether or not NPCs from the Citizens plugin can be moved with grappling hooks
hookTimeout : 10.0
# the maximum duration a hook can be in the air (without having latched on to anything) before it is automatically deleted.
# Can be used to prevent stasis chambers
canEnchantGrapples : true
# sets if players can use enchantment tables to enchant grappling hooks
The jar includes 4 preset grapples, which are automatically generated on startup. These can all be modified or deleted, and more can be added.
The 'default' preset must be present in the file, however its stats (or name, crafting recipe, etc.) can be modified.
Removing presets can cause bugs with already extant grapples. Grapples linked to a defunct preset will be converted to 'default' grapples when they are used.
If any value in the preset is absent it will be substituted with a default value.
In the example below, 'default' is the preset name. This will be used for commands, e.g. '/grapple give @p default'.
The preset name must be unique, without spaces, and it is not case-sensitive ('default' and 'DEFAULT' are the same). If there are issues, a notice will be printed in the console.
The displayName is what appears on the grapple item itself. §6 is a colour code.
Most of it is self explanatory. It is worth noting that if 'canCraft' is set to false, the contents of 'recipe' will be ignored. If a preset's crafting recipe cannot be generated, a notice will be printed to the console.
Code (Text):
{
"default" : {
"displayName" : "§6Standard Grapple",
"durability" : 200,
"stats" : {
"range" : 50.0,
"hookSpeed" : 3.5,
"strengthBlock" : 10.0,
"strengthEntity" : 5.0,
"pullSpeed" : 1.0,
"reloadTime" : 3.0
},
"canCraft":true,
"recipe" : {
"shape" : [
"a ",
" cr",
" rC"
],
"key" : {
"C":"crossbow",
"a":"arrow",
"r":"redstone",
"c":"chain"
}
}
},
"second_preset" : { ... }
}
"default" : {
"displayName" : "§6Standard Grapple",
"durability" : 200,
"stats" : {
"range" : 50.0,
"hookSpeed" : 3.5,
"strengthBlock" : 10.0,
"strengthEntity" : 5.0,
"pullSpeed" : 1.0,
"reloadTime" : 3.0
},
"canCraft":true,
"recipe" : {
"shape" : [
"a ",
" cr",
" rC"
],
"key" : {
"C":"crossbow",
"a":"arrow",
"r":"redstone",
"c":"chain"
}
}
},
"second_preset" : { ... }
}
I would recommend using this plugin in a PvP setting as you can both get away from hairy situations and bring escaping players within reach of your sword. However, it is also a great exploration tool and generally a fun mechanic to mess around with. I hope you enjoy using my grappling hooks as much as I do!
Many features are subject to change/improvement, and your suggestions can influence this! I want to make this a fantastic plugin so please do let me know what you think, what I can add, and of course any bugs/issues that need fixing.
Join the Discord!
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.16, 1.18, 1.19
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Shoobadom's Grappling Hooks is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.18, 1.19, 1.20. Downloaded 1,061 times (via Spigot). Download it and open it directly in the game.