LetsPlay

Version: 1.0-Experimental-2
Status: Experimental
Tested on: 1.19.x - 1.21.x
Last updated: May 8, 2025

Simple lobby system designed for smaller server/communities

Features

  • Compass-based Server Selector (SS) - On the lobby world, players get a compass to select mini-game servers.
  • Custom commands via Server Selector - Configurable in config.yml
  • Lobby settings - Block damage, interaction, and more.
  • Command aliases - /lobby,/hub,/spawn and /lpreload
  • Time played GUI - Shows player’s profile with playtime (In SS GUI)

Commands

LetsPlay provides few commands to help it make it more controlable:

All commands used in plugin:

Command Alias Description Permission
/setlobby - Set the current location as the lobby letsplay.setlobby
/lobby /hub, /spawn Teleport to the lobby letsplay.lobby
/lobbysettings - Open GUI to configure lobby behavior letsplay.lobbysettings
/letsplayreload /lpreload Reload the plugin configs letsplay.reload

Permissions

This plugin uses few permissions to control acces to commands and features:

Permission Groups

  • letsplay.* - Access to everything
  • letsplay.setlobby - Set the lobby
  • letsplay.lobby - Teleport to lobby
  • letsplay.lobbysettings - Open lobby settings GUI
  • letsplay.reload - Reload configs

Bypass

  • letsplay.bypass.*
  • letsplay.bypass.blockbreak
  • letsplay.bypass.blockplace
  • letsplay.bypass.containers

Configuration

Every part of LetsPlay plugin is customizable in config files.

Main Configuration (config.yml)

config.yml
# Messages
messages:
  prefix: "&7🛠&2Lets&aPlay&7🛠&r "
  lobby-set: "&aLobby has been set successfully!"
  no-permission: "&cYou don't have permission to use this command!"
  no-lobby-set: "&cNo lobby has been set yet!"
  teleported-to-lobby: "&aYou have been teleported to the lobby!"
  settings-saved: "&aSettings have been saved successfully!"
  configs-reloaded: "&aAll configurations have been reloaded successfully!"

# Settings
settings:
  # Lobby protection settings
  lobby-protection:
    enabled: true
    prevent-fall-damage: true
    prevent-pvp: true
    prevent-all-damage: true
    prevent-block-break: true
    prevent-block-place: true
    prevent-hunger: true
    prevent-drowning: true
    prevent-container-access: true
    prevent-interaction: true
    force-adventure-mode: true
    teleport-on-join: true
    clear-inventory: true

  # Items settings
  items:
    compass:
      enabled: true
      slot: 0 # 0 = first slot
      name: "&bServer Selector"
      lore:
        - "&7Right-click to open"
        - "&7the server selector!"

    info-book:
      enabled: true
      slot: 8 # 8 = Last slot
      name: "&aServer Information"
      lore:
        - "&7Right-click to view"
        - "&7server information!"
info.yml
info:
  - "&f&l=== Server info? ==="
  - "&7Lorem ipsum dolor sit amet, consectetur adipiscing elit!"
  - " "
  - "&aText here"
  - "&bYou can add/remove more lines"
  - "&cLorem ipsum dolor sit amet, consectetur adipiscing elit"
  - "&dMorbi at pharetra lacus, eget sagittis nibh"
  - "&e"
  - "&eDonec eleifend leo eget metus placerat, vel convallis eros porta.  "
  - "&fNullam viverra non ligula et consectetur."
  - "&"
  - " "
  - "&7Thanks for playing on our server!"
  - "&f&l================================="
menu.yml
# Menu settings
menu:
  title: "&8&lServer Selector"
  size: 54 # (6 rows)
  fill-empty-slots:
    enabled: true
    material: "BLACK_STAINED_GLASS_PANE" # Empty spots will change into this block
    name: " "

# Player stats
player-stats:
  enabled: true
  slot: 49
  name: "&e&lYour Stats"
  lore:
    - "&7Time played: &e%playtime%"
    - "&7First join: &e%first_join%"
    - "&7Last seen: &e%last_seen%"

# Servers configuration
servers:
  survival:
    enabled: true
    slot: 19
    material: "GRASS_BLOCK"
    amount: 1
    name: "&a&lServer1"
    lore:
      - "&7Lorem ipsum dolor sit amet, consectetur adipiscing elit."
      - "&7Online players: &a%survival_online%" # this function is EXPERIMENTAL, If its not working, you can safely remove it
      - " "
      - "&eInteger ut sagittis dolor."
    command: "join survival" # Any command

  skyblock:
    enabled: true
    slot: 21
    material: "DIRT_BLOCK"
    amount: 1
    name: "&b&lServer2"
    lore:
      - "&7Lorem ipsum dolor sit amet, consectetur adipiscing elit."
      - "&7Online players: &a%skyblock_online%" # this function is EXPERIMENTAL, If its not working, you can safely remove it
      - " "
      - "&eInteger ut sagittis dolor."
    command: "join skyblock" # Any command

  creative:
    enabled: true
    slot: 23
    material: "DIAMOND_BLOCK"
    amount: 1
    name: "&d&lServer3"
    lore:
      - "&7Lorem ipsum dolor sit amet, consectetur adipiscing elit."
      - "&7Online players: &a%creative_online%" # this function is EXPERIMENTAL, If its not working, you can safely remove it
      - " "
      - "&eInteger ut sagittis dolor."
    command: "join creative" # Any command

  minigames:
    enabled: true
    slot: 25
    material: "ENDER_EYE"
    amount: 1
    name: "&5&lServer4"
    lore:
      - "&7Lorem ipsum dolor sit amet, consectetur adipiscing elit."
      - "&7Online players: &a%minigames_online%" # this function is EXPERIMENTAL, If its not working, you can safely remove it
      - " "
      - "&eInteger ut sagittis dolor."
    command: "join minigames" # Any command