Skip to content

Releases: naf-studio/firstjoinrtp-plugin

v1.7

Choose a tag to compare

@github-actions github-actions released this 07 Oct 08:51

Full Changelog: v1.6...v1.7

v1.6

Choose a tag to compare

@github-actions github-actions released this 24 May 07:21

FirstJoinRTP

FirstJoinRTP is a lightweight and robust Minecraft server plugin. It facilitates Random Teleport (RTP) for players upon their first time joining a specific world, and automatically executes a configurable command to save their destination as their spawnpoint or home. This is especially useful for servers using Limbo or Lobby authentication plugins (like LibreLogin), where you only want the RTP to trigger when they actually enter the survival world.

🎮 Supported Versions

  • Minecraft 1.20.4 - 1.21.x (Spigot, Paper, Purpur, etc.)
    • Note: The native spawnpoint/teleport API methods used by the plugin require Minecraft 1.20.4 or newer.

✨ Features

  • First Join RTP: Triggers a customizable random teleport command only on their first time joining.
  • Auto-Save Spawnpoint / Home: Execute customizable commands (e.g., vanilla /spreadplayers / /spawnpoint or CMI /cmi setspawn / /cmi sethome) at the player's RTP landing spot.
  • Safe Teleportation: Hides the player during the RTP process, provides temporary invulnerability, and prevents mobs from targeting them while chunks load.
  • Persistent Data: Uses Minecraft's native PersistentDataContainer to track RTP completion, meaning no database configuration is required.

⚙️ Configuration

A default config.yml is generated upon first startup.

# Target world to check for first join RTP
target-world: "world"

# Whether to enable the custom Random Teleport command execution
rtp-command-enabled: true

# Command to execute for Random Teleport
# Used when the player enters the target world for the first time.
#
# Placeholders: %player%, %world%
#
# Default (Vanilla): "spreadplayers 0 0 150 10000 false %player%"
# CMI Recommendation: "cmi rt %player% %world%"
rtp-command: "spreadplayers 0 0 150 10000 false %player%"

# Whether to enable the custom spawnpoint command execution
spawnpoint-command-enabled: true

# Command to set the player's spawnpoint or home after successful RTP.
#
# Placeholders: %player%, %world%, %x%, %y%, %z%
#
# Default (Vanilla): "spawnpoint %player% %x% %y% %z%"
# CMI Recommendation: "cmi sethome firstspawn %player% -p -l:%world%;%x%;%y%;%z% -overwrite"
spawnpoint-command: "spawnpoint %player% %x% %y% %z%"

# The amount of ticks to wait after the RTP teleport finishes before unhiding the player.
# 20 ticks = 1 second.
delay-after-teleport-ticks: 20

🚀 Installation

  1. Place the FirstJoinRTP.jar into your server's plugins folder.
  2. Restart your server.
  3. Adjust plugins/FirstJoinRTP/config.yml as needed.
  4. Restart your server or reload the plugin to apply config changes.

🛠️ Building the Plugin

To compile and package the plugin from source, you will need:

  • Java Development Kit (JDK) 17 or higher.

  • Apache Maven installed and configured in your system path.

  • Run the following command:

    mvn clean package

v1.5

Choose a tag to compare

@github-actions github-actions released this 24 May 03:32

FirstJoinRTP

FirstJoinRTP is a lightweight and robust Minecraft server plugin. It facilitates Random Teleport (RTP) for players upon their first time joining a specific world, and automatically executes a configurable command to save their destination as their spawnpoint or home. This is especially useful for servers using Limbo or Lobby authentication plugins (like LibreLogin), where you only want the RTP to trigger when they actually enter the survival world.

✨ Features

  • First Join RTP: Triggers a customizable random teleport command only on their first time joining.
  • Auto-Save Spawnpoint / Home: Execute customizable commands (e.g., vanilla /spreadplayers / /spawnpoint or CMI /cmi setspawn / /cmi sethome) at the player's RTP landing spot.
  • Safe Teleportation: Hides the player during the RTP process, provides temporary invulnerability, and prevents mobs from targeting them while chunks load.
  • Persistent Data: Uses Minecraft's native PersistentDataContainer to track RTP completion, meaning no database configuration is required.

⚙️ Configuration

A default config.yml is generated upon first startup.

# Target world to check for first join RTP
target-world: "world"

# Whether to enable the custom Random Teleport command execution
rtp-command-enabled: true

# Command to execute for Random Teleport
# Used when the player enters the target world for the first time.
#
# Placeholders: %player%, %world%
#
# Default (Vanilla): "spreadplayers 0 0 150 10000 false %player%"
# CMI Recommendation: "cmi rt %player% %world%"
rtp-command: "spreadplayers 0 0 150 10000 false %player%"

