JustAFK 1.1.0 introduces complete runtime control over the plugin and a new input-aware AFK detection system.
Player activity is no longer inferred from position changes. JustAFK now detects movement input sent by the player, allowing AFK state and duration to survive external movement such as entity pushes, knockback, arrows, explosions, water, teleports, death, and respawn.
Important
JustAFK 1.1.0 requires Minecraft 1.21.3 or newer and Java 21 or newer.
Servers running Minecraft versions below 1.21.3 can continue using JustAFK v1.0.1.
Version 1.0.1 retains the previous position-based AFK detection. External movement, including knockback or entities pushing a player, may therefore reset the inactivity timer or remove AFK. It also does not include the new global and automatic-AFK configuration toggles introduced in 1.1.0.
Highlights
- Added a global enable/disable option for the entire plugin
- Added an independent toggle for automatic AFK detection
- Added runtime commands for changing both options
- Replaced position-based activity tracking with player-input detection
- Detects forward, backward, left, right, jump, sneak, and sprint input
- Preserves AFK state during external movement
- Preserves AFK state and duration across death and respawn
- Raised the minimum supported Minecraft version to 1.21.3
- Raised the plugin bytecode requirement to Java 21
- Updated configuration, documentation, compatibility checks, and automated tests
- No database, NMS, or external runtime dependencies
Global plugin control
A new top-level configuration option controls whether JustAFK is active:
enabled: trueIt can also be changed while the server is running:
/justafk set enabled on
/justafk set enabled off
When enabled is set to false:
- Players are not tracked for AFK activity
- Automatic AFK detection stops
/afkno longer changes AFK states- Administrative AFK changes are disabled
- Existing plugin-managed AFK states are cleared
- JustAFK player-list prefixes are restored
- AFK announcements are disabled
- Player-list duration updates stop
The following administration commands remain available so the plugin can still be inspected, configured, reloaded, and enabled again:
/justafk help/justafk status/justafk reload/justafk set ...
Re-enabling the plugin starts a fresh activity-tracking session for online players.
Independent automatic AFK control
Automatic AFK detection can now be enabled or disabled independently:
automatic-afk-enabled: trueIt can be changed at runtime using:
/justafk set automatic-afk on
/justafk set automatic-afk off
When automatic AFK detection is disabled:
- Inactivity no longer places players into AFK automatically
- The configured inactivity timeout is not applied automatically
- Players can still use
/afk - Administrators can still change another player's AFK state
- Movement input still removes a manually applied AFK state
- Announcements and player-list prefixes continue to work for manual AFK states
This allows servers to use JustAFK exclusively as a manual AFK system if desired.
Input-aware AFK detection
Previous versions detected activity through changes to the player's world position. This could incorrectly remove AFK when a player was moved by something outside their control.
JustAFK 1.1.0 replaces that system with the movement-input API introduced in modern Minecraft server versions.
The following inputs count as activity:
- Forward
- Backward
- Left
- Right
- Jump
- Sneak
- Sprint
When one of these inputs is detected:
- The inactivity timer is restarted
- An AFK player immediately becomes active
- The AFK player-list prefix is removed
- The configured active announcement is sent
JustAFK uses both immediate input events and periodic input polling:
- Input events detect short key presses between monitoring passes
- Polling keeps the player active while a movement key remains held
- Releasing all movement inputs allows the inactivity timer to progress normally
A held key or client-side movement toggle continues to count as activity for as long as the server reports that input as active.
External movement no longer counts as activity
Changes to the player's position no longer restart the inactivity timer by themselves.
An AFK player therefore remains AFK when moved by:
- Entity collisions or pet mobs
- Slimes and other mobs pushing the player
- Zombie attacks
- Skeleton arrows
- Knockback
- Explosions
- Flowing water
- Bubble columns
- Pistons
- Shulkers
- Gravity or falling
- Passive vehicle movement
- Server or plugin teleports
- Death
- Respawn
The AFK state and displayed AFK duration are preserved during these events unless the player sends movement input.
Looking around with the mouse also remains ignored and does not restart the inactivity timer.
If movement input is active while knockback or another external movement occurs, the player is considered active because the server is receiving intentional movement input from the client.
Configuration compatibility
Existing configuration files from JustAFK 1.0.0 and 1.0.1 remain compatible.
The two new options default to true when they are missing:
enabled: true
automatic-afk-enabled: trueThis means that upgrading with an existing configuration preserves the previous enabled behaviour without requiring the configuration file to be regenerated.
The options can be added manually or saved through the runtime configuration commands.
Compatibility
JustAFK 1.1.0 supports the following server versions:
| Platform | Supported versions |
|---|---|
| Paper | 1.21.3–26.2 |
| Purpur | 1.21.3–26.2 |
| Folia | 1.21.3–26.2, where a server build is available |
| Spigot / CraftBukkit | 1.21.3–26.2 |
| Sponge | Not supported |
| BungeeCord / Velocity / Waterfall | Not supported; these are proxy platforms |
Paper 26.2 remains the primary build target.
The same source is also compatibility-compiled against Spigot 1.21.3, and both compilations must produce identical class files before the build passes.
Folia continues to use its native global and entity schedulers without requiring a separate plugin build or runtime dependency.
Compatibility with older Minecraft versions
JustAFK 1.1.0 cannot load on servers below Minecraft 1.21.3 because the required player-input event is unavailable on those versions.
For older servers, continue using JustAFK v1.0.1:
| Platform | JustAFK 1.0.1 compatibility |
|---|---|
| Paper | 1.8.8–26.2 |
| Purpur | 1.14.1–26.2 |
| Folia | 1.19.4–26.2 |
| Spigot / CraftBukkit | 1.8.8–26.2, best-effort |
JustAFK 1.0.1:
- Uses Java 8-compatible bytecode
- Uses position changes to detect player activity
- May remove AFK when a player is pushed or receives knockback
- Does not include
enabled - Does not include
automatic-afk-enabled - Does not include input-aware movement detection
Version 1.0.1 remains available and can continue to be used normally on servers that cannot upgrade to Minecraft 1.21.3 or newer.
Java requirements
The JustAFK 1.1.0 JAR uses Java 21 bytecode and therefore requires Java 21 or newer.
The Minecraft server may require a newer Java version depending on the server version. For example, Paper 26.2 requires Java 25.
JustAFK 1.0.1 remains available with Java 8-compatible bytecode for older Minecraft servers.
Technical changes
- Replaced
PlayerMoveEventactivity tracking withPlayerInputEvent - Added current-input polling through
Player#getCurrentInput() - Added a dedicated activity predicate for all seven movement-input flags
- Removed the obsolete position snapshot implementation
- Removed position comparisons from the periodic AFK monitor
- Added global and automatic-AFK flags to immutable configuration snapshots
- Added runtime configuration commands and tab completion for both flags
- Added safe handling for configuration changes under Folia
- Set
api-versionto1.21.3 - Changed the emitted bytecode target from Java 8 to Java 21
- Compiles against Paper API 26.2 build 84
- Compatibility-compiles against Spigot API 1.21.3
- Verifies bytecode parity between Paper and Spigot builds
- Verifies the Java 21 class-file version
- Verifies that no runtime dependencies are declared
- Updated the README, default configuration, build checks, and compatibility matrix
Validation
- 25 automated tests passed
- All seven movement-input flags tested individually
- Short input taps between monitor passes tested
- Held movement input polling tested
- Empty input and inactivity timeout behaviour tested
- External position changes verified not to affect AFK timing
- Global plugin disable behaviour tested
- Automatic-AFK disable behaviour tested
- Manual AFK removal through player input tested
- Spigot 1.21.3 compatibility compilation passed
- Paper 26.2 primary compilation passed
- Paper and Spigot bytecode parity verified
- Java 21 bytecode verified
- No runtime dependencies detected
- Manually tested successfully on a 26.2 test server
Updating from 1.0.1
- Confirm that the server is running Minecraft 1.21.3 or newer.
- Confirm that the server is running Java 21 or newer.
- Stop the server.
- Back up
plugins/JustAFK/config.yml. - Replace
JustAFK-1.0.1.jarwithJustAFK-1.1.0.jar. - Start the server.
- Run
/justafk statusto review the active configuration. - Configure the new options if required:
/justafk set enabled on
/justafk set automatic-afk on
Existing configuration values remain compatible and do not need to be regenerated.
Do not install JustAFK 1.1.0 on a server below Minecraft 1.21.3. Continue using version 1.0.1 on those servers.
Download
Download JustAFK-1.1.0.jar from the assets below and place it in the server's plugins directory.
Full Changelog: v1.0.1...v1.1.0