A lightweight Minecraft 1.21+ plugin for Bukkit, Spigot, Paper, and Purpur that gives each player one stopwatch in their action bar.
/stopwatch start— starts a new stopwatch at00:00in green. An existing stopwatch must be deleted first./stopwatch pause— freezes it and changes it to orange./stopwatch stop— freezes it and changes it to red./stopwatch unpause— resumes a paused or stopped stopwatch in green./stopwatch delete— removes the stopwatch and clears the action bar./stopwatch settings— opens a GUI that enables or disables stopwatch sounds for that player./stopwatch time add <seconds>— adds testing time; requiresstopwatch.time.add(operators by default).
/sw is an alias for /stopwatch. Displays refresh once per second and expand from MM:SS to HH:MM:SS, then DD:HH:MM:SS.
Sounds are enabled by default. Starting or resuming plays entity.arrow.hit_player; pausing, stopping, or deleting plays block.wooden_pressure_plate.click_off. The GUI preference persists in the player's saved data.
Trying to start a second stopwatch shows a bold red warning and always plays block.anvil.land, even when stopwatch sounds are disabled.
Use Java 25 and run ./gradlew build for the default Minecraft 26.2 build. To target one version explicitly, run ./gradlew build -PminecraftVersion=1.21.4.
Run ./scripts/build-all-versions.sh to produce separate JARs for every released version from 1.21 through 26.2. These compile against their matching Spigot APIs. The 1.21.x variants target Java 21 bytecode, while the 26.x variants target Java 25 bytecode.