Skyline | A lightweight grappling hook plugin - plug and play! icon

Skyline | A lightweight grappling hook plugin - plug and play! -----

Power levels, cooldown, particles, sounds and more... [1.18+]




version 2.1.4 This update focuses on enhancing functionality and improving configuration flexibility. Here’s what’s new:

What’s New in v2.1.4
  1. Teleport-Y Configuration Option:
    • Introduced a new configure option for the teleport-y feature added in the previous update. Customize it further to suit your needs!
  2. Update Checker:
    • Added an update checker to the plugin. Stay up-to-date with the latest releases effortlessly!
  3. Improved Default Configuration Values:
    • Certain configuration values in config.yml now have default fallbacks to ensure smoother plugin operation if a value is missing.
⚠️ Note: If you’re updating from an older version, please review the changes in your config.yml to ensure compatibility. Missing values will now default automatically.

Thank you for your continued support! If you encounter any issues or have feedback, feel free to let me know.

Happy gaming!

https://github.com/AlbusThePenguin/Skyline/commit/3ee3b2e70afa6981ec917b9987601226756972bd

Due to paper soft launch of independent from spigot-api I will need some time to see if I want to make a module project or how I want to handle that.
----------, Dec 19, 2024

2.1.3

- Tiny fix. Updated so when added velocity to player we teleport them 1/10th of a block in Y coordinates in order to avoid them being dragged along the ground and not experience any velocity.

https://github.com/AlbusThePenguin/Skyline/commit/f31b0895de229a037779ef5c8bdee94432be1528
----------, Dec 13, 2024

Skyline Plugin version 2.1.2!

What's New in 2.1.2:
  • Removed messages.yml: The old messages file is now redundant and has been removed. (You can delete the file)
  • New Language Files Location: All new language files are now stored in /plugins/skyline/lang/.
  • Rewritten Message System: The entire message system has been revamped to make it much easier to handle multiple languages without the need to edit entire files.
  • New Config Option: There's a new value in the config.yml:
    default >> language: 'en_US'
    This allows you to set the default language for the plugin.
If you experience any issues or bugs with this update, please don't hesitate to let me know. Additionally, if you have any feature requests, feel free to share them as well!

Thanks for your continued support!

Typo in config >> will fix in next update. You cannot create a new custom language file in /lang/ folder.

(translations made by AI ~ don't hate me)

https://github.com/AlbusThePenguin/Skyline/commit/29ab8886b5f212acb8e676f2e4ecd67af3d4856a
----------, Dec 10, 2024

  • Reorganized and optimized the class structure for improved readability and maintainability.
  • Refactored and simplified code to enhance overall efficiency and reduce redundancy.
  • Updated the message handling system.
  • Integrated placeholder support directly into the message system class for seamless functionality.
  • Resolved miscellaneous issues and addressed several "oopsies" to ensure smoother performance.


https://github.com/AlbusThePenguin/Skyline/commit/386108cb790923a03426c55ee569113b24daf4f7

https://github.com/AlbusThePenguin/Skyline/commit/d324ab1ff1619ffaff3c29d5ba6c6a17f0bb8207
----------, Dec 5, 2024


@Renauddj's suggestion to add placeholder API support for "hook" item display name and lore. If you have any problems with this update, please let me know. will update the information for this support later.
----------, Nov 15, 2024

Found a fatal error in the command system in the last version.

Sorry if that caused any issues for you. Please report the issues else I might miss them! :) thanks for using skyline!
----------, Oct 30, 2024

Update Overview
In this latest update, we have made significant improvements to the code structure and command handling capabilities of the plugin.

Key Changes:
  1. Refined Code Structure:
    • The underlying code has been restructured for better readability and maintainability. This enhances the overall performance and stability of the plugin.
  2. Revamped Command System:
    • We have completely redesigned the command structure, allowing for greater flexibility and customization. You can now easily update and modify commands directly through the config.yml file.
