BetterElevator

BetterElevator

Elevator plugin, similar to a mod !

133 downloads 0 followers

BetterElevator

BetterElevator Real-block elevators with smooth motion, solid walls, and per-elevator speed control. Folia and Paper safe.


Features

  • Build your own cabin — select any shape with a blaze rod, run /bet create <name>, done. No restrictive templates.
  • Smooth, real-block motion — the cabin moves as actual FallingBlocks with vanilla physics carrying you up/down. No teleport jank, no "fall through floor" bugs.
  • Solid walls (via ProtocolLib) — passengers can't walk through cabin walls horizontally. Implemented with client-only block packets — server world untouched, non-passengers see nothing. Predictive packet scheduling compensates for network latency.
  • Per-elevator speed levels — /bet speed <elevator> <level> switches between configurable speeds (default 2.5 / 5 / 10 / 20 blocks/sec). Persisted per elevator.
  • Sign and button triggers — write [BET] / <elevator> / <floor> on a sign and right-click rides. Or /bet bind <elevator> to turn any block into a call button (opens a floor-picker chest GUI).
  • Auto floor registration — writing [BET] / <elevator> / 5F:+6 on a sign auto-registers a new floor 6 blocks above the highest existing one.
  • Per-player permission groups — limit max cabin size, max elevators owned, max speed per group via permissions/groups.yml.
  • World filtering — whitelist/blacklist worlds where elevators work.
  • Multi-backend storage — YAML (default), SQLite, or MySQL. SQL backends auto-migrate schema.
  • i18n — bundled zh_tw and en_us; each player sees their client locale automatically. Drop in your own lang/<locale>.yml.
  • Mixed colour syntax — every message accepts MiniMessage tags, legacy &6 codes, and hex &#FFAA00 / #FFAA00 freely mixed.
  • Auto config migration — new config keys from updates are merged into your existing config on reload, with comments. Existing values are never overwritten.

Requirements

  • Paper 1.21+ (or any Folia build)
  • ProtocolLib (soft dependency — only needed for solid walls; without it the plugin runs fine and walls fall back to walk-through)
  • Java 21+

Quick start

  1. Drop the jar in plugins/.
  2. Restart.
  3. Get a blaze rod. Left-click one corner of your cabin, right-click the opposite corner.
  4. Stand inside the cabin. Run /bet create lobby.
  5. Place a sign somewhere with: [BET] lobby 2F:+5

Right-click it. Cabin moves 5 blocks up.


Commands

Command Description
/bet create <name> Create elevator from current selection + standing position
/bet floor add <elevator> <floor> Register your current position as a floor
/bet floor remove <elevator> <floor> Remove a floor
/bet bind <elevator> Bind the block you're looking at as a call button
/bet unbind Remove the call-button binding from the targeted block
/bet goto <elevator> <floor> Force-call elevator to a floor
/bet speed <elevator> <level> Switch speed level
/bet list List all elevators
/bet info <elevator> Inspect an elevator
/bet delete <elevator> Delete an elevator
/bet reset <elevator|all> Clear stuck ride state / orphan blocks
/bet reload Reload config, lang, permissions

Permissions

  • betterelevator.admin — full management (default: op)
  • betterelevator.use — ride elevators via signs/buttons (default: true)
  • betterelevator.speed — change elevator speed level (default: op)
  • betterelevator.group.<name> — per-group limits in permissions/groups.yml

Configuration highlights

motion:
default-blocks-per-second: 2.5
speed-levels: [2.5, 5.0, 10.0, 20.0]

passengers:
fake-wall-blocks: true             # solid walls via ProtocolLib
fake-wall-lookahead-ticks: 2       # latency compensation
inride-friction: 0.6               # X/Z friction while riding

worlds:
mode: all                          # all / whitelist / blacklist
list: []

storage:
type: yaml                         # yaml / sqlite / mysql
Notes
Folia: the plugin uses per-region scheduling for block writes and entity work. Cross-region rides work.
Passenger limits: by default the cabin carries the player plus any mobs and dropped items inside it. Toggle via passengers.carry-mobs / passengers.carry-items.
Storage migrates from older versions automatically. Don't lose any existing data.
Bug reports and PRs welcome.
Version Minecraft Loader Download

BetterElevator 0.3.0

0.3.0

1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2
folia, paper, purpur
Download