Overview
When a player walks on or stands on a configured block type (default: Slime Block), they are launched into the air with configurable power and sound effects. The feature includes a cooldown system to prevent spam.Configuration
config.yml
Configuration Options
enabled
enabled
Enable or disable launchpad functionality.Type: Boolean
Default:
Default:
truetype
type
The block type that acts as a launchpad.Type: Material (Bukkit Material enum)
Default:
Examples:
Default:
SLIME_BLOCKExamples:
SLIME_BLOCK, GOLD_BLOCK, DIAMOND_BLOCKpower
power
The horizontal launch power multiplier.Type: Number
Default:
Note: Higher values = stronger horizontal boost
Default:
2Note: Higher values = stronger horizontal boost
power_y
power_y
The vertical (upward) launch power.Type: Number
Default:
Note: Controls how high players are launched
Default:
0.5Note: Controls how high players are launched
cooldown
cooldown
Cooldown in seconds between launchpad uses.Type: Integer
Default:
Important: Must be an integer value
Default:
2Important: Must be an integer value
sound
sound
Sound effect played when launching.Type: Sound (Bukkit Sound enum)
Default:
Default:
entity.firework_rocket.blastHow It Works
Player steps on block
When a player moves onto or stands on the configured block type (e.g., SLIME_BLOCK).
Permissions
Permission:hubbly.use.launchpad
Players need this permission to be launched by launchpads. Without it, they’ll receive a “no permission” message.
Implementation Details
The launchpad system is implemented inLaunchpadListener.java and detects blocks both below and at the player’s location:
LaunchpadListener.java
Launch Action
The actual launch is executed through Hubbly’s action system using the[LAUNCH] action, which applies velocity to the player based on the configured power values.
Advanced Usage
Creating Parkour Courses
Use launchpads strategically in parkour courses:Long-Distance Travel
For hub transportation systems:Gentle Bounce Pads
For decorative or fun elements:Best Practices
Test power values
Experiment with different power and power_y combinations to achieve the desired launch effect. Start with default values and adjust incrementally.
Use distinct block types
Choose a block type that stands out visually so players immediately recognize it as a launchpad.
Set appropriate cooldowns
Balance cooldowns to prevent spam while maintaining smooth gameplay. 1-3 seconds is usually ideal.
Place safely
Position launchpads so players land safely. Test the trajectory before finalizing placement.
Disabled Worlds
Launchpads respect the disabled worlds configuration and won’t function in disabled worlds:config.yml
Troubleshooting
Launchpad not launching players
Launchpad not launching players
- Check that
launchpad.enabledis set totrue - Verify the block type matches the
launchpad.typein config - Ensure players have the
hubbly.use.launchpadpermission - Confirm the world is not in the disabled-worlds list
Launch power too weak/strong
Launch power too weak/strong
Adjust the
power and power_y values:- Increase
powerfor more horizontal distance - Increase
power_yfor more height - Test incrementally (e.g., 0.5 adjustments)
Players getting spammed by launches
Players getting spammed by launches
- Increase the
cooldownvalue (try 3-5 seconds) - Ensure cooldown is set as an integer, not decimal
No sound playing
No sound playing
- Verify the sound name is a valid Bukkit Sound enum
- Check player sound settings are not muted
- Test with a common sound like
entity.firework_rocket.blast
Related Features
- Double Jump - Another movement enhancement feature
- Movement Items - Item-based movement mechanics
- Disabled Worlds - Control where launchpads work