# Whether to enable the custom spawnpoint command execution
spawnpoint-command-enabled: true

# Command to set the player's spawnpoint or home after successful RTP.
#
# Placeholders: %player%, %world%, %x%, %y%, %z%
#
# Default (Vanilla): "spawnpoint %player% %x% %y% %z%"
# CMI Recommendation: "cmi sethome firstspawn %player% -p -l:%world%;%x%;%y%;%z% -overwrite"
spawnpoint-command: "spawnpoint %player% %x% %y% %z%"

# The amount of ticks to wait after the RTP teleport finishes before unhiding the player.
# 20 ticks = 1 second.
delay-after-teleport-ticks: 20

🚀 Installation

  1. Place the FirstJoinRTP.jar into your server's plugins folder.
  2. Restart your server.
  3. Adjust plugins/FirstJoinRTP/config.yml as needed.
  4. Restart your server or reload the plugin to apply config changes.

🛠️ Building the Plugin

To compile and package the plugin from source, you will need:

  • Java Development Kit (JDK) 21 or higher.

  • Apache Maven installed and configured in your system path.

  • Run the following command:

    mvn clean package

v1.4

Choose a tag to compare

@github-actions github-actions released this 23 May 17:07

FirstJoinRTP

FirstJoinRTP is a lightweight and robust Minecraft server plugin. It facilitates Random Teleport (RTP) for players upon their first time joining a specific world, and automatically saves their destination as their spawnpoint. This is especially useful for servers using Limbo or Lobby authentication plugins (like LibreLogin), where you only want the RTP to trigger when they actually enter the survival world.

✨ Features

  • First Join RTP: Triggers a customizable random teleport command only on their first time joining.
  • Limbo/Lobby Compatible: Waits until the player enters the configurable target-world before triggering.
  • Auto-Save Spawnpoint: Automatically sets the player's respawn location at their RTP landing spot using the Spigot/Paper API (forced, so beds are not required).
  • Safe Teleportation: Hides the player during the RTP process, provides temporary invulnerability, and prevents mobs from targeting them while chunks load.
  • Persistent Data: Uses Minecraft's native PersistentDataContainer to track RTP completion, meaning no database configuration is required.

⚙️ Configuration

A default config.yml is generated upon first startup.

# Target world to check for first join RTP
target-world: "world"

# Command to execute for Random Teleport
# Used when the player enters the target world for the first time.
#
# Default: Uses vanilla /spreadplayers command.
# WARNING: Vanilla /spreadplayers runs synchronously on the main thread and can cause
# TPS drops/lag spikes on production servers if the spread radius is large.
#
# Recommendation: For optimal performance, use a dedicated RTP plugin such as BetterRTP:
# rtp-command: "rtp player %player% world %world%"
rtp-command: "execute in %world% run spreadplayers 0 0 150 10000 false %player%"

# Whether to automatically save the player's RTP landing location as their spawnpoint
# using the Minecraft /spawnpoint system (forced, so they don't need a bed to respawn there).
save-spawnpoint: true

# The amount of ticks to wait after the RTP teleport finishes before unhiding the player.
# 20 ticks = 1 second.
delay-after-teleport-ticks: 20

🚀 Installation

  1. Place the FirstJoinRTP.jar into your server's plugins folder.
  2. Restart your server.
  3. Adjust plugins/FirstJoinRTP/config.yml as needed.
  4. Restart your server or reload the plugin to apply config changes.

🛠️ Building the Plugin

To compile and package the plugin from source, you will need:

  • Java Development Kit (JDK) 21 or higher.
  • Apache Maven installed and configured in your system path.
  • Run the following command:
    mvn clean package

v1.3

Choose a tag to compare

@github-actions github-actions released this 14 Mar 07:00

FirstJoinRTP and SaveAsSpawn - CMI Addon

FirstJoinRTP and SaveAsSpawn is a lightweight and robust Minecraft server plugin designed specifically as an addon for CMI. It facilitates Random Teleport (RTP) for players upon their first time joining a specific world, and automatically saves their destination as a home using CMI. This is especially useful for servers using Limbo or Lobby authentication plugins (like LibreLogin), where you only want the RTP to trigger when they actually enter the survival world.

✨ Features

  • First Join RTP: Triggers a CMI random teleport command only on their first time joining.
  • Limbo/Lobby Compatible: Waits until the player enters the configurable target-world before triggering.
  • Auto-Save Home: Immediately executes cmi sethome at the RTP destination to save it as their home base.
  • Safe Teleportation: Hides the player during the RTP process, provides temporary invulnerability, and prevents mobs from targeting them while chunks load.
  • Persistent Data: Uses Minecraft's native PersistentDataContainer to track RTP completion, meaning no database configuration is required.

⚙️ Configuration

A default config.yml is generated upon first startup.

