LiveToggle
PluginLicenseRef-All-Rights-Reserved

LiveToggle

Livestreaming? do /live to enable or disable Live Stream Modus, (config partially in Dutch)

43
Downloads
1
Followers
4 months ago
Updated
📦
1
Versions

📖About LiveToggle

LiveToggle

LiveToggle is an extremely lightweight Paper/Spigot plugin that allows players to toggle a LIVE mode using /live.

The plugin:

  • Executes console commands (e.g. LuckPerms suffix)
  • Supports multiple custom commands
  • Is fully configurable
  • Uses no schedulers, no loops, no listeners
  • Uses virtually no memory
  • Built for JDK 21 + Gradle

✨ Features

  • /live toggle (on / off)
  • LuckPerms suffix set / remove (configurable)
  • Multiple custom commands on:
    • LIVE enabled
    • LIVE disabled
  • Fully customizable messages
  • /livetoggle reload
  • Persistent per-player storage (1 byte)
  • Lag-free design

🧠 Performance & Lag

LiveToggle is designed with performance as the highest priority:

  • ❌ No repeating tasks
  • ❌ No async/sync schedulers
  • ❌ No event listeners
  • ❌ No HashMaps or growing caches
  • ✅ Code runs only when /live is executed
  • ✅ Storage via PersistentDataContainer (1 byte per player)

➡️ Result: no noticeable lag and negligible memory usage


📦 Requirements

  • Paper / Spigot
  • Java 21
  • Gradle
  • (Optional) LuckPerms

🔧 Installation

  1. Download or build the plugin
  2. Place LiveToggle-*.jar in your plugins/ folder
  3. Start the server
  4. Edit config.yml to your liking
  5. Use /livetoggle reload after changes

⚙️ Commands

/live

Toggles LIVE mode on or off

/livetoggle reload

Reloads the configuration without restarting the server


🔐 Permissions

Permission Description
livetoggle.use Access to /live
livetoggle.reload Access to /livetoggle reload

📝 Configuration (config.yml)

permission: "livetoggle.use"
reloadPermission: "livetoggle.reload"

luckperms:
  enabled: true
  priority: 100
  suffix: " &c[LIVE]&7"
  setSuffixCommand: 'lp user {player} meta setsuffix {priority} "{suffix}"'
  removeSuffixCommand: "lp user {player} meta removesuffix {priority}"

commands:
  onEnable:
    - "say &a{player} is now LIVE!"
  onDisable:
    - "say &c{player} is no longer LIVE!"

messages:
  noPermission: "&cYou do not have permission."
  enabled: "&aLIVE mode enabled."
  disabled: "&cLIVE mode disabled."
  reloaded: "&aConfig reloaded."
  reloadNoPermission: "&cYou do not have permission to do this."
  reloadUsage: "&cUsage: /livetoggle reload"