Tags
Creators
Details
2.6
Compatibility
Changes
AntiAFKPlus v2.6 — Server Transfer & Scripted Sequences
Release type: Feature Release
Compatibility: Minecraft 1.16 – 1.21.8+ | Java 17+
What’s New
Server Transfer (Bungee/Velocity)
- Native final action
TRANSFER_SERVERto move AFK players to another server via Plugin Messaging. - Global configuration with robust channel handling and optional retry policy.
- Zone-based overrides: per-zone transfer with
kick-action: TRANSFERandtransfer-server.
Countdown & Titles/Sounds
- Optional per-second countdown with Title/Subtitle and Sound before transferring.
- Fully Folia-safe with entity-bound scheduling.
- Auto-cancels if the player becomes active.
Scripted Action Pipeline
- New pipeline engine to run steps in order:
TITLE,SUBTITLE,SOUND,MESSAGE,WAIT,TRANSFER. - Configurable in
config.ymlwith simple DSL-like syntax. - Cancels automatically when leaving AFK.
Robustness & Fallbacks
- Auto-registration of
BungeeCordandbungeecord:mainchannels. - Channel selection:
auto | bungeecord | namespaced. - Fallback actions:
KICK | TELEPORT | NONEwith optional teleport location.
How It Works (Action Order)
- Credit System: If credits exist, the kick event is cancelled and credits are consumed; no transfer runs.
- Zone Management: Zone
kick-actiontakes priority (TELEPORT,TRANSFER, etc.). - Global Transfer: If enabled and a
target-serveris configured,TRANSFER_SERVERis used by default.
If the player becomes active mid-flow, any countdown/pipeline is cancelled.
Configuration
Global settings:
server-transfer:
enabled: true
target-server: "lobby"
proxy-channel: "auto" # auto | bungeecord | namespaced
# Fallbacks
fallback-action: "KICK" # KICK | TELEPORT | NONE
fallback-teleport-location: "world,0,100,0"
# Retry policy
retry-attempts: 0
retry-delay-ticks: 10
# Countdown
countdown:
enabled: false
seconds: 10
title: "&cYou are AFK"
subtitle: "&eMoving in {seconds}s"
sound:
enabled: true
name: "ENTITY_EXPERIENCE_ORB_PICKUP"
volume: 1.0
pitch: 1.0
# Scripted pipeline
pipeline:
enabled: false
actions:
- "TITLE: &cYou are AFK"
- "SUBTITLE: &eMoving in {seconds}s"
- "SOUND: ENTITY_EXPERIENCE_ORB_PICKUP,1.0,1.0"
- "WAIT: 1s"
- "MESSAGE: &7Transferring..."
- "TRANSFER: lobby"
Zone-based transfer example:
zone-management:
enabled: true
zones:
spawn:
kick-action: "TRANSFER"
transfer-server: "lobby"
Messages
Add or customize in messages.yml:
messages:
server-transfer:
transferring: "&7[AntiAFK+] &aTransferring you to &f{server}&a..."
unavailable: "&7[AntiAFK+] &cServer transfer unavailable."
failed: "&7[AntiAFK+] &cCould not transfer you."
Permissions & Commands
- No new commands or permissions in v2.6. The feature is fully configurable via
config.yml.
Compatibility & Notes
- BungeeCord and Velocity (Bungee compatibility) via Plugin Messaging.
- Folia-safe scheduling through PlatformScheduler; no BukkitScheduler in Folia context.
- Fully backward compatible; disabled by default.
Migration
- No breaking changes. Existing configurations remain valid.
- To enable: set
server-transfer.enabled: trueand configuretarget-server.
Testing Checklist
- Validate transfer on Bungee/Velocity with correct
target-servernames. - Try countdown and pipeline separately.
- Confirm fallback behavior (KICK/TELEPORT/NONE) when channels are unavailable.
- Verify zone-based
TRANSFERoverrides global behavior.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:b4AUi0VN:G25wcurV"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:b4AUi0VN:G25wcurV"
}