# Target world to check for first join RTP
target-world: "world"

# Command to execute for Random Teleport
rtp-command: "cmi rt %player% %world%"

# The name of the home to save for the player
home-name: "firstjoin"

# Command to execute to save the home
sethome-command: "cmi sethome %homename% %player% -p -l:%world%;%x%;%y%;%z% -overwrite"

# The amount of ticks to wait after the RTP teleport finishes before unhiding the player.
# 20 ticks = 1 second.
delay-after-teleport-ticks: 20

🚀 Installation

  1. Ensure CMI is installed and running on your server.
  2. Place the FirstJoinRTP.jar into your server's plugins folder.
  3. Restart your server.
  4. Adjust plugins/FirstJoinRTP/config.yml as needed.
  5. Use /cmi reload or restart your server if modifying the CMI aspects.

v1.2

Choose a tag to compare

@github-actions github-actions released this 14 Mar 06:32

FirstJoinRTP and SaveAsSpawn - CMI Addon

FirstJoinRTP and SaveAsSpawn is a lightweight and robust Minecraft server plugin designed specifically as an addon for CMI. It facilitates Random Teleport (RTP) for players upon their first time joining a specific world, and automatically saves their destination as a home using CMI. This is especially useful for servers using Limbo or Lobby authentication plugins (like LibreLogin), where you only want the RTP to trigger when they actually enter the survival world.

✨ Features

  • First Join RTP: Triggers a CMI random teleport command only on their first time joining.
  • Limbo/Lobby Compatible: Waits until the player enters the configurable target-world before triggering.
  • Auto-Save Home: Immediately executes cmi sethome at the RTP destination to save it as their home base.
  • Safe Teleportation: Hides the player during the RTP process, provides temporary invulnerability, and prevents mobs from targeting them while chunks load.
  • Persistent Data: Uses Minecraft's native PersistentDataContainer to track RTP completion, meaning no database configuration is required.

⚙️ Configuration

A default config.yml is generated upon first startup.

# Target world to check for first join RTP
target-world: "world"

# Command to execute for Random Teleport
rtp-command: "cmi rt %player% %world%"

# The name of the home to save for the player
home-name: "firstjoin"

# Command to execute to save the home
sethome-command: "cmi sethome %homename% %player% -p -l:%world%;%x%;%y%;%z% -overwrite"

# The amount of ticks to wait after the RTP teleport finishes before unhiding the player.
# 20 ticks = 1 second.
delay-after-teleport-ticks: 20

🚀 Installation

  1. Ensure CMI is installed and running on your server.
  2. Place the FirstJoinRTP.jar into your server's plugins folder.
  3. Restart your server.
  4. Adjust plugins/FirstJoinRTP/config.yml as needed.
  5. Use /cmi reload or restart your server if modifying the CMI aspects.

v1.1

Choose a tag to compare

@github-actions github-actions released this 14 Mar 06:26

FirstJoinRTP and SaveAsSpawn - CMI Addon

FirstJoinRTP and SaveAsSpawn is a lightweight and robust Minecraft server plugin designed specifically as an addon for CMI. It facilitates Random Teleport (RTP) for players upon their first time joining a specific world, and automatically saves their destination as a home using CMI. This is especially useful for servers using Limbo or Lobby authentication plugins (like LibreLogin), where you only want the RTP to trigger when they actually enter the survival world.

✨ Features

  • First Join RTP: Triggers a CMI random teleport command only on their first time joining.
  • Limbo/Lobby Compatible: Waits until the player enters the configurable target-world before triggering.
  • Auto-Save Home: Immediately executes cmi sethome at the RTP destination to save it as their home base.
  • Safe Teleportation: Hides the player during the RTP process, provides temporary invulnerability, and prevents mobs from targeting them while chunks load.
  • Persistent Data: Uses Minecraft's native PersistentDataContainer to track RTP completion, meaning no database configuration is required.

⚙️ Configuration

A default config.yml is generated upon first startup.

# Target world to check for first join RTP
target-world: "world"

# Command to execute for Random Teleport
rtp-command: "cmi rt %player% %world%"

# The name of the home to save for the player
home-name: "firstjoin"

# Command to execute to save the home
sethome-command: "cmi sethome %homename% %player% -p -l:%world%;%x%;%y%;%z% -overwrite"

# The amount of ticks to wait after the RTP teleport finishes before unhiding the player.
# 20 ticks = 1 second.
delay-after-teleport-ticks: 20

🚀 Installation

  1. Ensure CMI is installed and running on your server.
  2. Place the FirstJoinRTP-1.1.jar into your server's plugins folder.
  3. Restart your server.
  4. Adjust plugins/FirstJoinRTP/config.yml as needed.
  5. Use /cmi reload or restart your server if modifying the CMI aspects.