New Features in config.yml:
  • Label: Customize the primary name of the command for a more personalized experience.
  • Aliases: Add alternative names for commands, making them easier to remember and use.
  • Description: Provide a brief overview of what each command does, which will be displayed in help menus.
  • Usage: Specify example usage instructions to guide users on how to effectively use the command.
Important Note:
Please ensure to update the configuration file from the Spigot resource page to take advantage of these new features.

As this is an experimental update, we encourage users to test the new features and provide feedback for further improvements.

Let me know if there are any other changes you’d like to make!
----------, Sep 29, 2024

Somehow managed to upload the wrong jar in the last version. It's not updated.

1.7

Added support for 1.20+

Java 17 is now required rather than 21.

update TextComponent in action bar to support multiple versions.

plugin API version was changed to 1.20 in order to support 1.20.

Thanks to @iKilledEveryone for catching it!
----------, Jul 22, 2024

1.7

Added support for 1.20+

Java 17 is now required rather than 21.

update TextComponent in action bar to support multiple versions.

plugin api version was changed to 1.20 in order to support 1.20.
----------, Jul 19, 2024

1.6

Added multiple options for chat types for
cooldown messages as requested by d3b3ly @spigot

config.yml needs updating.
You can delete the old configuration file or simply add Settings.cooldown_messages: in config.yml:

Code (Text):

  cooldown_messages:
    - CHAT
    - TITLE
    - ACTIONBAR
 
Check the config.yml on the frontpage for more details.
----------, Jul 11, 2024

Update Notice: Version 1.5
  • Licence Update
  • Transitioned from Gradle to Maven for improved project management.
  • Integrated bStats for enhanced analytics and statistics tracking.
  • Updated particle effects to utilize the latest capabilities.
  • Dropped support for versions prior to 1.21.
Moving forward, Skyline exclusively supports Minecraft version 1.21 and aims to remain compatible with the latest releases.

No new features will be added at this time unless requested by users. I welcome your suggestions for future updates.

Feel free to share your feedback and suggestions!
----------, Jul 10, 2024

Have tested the plugin on spigot version 1.20.5, and didn't experience any issues, so seem good! If you experience any, please let me know.

Added option to disable sound by setting sound: NONE

added one new field in the config.yml. Can view the latest config.yml always at https://github.com/AlbusThePenguin/skyline/blob/master/src/main/resources/config.yml always at https://github.com/AlbusThePenguin/skyline/blob/master/src/main/resources/config.yml

and option to disable particles.

Side note, unless some creative and unique features come along I don't see me adding a ton of features as the good thing about this plugin in my eyes is that it is lightweight but I always welcome new suggestions.
----------, Apr 25, 2024

Changes:
item lead in config.yml is now referred to as 'material: LEAD' rather than 'item' under Settings.

Added:
'model: 0' for custom model data.

If you are unsure how to update the config.yml, you can delete and restart the server to create a new one with the latest configuration values.
----------, Apr 24, 2024

The issue is that bukkit does a inventory glitch when canceling lead use event so the 'hook' became a ghost item in your inventory. Still an issue with spigot and paper but did a temporarily fix and reported it, so will have to update it correctly when that's corrected.

Removed debug messages I forgot to remove in last version. for sorry the issues.
----------, Apr 18, 2024

version 1.2.

Fixed cooldown, broke in the last update due to strange coding by me.

Added a bug fix to deny using the skyline as a lead if it's a lead which is the default.
**This was NOT fixed after all** Currently reported a bug to spigot. Will update it as soon as the bug report has been resolved.

*forgot to remove a few debug message*

removed ugly debug redundant message.
----------, Apr 18, 2024

Added a visual effect like horns have on use.

*this may cause issues if you use an item that is frequently used because the same material will flash the cooldown*. can only use it per material not per item.

[​IMG]
----------, Apr 16, 2024

Open sourced the project. It's now available @ github with licence.
----------, Apr 14, 2024

Deleted all old versions, cause they're unsupported. Please pm me if you'd like the old version.

All new things should be included in the frontpage of the plugin.
----------, Apr 14, 2024

