Skip to content

Repository files navigation

Random Spawn Point

Random Spawn Point is a lightweight MITE R196 mod that gives each player an independent personal spawn point. Players can select a biome a configurable number of times, receive a safe random location, and return to that location through the original MITE Rune Gate.

Features

  • Select a personal spawn biome with /retpa, with a configurable per-player use count.
  • Automatically detect the biomes currently registered by MITE and other mods.
  • Fall back to the biome's native name when no translation is available.
  • Generate a safe personal spawn point for each player.
  • Ensure the absolute value of X or Z is at least 10000 by default.
  • Keep different players' random spawn points at least 10000 blocks apart by default.
  • Redirect the original MITE Rune Gate's world-spawn return to the player's personal spawn point.
  • Optionally force a random personal spawn on a player's first login.
  • Allow players to request joining another player's spawn point.
  • Require the target player to accept or deny a join request.
  • Consume one /retpa use after a join request is accepted.
  • Limit each player's accepted join requests with a separate configurable use count.
  • Only allow requests for players who have used /retpa to choose a spawn point.
  • Show the available commands and current status after login.
  • Provide Chinese and English translations.
  • Integrate with ManyLib when it is installed, without requiring ManyLib.

Requirements

  • MITE R196
  • FishModLoader / FML 3.4.2 or newer
  • RustedIronCore
  • ManyLib is optional and only adds the in-game configuration menu

Installation

Copy one of the following jars into the MITE mods directory:

[随机出生点]RandomSpawnPoint-1.0.0.jar
RandomSpawnPoint-1.0.0.jar

Do not install both filename variants at the same time, as they contain the same mod.

ManyLib, when present, exposes the configuration through its mod menu. Without ManyLib, the mod continues to use the JSON configuration file.

Commands

/retpa

Open the personal spawn biome selection GUI. The player can use this command until their configured /retpa use count is exhausted. The player is teleported to the generated location immediately.

/retpa join <player>

Request to join another online player's personal spawn point. The request does not consume /retpa and does not consume the join limit when it is sent. The target player must have used /retpa to choose their personal spawn point. While a request is pending, the requester cannot send another request. Denied or cancelled requests allow the requester to send a request again.

/retpa accept [player]

Accept a pending join request. If there is only one pending request, the player name may be omitted.

/retpa deny [player]

Deny a pending join request.

/retpa cancel

Cancel your own pending join request.

After a join request is accepted, the requesting player is teleported to the target's personal spawn point, receives the same spawn point, and can no longer use /retpa once their configured use count is exhausted. Accepting the request consumes one /retpa use and one accepted-join use. If the requester has no accepted-join uses remaining by the time the target accepts, the pending request expires instead of being accepted.

Configuration

The default configuration file is:

config/random_spawn_point.json

The default file is:

{
  "forceRandomSpawnOnFirstLogin": false,
  "retpaUses": 1,
  "minCoordinateAbs": 10000,
  "minPlayerDistance": 10000,
  "searchRadius": 70000,
  "maxSearchAttempts": 2000,
  "allowOcean": false,
  "allowRiver": false,
  "allowSpecialBiomes": false,
  "enablePlayerJoin": true,
  "playerJoinUses": 1,
  "adamantiumRunegateDistanceMultiplier": 5.0
}

Configuration fields

Field Default Description
forceRandomSpawnOnFirstLogin false Force a random personal spawn on first login.
retpaUses 1 Number of times each player can use /retpa to choose a random spawn biome.
minCoordinateAbs 10000 Minimum absolute value for the X or Z coordinate.
minPlayerDistance 10000 Minimum horizontal distance between players' random spawn points.
searchRadius 70000 Maximum radius used when searching for a position.
maxSearchAttempts 2000 Maximum candidate positions checked for one allocation.
allowOcean false Allow ocean biomes.
allowRiver false Allow river biomes.
allowSpecialBiomes false Allow special or dimension-specific biomes.
enablePlayerJoin true Enable the player spawn-point join feature.
playerJoinUses 1 Number of accepted join requests each player may receive.
adamantiumRunegateDistanceMultiplier 5.0 Multiplier applied to the original Adamantium Rune Gate distance.

The runtime enforces a minimum value of 1 for retpaUses and playerJoinUses, and 10000 for both coordinate distance settings. The search radius is also kept greater than the minimum coordinate value.

ManyLib Configuration

When ManyLib is installed, open its mod menu and select Random Spawn Point. Changing a value in the ManyLib GUI immediately updates the runtime settings and writes the result back to:

config/random_spawn_point.json

ManyLib is an optional integration. Its absence does not disable the commands, personal spawns, Rune Gate behavior, or JSON configuration.

Data Storage

Player spawn points, /retpa usage state, and accepted-join usage state are stored in the world's MITE saved data under:

random_spawn_point_data

Building

The project targets the legacy MITE toolchain and expects local dependencies in the libs directory. Build with:

.\gradlew.bat clean build

The output jar is generated under:

build/libs/

License

This project is distributed under the MIT License. See LICENSE.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages