Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for b-F-1

A quality of life plugin for the happy ghast. Includes flight speed and 'look-to-follow'. Supports live command settings

Report GhastQoL?

GhastQoL

The quintessential happy ghast plugin. follow

Happy Ghasts have the potential to be the best form of transportation ever introduced, unfortunately they're slow and difficult to catch up with when they fly away, and when you're standing on top of them you could get kicked for 'flying', this plugin fixes all of those issues and more.

Commands- /ghastqol reload — reload the config (permission ghastqol.reload, default OP).

  • /ghastqol rotate — snap the happy ghast you're riding (or the nearest one within rotate.range) to yaw 0° so it lines up with the block grid. Handy when using a ghast as a build platform. Permission ghastqol.rotate (default: everyone).
  • /ghastqol check — look at (or stand near) a ghast and run this to see whether it has the follow goal and speed boost attached, and its home/range. It re-attaches anything missing on the spot — handy for a ghast that grew up or reloaded without our logic.
  • /ghastqol settings — list all editable settings and their current values.
  • /ghastqol settings <path...> <value> — change a setting live (no restart/reload needed). The space-separated path maps to the config key, so follow enabled means follow.enabled. Examples: /ghastqol settings speed-multiplier 5, /ghastqol settings follow trigger timer, /ghastqol settings follow enabled false. Values are type-checked and range-checked, tab completion walks the path and suggests values, and changes are saved to config.yml and applied to all loaded ghasts immediately. Permission ghastqol.settings (default OP). Note: Minecraft AI can re-rotate a mob, so after aligning, the plugin briefly pauses follow for that ghast (rotate.hold-seconds) so it stays put. While a player is actively riding and steering, the rider's input still controls facing — align while sitting still, or hop off first.

Config (plugins/GhastQoL/config.yml)

speed-multiplier: 3.0     # 3x vanilla flight speed
only-when-ridden: true   # true = only boost while a player is riding

follow:                   # make unridden ghasts follow the nearest player
  enabled: true
  range: 32.0             # only follow players within this many blocks
  stop-distance: 4.0      # stop approaching once this close
  speed: 1.0              # navigation speed multiplier

Following

Each ghast has a home (where it's resting — set when it loads, and re-set to wherever a rider leaves it, mirroring vanilla). It only follows players inside range of that home and won't chase them beyond it; if it drifts out, it steers back home.

What triggers a follow depends on follow.trigger:

  • look (default) — the ghast follows whoever is looking at it (within look-angle degrees, and with clear line of sight if require-line-of-sight is on). It keeps following for look-linger-seconds after they look away, so a quick glance elsewhere doesn't stop it dead.
  • timer — the ghast follows on a cycle: follow-seconds chasing, then rest-seconds of normal vanilla flight, repeating.

Tuning tips: range is the home leash radius; look-angle widens/tightens the "looking at it" cone; speed scales glide speed; stop-distance is how close it gets.

Reload after editing with /ghastqol reload (permission ghastqol.reload, default OP).

Commands- /ghastqol reload — reload the config (permission ghastqol.reload, default OP).

  • /ghastqol rotate — snap the happy ghast you're riding (or the nearest one within rotate.range) to yaw 0° so it lines up with the block grid. Handy when using a ghast as a build platform. Permission ghastqol.rotate (default: everyone).
  • /ghastqol check — look at (or stand near) a ghast and run this to see whether it has the follow goal and speed boost attached, and its home/range. It re-attaches anything missing on the spot — handy for a ghast that grew up or reloaded without our logic.
  • /ghastqol settings — list all editable settings and their current values.
  • /ghastqol settings <path...> <value> — change a setting live (no restart/reload needed). The space-separated path maps to the config key, so follow enabled means follow.enabled. Examples: /ghastqol settings speed-multiplier 5, /ghastqol settings follow trigger timer, /ghastqol settings follow enabled false. Values are type-checked and range-checked, tab completion walks the path and suggests values, and changes are saved to config.yml and applied to all loaded ghasts immediately. Permission ghastqol.settings (default OP). Note: Minecraft AI can re-rotate a mob, so after aligning, the plugin briefly pauses follow for that ghast (rotate.hold-seconds) so it stays put. While a player is actively riding and steering, the rider's input still controls facing — align while sitting still, or hop off first.

How it works

Vanilla happy ghasts have a flying_speed base of ~0.05, which feels sluggish. The plugin adds a scalar attribute modifier so the effective speed becomes base × speed-multiplier. The modifier is applied when a ghast enters the world (spawn or chunk load) and is cleanly removed if you disable/remove the plugin.

Notes

  • only-when-ridden uses mount/dismount events so the ghast is only fast with a rider aboard, then returns to normal.
  • Very high multipliers can make the ghast hard to steer — 2–4 is a comfortable range.
  • This is standard Paper API; for Folia you'd need to swap the scheduler calls for the region/entity scheduler.

The "Flying is not enabled on this server" kick

Minecraft has a built-in check that kicks players who appear airborne too long (Player was kicked for floating too long!). It doesn't count an entity's hitbox as ground, so standing on a happy ghast — using it as a build platform — can get you kicked even though you're doing nothing wrong.

GhastQoL cancels that kick, but only when the player is genuinely standing on a happy ghast. It checks the kick's cause is the flight check, then confirms the player is on top of (or at the rim of) a ghast's hitbox. Every other kick — bans, /kick, timeouts, real anti-cheat — is untouched, and genuine floating with no ghast underneath is still kicked.

flight-kick-fix:
  enabled: true
  vertical-tolerance: 3.0   # how far above the hitbox still counts as standing on it
  horizontal-padding: 1.5   # margin around the edges, for standing near the rim
  log-saves: false          # log each cancelled kick (handy while testing)

Usage

MIT License, if you redistribute please link back to the original repo for bug reports and maintenance, etc.

Information

CategoryGameplay
Published onAugust 5, 2026
LicenseMIT
Downloads0
Stars0
Watchers0

Pinned Versions

Members

Avatar for b-F-1

b-F-1

Owner