Updated to 1.20.4.
Been tested slightly. If you have any issues, let me know :)
----------, Dec 22, 2023

Cleaned up a little bit of code, fixed POM and have made some changes and how the menu function for now. You can now also toggle 'give_on_join' in the config or in the settings menu in-game without having to restart the server now.
----------, Aug 26, 2023

added a menu system that includes a few settings for now. Velocity, break sound toggle, use sound toggle, and cooldown. will be updated with lower integers for velocity soon. The code needs clean up at some point, but this is just a proto of the settings panel for now with limited to a few options.
----------, Aug 17, 2023

Fixed some bugs, cleaned up code, and fixed pom.

Need suggestions and ideas for future updates.
----------, Jul 21, 2023

If uses are enabled, now-crafted grappling hooks will also get the default uses decided in config.yml.
----------, Jul 20, 2023

Added a random feature.

You can now do /gh give <player> <random or number>

The new config.yml section for uses is
Code (Text):
  #Default uses on /gh give <player>
  uses:
    #Adds some basic use stats to the item lore. (Bound to the item)
    enabled: true
    #The default amount given if not specified.
    amount: 60

    #Select the minimum and maximum random number.
    #if you do /gh give <player> random instead of a number you will give them a random number between the min and max value.
    random:
      min: 3
      max: 67

    sound:
      enabled: true
      name: ENTITY_GOAT_HORN_BREAK
    message:
      enabled: true
The crafted grappling hook do not have any integrated uses on craft. being fixed in the next update.
----------, Jul 20, 2023

Added <optional> uses into the give command both for console and players with gh.admin.

If you have uses enabled in the config.yml when you issue the command /gh give <player> it will give the player the set amount by default in config.yml.
If you use for example /gh give <player> 1000 it will give the player 1000 uses. This is ONLY relevant if it's enabled.

There are no changes in the config. New messages are added by default if missing on server restart.

The crafted grappling hooks will always give the default value in the config.yml
----------, Jul 20, 2023

Removed the stats method as it's redundant regarding adding the uses method.

You can set the default amount of uses in the config.yml, I plan to add a feature where you can give players the amount of uses by command. aka change the command to /gh give <player> <uses | numerical>

You can disable this in the config.yml but it's enabled by default.
Check the config.yml on the plugin front page to update your config.yml if you are updating from an older version.

Messages.yml has a new message, but it should be added automatically.
----------, Jul 19, 2023

