Sueta

ohFirstSpawn - Teleport player on their FirstJoin - [1.18 -

1.2.1

First Time Player Spawn Teleporter

·Plugin

ohFirstSpawn

A lightweight and configurable plugin that automatically teleports players to a designated spawn point. Can teleport only first-time players or all players on every join.

✨ Features

  • Automatic Detection: Identifies first-time players and teleports them after a configurable delay
  • Flexible Teleportation: Choose between first-time only or all players on every join
  • Fully Configurable: All messages, sounds, and timings can be customized
  • Multi-Language Support: Comes with English configs
  • Sound Effects: Optional teleport sounds for better user experience
  • Permission-Based: Secure command system with proper permission checks
  • Lightweight: Minimal performance impact with efficient player tracking
  • Data Persistence: Remembers processed players across server restarts

Commands

CommandDescriptionPermission
/ofs setSet the first spawn locationohfirstspawn.set
/ofs infoView current spawn configuration and statisticsohfirstspawn.set
/ofs reloadReload plugin configurationohfirstspawn.set

Configuration

The plugin features a comprehensive config.yml where you can customize:

  • Spawn coordinates (world, x, y, z, yaw, pitch)
  • All plugin messages with color code support
  • Teleport delay (in ticks)
  • Sound effects on/off
  • Custom teleport sounds

Example Configuration

# ohFirstSpawn Configuration File

# Spawn configuration
spawn:
  world: world
  x: 0
  y: 0
  z: 0
  yaw: 0
  pitch: 0

# List of players who already spawned for the first time
players: []

# Customizable messages (supports color codes with &)
messages:
  # Command messages
  only-player: '&cThis command can only be executed by a player!'
  no-permission: '&cYou don''t have permission to use this command!'
  usage: '&cUsage: /ofs set | /ofs info'
 
  # Spawn set messages
  spawn-set: '&aSpawn for new players set successfully!'
  spawn-position: '&7Position: &f{x}, {y}, {z} &7in world &f{world}'
  spawn-rotation: '&7Yaw: &f{yaw} &7Pitch: &f{pitch}'
 
  # Info messages
  spawn-info: '&aSpawn configured:'
  spawn-world: '&7World: &f{world}'
  spawn-coordinates: '&7Coordinates: &f{x}, {y}, {z}'
  spawn-not-configured: '&cSpawn not configured yet!'
  spawn-load-error: '&cError loading spawn!'
  players-processed: '&7Players processed: &f{count}'

# Plugin settings
settings:
  # Delay in ticks before teleport (20 ticks = 1 second)
  teleport-delay: 20
 
  # Enable sounds on teleport
  play-sounds: true
 
  # Sound to play (only if play-sounds is true)
  teleport-sound: ENTITY_ENDERMAN_TELEPORT

  # If true, ALL players will be teleported to spawn on join (not just first-time players)
  teleport-join-players: false

  debug: true

Teleport Modes

The plugin supports two teleportation modes:

  • First-Time Only (teleport-join-players: false): Only new players who have never joined before are teleported to spawn
  • All-Time join (teleport-join-players: true): Every player is teleported to spawn on every join

Permissions

PermissionDescriptionDefault
ohfirstspawn.setAllow setting spawn locations and using commandsop

Compatibility

  • Minecraft Versions: 1.18+
  • Server Software: Spigot, Paper, Purpur, Folia
  • Java: 17+

Installation

  1. Download the plugin JAR file
  2. Place it in your server's plugins folder
  3. Restart or reload your server
  4. Configure messages in config.yml if desired
  5. Set spawn location with /ofs set
  6. Done! Players will automatically be teleported based on your configuration

Usage

  1. Set spawn location: Stand where you want players to spawn and run /ofs set
  2. Check configuration: Use /ofs info to view current spawn settings and player statistics
  3. Choose teleport mode: Set teleport-join-players to true for all join time or false for first-time only
  4. Customize messages: Edit the config.yml file to change messages and settings
  5. Reload configuration: Use /ofs reload to apply config changes without restart

Multi-Language Support

The plugin comes with pre-configured language files:

  • English (config.yml)

Simply replace the default config with your preferred language version.

Support

If you encounter any issues or have questions:

  • Create an Issue on GitHub

⭐ If you found this plugin helpful, please consider giving it a rating! ⭐

Similar projects

Plugin →