{"id":151645,"date":"2026-06-09T06:43:05","date_gmt":"2026-06-09T03:43:05","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/"},"modified":"2026-06-09T06:43:05","modified_gmt":"2026-06-09T03:43:05","slug":"tabplugin","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/","title":{"rendered":"TabPlugin"},"content":{"rendered":"<p>**[\u26a0\ufe0f]NOTE!** If u have aby issue with the plugin please report to in our discord!<\/p>\n<p>**TabPing Plugin Description \ud83c\udfae**<br \/>\n**Main Function:**<br \/>\nThe plugin displays player ping \u26a1 in milliseconds next to their nickname on the tab list (when you press Tab key). Additionally, it monitors player activity and marks inactive players as AFK \ud83d\udca4.<\/p>\n<p>**How the ping system works: \ud83d\udcca**<\/p>\n<p>Updates every second \u23f1\ufe0f: The plugin checks each player&#8217;s ping on the server every 1 second (20 Minecraft ticks)<br \/>\n**Color coding by speed \ud83c\udf08:**<\/p>\n<p>&#8211; Green \ud83d\udfe2 < 50ms - excellent ping\n- Yellow \ud83d\udfe1 50-100ms - good ping\n- Orange (GOLD) \ud83d\udfe0 100-150ms - medium ping\n- Red \ud83d\udd34 > 150ms &#8211; poor ping<\/p>\n<p>Display format: PlayerName [45ms]<\/p>\n<p>Nickname is white \u26aa<br \/>\nPing is colored \ud83c\udfa8 (depends on value)<br \/>\nBrackets are dark gray<\/p>\n<p>**How the AFK system works: \ud83d\ude34**<\/p>\n<p>**Activity tracking \ud83d\udc40:**<\/p>\n<p>Plugin saves timestamp of each player&#8217;s last movement<br \/>\nListens to PlayerMoveEvent &#8211; reacts when player moves \ud83c\udfc3<\/p>\n<p>**Movement detection \ud83c\udfaf:**<\/p>\n<p>Plugin checks if player actually moved (X, Y, Z coordinate change)<br \/>\nJust rotating camera \ud83d\udd04 does NOT reset AFK timer<br \/>\nEvery real movement \ud83d\udeb6 resets the timer<\/p>\n<p>**AFK checking \u23f2\ufe0f:**<\/p>\n<p>Every second the plugin checks all players<br \/>\nIf player hasn&#8217;t moved for 5 minutes \u23f0 (300 seconds) &#8211; gets AFK status<br \/>\nFormat: PlayerName [120ms] [AFK] \ud83d\udca4<\/p>\n<p>**Returning from AFK \u2705:**<\/p>\n<p>When AFK player moves &#8211; immediately loses AFK marker<br \/>\nPing is automatically updated \ud83d\udd04<\/p>\n<p>**Configuration system (config.yml): \u2699\ufe0f**<br \/>\nYou can customize everything:<br \/>\nyamlafk:<br \/>\n  time-seconds: 300    # Change to 60 = 1 minute, 600 = 10 minutes etc. \u23f1\ufe0f<br \/>\n  text: &#8220;AFK&#8221;          # Can change to &#8220;AWAY&#8221; or &#8220;INACTIVE&#8221; \ud83d\udcdd<br \/>\n  color: &#8220;GRAY&#8221;        # Color of AFK text \ud83c\udfa8<\/p>\n<p>ping:<br \/>\n  thresholds:<br \/>\n    good: 50           # Good ping threshold \u2705<br \/>\n    medium: 100        # Medium ping threshold \u26a0\ufe0f<br \/>\n    bad: 150           # Bad ping threshold \u274c<\/p>\n<p>  colors:<br \/>\n    good: &#8220;GREEN&#8221;      # Color for <50ms \ud83d\udfe2\n    medium: \"YELLOW\"   # Color for 50-100ms \ud83d\udfe1\n    bad: \"GOLD\"        # Color for 100-150ms \ud83d\udfe0\n    very-bad: \"RED\"    # Color for >150ms \ud83d\udd34<\/p>\n<p>**Commands: \ud83d\udcac:**<\/p>\n<p>&#8211; \/tabping &#8211; Forces immediate update + shows player info in chat \ud83d\udd04<br \/>\n&#8211; \/tabping reload &#8211; Reloads config.yml without server restart \u267b\ufe0f<br \/>\n&#8211; \/tabping toggle &#8211; Disables\/enables plugin temporarily \ud83d\udd0c<\/p>\n<p>**How the plugin handles AuthSystem: \ud83d\udd10**<\/p>\n<p>When player joins, plugin waits 5 seconds \u23f3 before setting ping<br \/>\nThis gives time to log in through AuthSystem \ud83d\udd11<br \/>\nAfter logging in, ping appears automatically \u2728<\/p>\n<p>Technically &#8211; what happens behind the scenes: \ud83d\udd27<\/p>\n<p>Memory \ud83d\udcbe: Plugin stores in HashMaps:<\/p>\n<p>lastActivity &#8211; last activity time of each ****player (UUID \u2192 timestamp)<br \/>\nafkPlayers &#8211; AFK status of each player (UUID \u2192 true\/false)<\/p>\n<p>**Events \ud83d\udce1:**<\/p>\n<p>PlayerJoinEvent &#8211; initializes player (resets AFK, sets activity time) \ud83d\udc4b<br \/>\nPlayerQuitEvent &#8211; removes player from memory \ud83d\udc4b<br \/>\nPlayerMoveEvent &#8211; updates activity time \ud83c\udfc3<\/p>\n<p>**Timers \u23f2\ufe0f (BukkitRunnable):**<\/p>\n<p>Timer #1: Every second checks and marks AFK players \ud83d\ude34<br \/>\nTimer #2: Every second updates ping for all players \u26a1<\/p>\n<p>Adventure API \ud83c\udfa8: Uses modern text component system for coloring<\/p>\n<p>**Example scenarios: \ud83d\udcdd**<br \/>\n**Scenario 1: Normal player \u2705**<\/p>\n<p>Player &#8220;Invvl&#8221; joins, logs in \ud83d\udd11 \u2192 waits 5s \u23f3 \u2192 displays Invvl [35ms] (green \ud83d\udfe2)<br \/>\nPlayer actively plays \ud83c\udfae, ping updates every second<\/p>\n<p>**Scenario 2: Player leaves computer \ud83d\udca4**<\/p>\n<p>After 5 minutes without movement \u2192 Invvl [40ms] [AFK] (AFK gray)<br \/>\nReturns, moves \ud83c\udfc3 \u2192 immediately Invvl [42ms] (AFK disappears \u2728)<\/p>\n<p>Scenario 3: Bad internet \ud83d\udcf6<\/p>\n<p>Ping jumps: 80ms \u2192 Invvl [80ms] (yellow \ud83d\udfe1)<br \/>\nLagspike \ud83d\udcc9: 200ms \u2192 Invvl [200ms] (red \ud83d\udd34)<br \/>\nStabilizes \ud83d\udcc8: 60ms \u2192 Invvl [60ms] (yellow \ud83d\udfe1)<\/p>\n<p>The plugin is lightweight \ud83e\udeb6 (only checks movement and ping), configurable \u2699\ufe0f (everything in config.yml) and automatic \ud83e\udd16 (requires no player interaction).<\/p>\n<p>**Perfect for: \ud83c\udfaf**<\/p>\n<p>\u2705 Survival servers<br \/>\n\u2705 PvP servers (important ping info!)<br \/>\n\u2705 Minigame servers<br \/>\n\u2705 Community servers with AFK management<\/p>\n<p>Enjoy your optimized tab list! \ud83d\ude80\u2728<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TabPlugin displays player ping in milliseconds on the tab list with color-coding (green\/yellow\/orange\/red) and automatically marks players as AFK after 5 minutes of inactivity.<\/p>\n","protected":false},"featured_media":151646,"template":"","meta":{"_minecraft_slug":"tabplugin","_minecraft_project_id":"8RD1hmA5","_minecraft_author":"invv","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":475,"_minecraft_follows":2,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"tabplugin.zip","_minecraft_size_bytes":8169,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-16T10:42:54.147366Z","_minecraft_date_created":"2026-01-05T23:35:55.241569Z","_minecraft_date_modified":"2026-01-03T09:46:12.603167Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/tabplugin","_minecraft_icon_attachment_id":151646,"_minecraft_imported_at":"2026-06-09T03:43:07+00:00","_minecraft_import_hash":"72ecf662ec5ecd3639030918d159b50c","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,89,126,90,127,129,123,92],"mod_loader":[130,132,134],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-151645","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-game-mechanics","mod_category-management","mod_category-optimization","mod_category-paper","mod_category-spigot","mod_category-technology","mod_category-utility","mod_loader-bukkit","mod_loader-paper","mod_loader-spigot","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TabPlugin - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TabPlugin - Minecraft\" \/>\n<meta property=\"og:description\" content=\"TabPlugin displays player ping in milliseconds on the tab list with color-coding (green\/yellow\/orange\/red) and automatically marks players as AFK after 5 minutes of inactivity.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tabplugin\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tabplugin\\\/\",\"name\":\"TabPlugin - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tabplugin\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tabplugin\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/tabplugin-icon-03165b5e38e72bb58cb314e3a8ccb46321dd5c6e_96.webp\",\"datePublished\":\"2026-06-09T03:43:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tabplugin\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tabplugin\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tabplugin\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/tabplugin-icon-03165b5e38e72bb58cb314e3a8ccb46321dd5c6e_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/tabplugin-icon-03165b5e38e72bb58cb314e3a8ccb46321dd5c6e_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/tabplugin\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"TabPlugin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TabPlugin - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/","og_locale":"en_US","og_type":"article","og_title":"TabPlugin - Minecraft","og_description":"TabPlugin displays player ping in milliseconds on the tab list with color-coding (green\/yellow\/orange\/red) and automatically marks players as AFK after 5 minutes of inactivity.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/","name":"TabPlugin - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/tabplugin-icon-03165b5e38e72bb58cb314e3a8ccb46321dd5c6e_96.webp","datePublished":"2026-06-09T03:43:05+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/tabplugin-icon-03165b5e38e72bb58cb314e3a8ccb46321dd5c6e_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/tabplugin-icon-03165b5e38e72bb58cb314e3a8ccb46321dd5c6e_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/tabplugin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"TabPlugin"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/151645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/151646"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=151645"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=151645"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=151645"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=151645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}