Additions:
- options to disable cooldown messages. Simply remove or change. The message string has been moved from messages.yml into config.yml.
- option to disable use messages, like the default "woosh" in the title.
- Option to also use Actionbar (do not support hex colors) and MAY not work on some server types (no clue. but it's a spigot text component)

New config and message files are:

This is the new config:
Code (Text):
Settings:
  #If you would like to give the players the hook on join, set this to true.
  #If set to true, you need to restart the server, because the event is not registered unless set to true.
  #If they already have the item nothing will happen
  give_on_join: false

  #Allow players to craft the grappling hook. It's the same as a fishing rod but the string is
  #replaced by emeralds. aka 'X S' ' XS' '  X'
  crafting:
    #Needs server restart to take effect.
    enabled: true

  #Set the velocity aka the amount of leap players get when using the grappling hook.
  velocity: 1.0
  #Set the cooldown in seconds between each use.
  cooldown: 2

  #set Enabled to true or false to toggle sounds
  sound:
    enabled: true
    #sound names https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
    name: BLOCK_NOTE_BLOCK_PLING

  #Hook messages
  messages:
    actionbar:
      enabled: false
      #Action bar do not support hex colors, so please limit the colors here to bukkit colors.
      message: '&8&l&oWhoosh!'
    title:
      enabled: false
      message: "&#EBC7FFWhoosh!"
    cooldown:
      enabled: false
      title: "&#EBC7FFCan't use this yet!"
      #Do not remove or change the '%this%'.
      subtitle: "&#EBC7FFCooldown: &#BE8CFF%this%&#EBC7FF seconds."

  stats:
    #Adds some basic use stats to the item lore. (Bound to the item)
    enabled: false
the new messages

Code (Text):
plugin_prefix: '&#EBC7FF[&#BE8CFFGrappling Hook&#EBC7FF]'
permission: '&#EBC7FFYou do not have permission.'
syntax: '&#EBC7FFWrong syntax: &#BE8CFF%this%'
plugin_reloaded: '&#EBC7FFConfig and messages has been reloaded.'
set: '&#EBC7FFYou set &#BE8CFF%this%&a to &#EBC7FF%that%&#EBC7FF.'
missing_player: '&#EBC7FFCan''t find &#BE8CFF%this%&#EBC7FF online.'
full_inventory: '&#BE8CFF%this%&#EBC7FF inventory is full'
cooldown_less: less than 1 second
stats_uses: '&#EBC7FFThe Grappling Hook Has Been Used: &#BE8CFF%this% times.'
received: '&#BE8CFF%this%&#EBC7FF gave you a %plugin%'
gave: '&#EBC7FFYou gave &#BE8CFF%this%&#EBC7FF a %plugin%'
 
----------, Jul 19, 2023

Added permission requirements to craft.
gh.craft (or gh.admin or OP) is the recipe needed to craft it.
Did some tiny cleaning up too. Am open-sourcing the project tomorrow.
If you want any features let me know.
----------, Jul 18, 2023

Added crafting option. The shaped recipe is a fishing rod, with the string replaced for emerald(s).

new config fields:
Code (Text):
  #Allow players to craft the grappling hook. It's the same as a fishing rod but the string is
  #replaced by emeralds. aka 'X S' ' XS' '  X'
  crafting:
    #Needs server restart to take effect.
    enabled: true
----------, Jul 18, 2023

Fixed the way I deal with config, both in messages.yml and for the config.yml. Initiated the timer cooldown incorrectly, so the newly updated timer didn't change after '/gh reload' didn't work.

Added a simple stats addon, it's off by default. It just keep a counter in the lore of the Grappling Hook on how many times it has been used.

Changed the default messages.yml style. and plugin default colors.

New field in config.yml

new config should look like this
Code (Text):
Settings:
  # If you would like to give the players the hook on join, set this to true.
  # If set to true, you need to restart the server, because the event is not registered unless set to true.
  # If they already have the item nothing will happen
  give_on_join: false
 
  # Set the velocity aka the amount of leap players get when using the grappling hook.
  velocity: 1.5
  # Set the cooldown in seconds between each use.
  cooldown: 1
 
  # set Enabled to true or false to toggle sounds
  sound:
    enabled: false
    # sound names https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
    name: BLOCK_NOTE_BLOCK_PLING
 
  stats:
    # Adds some basic use stats to the item lore. (Bound to the item)
    enabled: true
 
Edit:
also fixed that I gave the /gh reload wrong permission, aka gh.player for some reason. fixed now.
----------, Jul 17, 2023

Changed how the plugin handles the config.

Changed the cooldown messages from chat into the ActionBar.

No config changes, one more message will be added to your messages.
----------, Jul 17, 2023

Added
- option to disable sound
- instructions for configurations
- added a cooldown bypass 'gh.bypass.cooldown' << permission needed or gh.admin or OP.
- Added give player grappling hook on join, ONLY if they don't already have it in their inventory. Is set to false by default in config.yml and needs a restart after changing as I didn't want to register events that aren't needed for those who don't use that feature.

- console commands
- /gh give <player>
- /gh reload

Fixed
- forgot to do a null check for a normal fishing rod, so the console would be spammed with nulls when using normal rods, my apologies.
- some other minor fixes and cleanup.

Want any more features, please let me know in reviews in the discussion.
----------, May 26, 2023

The entire code has been rewritten. it lacks a few features it originally had, but they will come back.

The plugin is still lightweight, but also now has a cleaner code.

If you are updating from a previous install you need to delete all files before installing the new version.
----------, May 25, 2023

added a new feature that requires the owner to use the grappling hook. If so when using /phook sound you are also required to be the owner to toggle.



added optional update notification on login. (Can be disabled in config.yml)



fixed phook sound permissions to work correctly.



new config
Code (Text):
#due to issues related to reloading plugins, I decided only to reload messages.yml using the /phook reload.
#So to make any changes here you will need to restart the server, then edit the file and start the server again.


#get notified when new updates on login.
notify_updates: true

fishhook:
  #supports hex colors &#c1c1c1
  hook_name: '&b&l[&a&lPenguin &6&lHook&b&l]'

  #Full command is /phook give <target|player> <velocity> <cooldown>
  #Giving velocity and cooldown stats are optional. If you do not add <velocity> and/or <cooldown> they will get the default cooldown and velocity.
  #You can change velocity and cooldown by simply doing /phook edit <cooldown> or <velocity>
  default_velocity: 0.3
  default_cooldown: 0.5

  #Use particles true / false
  hook_particles: true
  #Particle type list: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html
  particle_type: 'SMOKE_LARGE'
  particle_amount: 25

  #Enable or disable sound
  sound: true
  #NB.. the list https://www.digminecraft.com/lists/sound_list_pc.php if you find for example : entity.bee.hurt' you have to write 'ENTITY_BEE_HURT'.
  sound_name: 'ENTITY_WITHER_SHOOT' #Select your preferred sound
  #Volume has to be between 1-15
  volume: 15
  pitch: 1.5

  #Should the grappling hook be unbreakable?
  unbreakable: true

  #should ONLY the player who is given the hook be able to use the hook?
  use_owner: true
Planned updates

- allow phook.admin to bypass both owner and sound command when not the owner.

- adding stats to the grappling hook. (Will be optional)
----------, Aug 6, 2022

Removed bypass cooldown and removed unwanted permission. You get the tab-complete automated with phook.admin now. To have essentially 0 cooldowns you can simply set the cooldown per hook or in general config to 0.1.

Fixed phook.use and phook.sound not working correctly. Sorry for that.

No config changes.
----------, Aug 4, 2022

The entire plugin has been rewritten and added tons of changes.

The front page has been edited and all new features should be listed there.

This has loosely been tested and probably requires more testing and a few updates. please let me know if you have any issues.

If you are updating, this is using a new config folder.
----------, Aug 4, 2022

Code (Text):
#The grappling hook plugin prefix
#Supports hex (Example color #CCCCCC) and normal minecraft color codes (Example &b)
# You can also use Format types provided by minecraft.
#link for minecraft color codes and formats: https://www.digminecraft.com/lists/color_list_pc.php
#To use hex code please use it like this '&#<HexColor here>'
plugin_prefix: '&8[&#7aff2dPen&#45bd00gu&#1e5200in &#0099a6Ho&#00c1d1ok&8] '

#The grappling hook item name
#Supports hex (Example color #CCCCCC) and normal minecraft color codes (Example &b)
# You can also use Format types provided by minecraft.
#link for minecraft color codes and formats: https://www.digminecraft.com/lists/color_list_pc.php
#To use hex code please use it like this '&#<HexColor here>'
Grappling:
  Name: '&#ffa631Gr&#ffb452ap&#ffd399pl&#ffe0b8ing &#0099a6Ho&#00c1d1ok'

  #Cooldown in seconds... Set 0 to disable.
  Cooldown: 2


  Velocity: 0.3

  Sound: 'Enabled' #change to 'disabled' to turn off sound effect(s).
 
  #NB.. the list https://www.digminecraft.com/lists/sound_list_pc.php if you find for example : entity.bee.hurt' you have to write 'ENTITY_BEE_HURT'.
  SoundName: 'ENTITY_WITHER_SHOOT' #Select your preferred sound
----------, Jul 8, 2022

Resource Information
Author:
----------
Total Downloads: 1,368
First Release: Jul 8, 2022
Last Update: Dec 19, 2024
Category: ---------------
All-Time Rating:
6 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings