BeeTools

BeeTools

Spawn point management: /spawn, /setspawn, auto-teleport for first-time players, and a /spawninfo window showing who set the point and when. Russian and English localization

29 downloads 0 followers

BeeTools

A set of server-side utilities for a Minecraft server running Paper. Currently the spawn point management module is implemented.

License: MIT

Features

  • /setspawn — sets the spawn point to the player's current position (including facing direction) and records who set it and when.
  • /spawn — teleports the player to the saved point.
  • /spawninfo — opens a window with information about the point: world, coordinates, compass direction, author, date it was set, and whether the spot is passable.
  • Automatic teleport to spawn on a player's first join.
  • Safety check: the teleport only happens if both the block at foot level and the block at head level are passable.
  • The point is stored in plugins/BeeTools/spawn.json and survives a server restart.
  • Two languages: Russian and English, selected by the player's client language.

Commands and permissions

Command Permission Default Description
/setspawn beetools.setspawn op Set the spawn point
/spawn beetools.spawn true Teleport to spawn
/spawninfo beetools.spawninfo op View information about the spawn point

Permissions are declared in plugin.yml, so LuckPerms and other permission managers pick them up correctly.

beetools.spawninfo is declared as a child of beetools.setspawn: whoever can move the spawn can automatically view it too — there is no need to grant the permission separately.

Language

The language is set in plugins/BeeTools/config.yml:

language: auto
Value What it does
auto (default) Follows the player's client language: a Russian client gets Russian, everyone else gets English
ru Always Russian, regardless of the client
en Always English, regardless of the client

The texts live in plugins/BeeTools/lang/ru.yml and lang/en.yml. The files are created on first startup and can be edited to suit your server — a plugin update does not overwrite them. If a file turns out to be corrupted, the plugin falls back to the version bundled in the jar and reports it in the console.

The two languages have different numeral pluralization rules (plural-rule: slavic vs simple) and different date formats, which is why "21 минуту назад" and 29.08.2026 23:33 sit alongside "21 minutes ago" and 2026-08-29 20:33.

Command descriptions and permission-denied messages in plugin.yml cannot be localized — Bukkit reads the manifest once for the whole server — so they are bilingual.

Compatibility

Platform Paper (and forks — Purpur)
Minecraft version 1.21 – 1.21.11
Java 21+

The plugin uses only the Bukkit API, so it very likely works on Spigot as well, but it has not been tested there. Folia is not supported — teleportation is performed synchronously.

Installation

  1. Download beetools-<version>.jar from the Releases page or from Modrinth.
  2. Put the file into your server's plugins/ folder.
  3. Restart the server.
  4. Stand where you want the spawn to be and run /setspawn.

Building from source

mvn clean package

The resulting jar appears at target/beetools-<version>.jar. Tests (JUnit 5 + Mockito) run as part of the build; to run them separately, use mvn test.

Gson is bundled into the jar and relocated to the net.romuskras.beeTools.libs.gson namespace (maven-shade-plugin) so it does not conflict with Gson versions from other plugins on the same server.

Data storage

The spawn point is stored in plugins/BeeTools/spawn.json:

{
  "location": {"world": "world", "x": -71.42, "y": 63.0, "z": -59.44, "yaw": 0.18, "pitch": 4.08},
  "setBy": {"uuid": "68c83735-d060-3355-9d07-82b5c0bac139", "name": "_Romus_"},
  "setAt": "2026-08-29T20:33:00Z"
}

The world is referenced by name: if no world with that name is found at load time, the spawn point is not applied and an error is written to the console.

Files from versions prior to 1.1.0 — a bare location without the location wrapper — are read as-is and converted to the new format on the first save. The author of such points remains unknown, and the window says so.

The setBy block is not written if the author is unknown, and setAt is omitted if the date is unknown. A corrupted uuid or date does not break reading the rest: the plugin logs a warning and leaves the field empty.

License

MIT

No gallery available for this project.

Version Minecraft Loader Download

BeeTools 1.1.2

1.1.2

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
paper, purpur
Download

BeeTools 1.1.1

1.1.1

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2
paper, purpur
Download

BeeTools 1.1.0

1.1.0

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
paper, purpur
Download

BeeTools 1.0.1

1.0.1

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
paper, purpur
Download

BeeTools 1.0.0

1.0.0

1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11
paper, purpur
Download