Tags
Creators
Details
Licensed GPL-3.0-only
Published 5 months ago
Updated 16 hours ago
All versions
2.8-RELEASE
Release
LuckTAB 2.8-RELEASE6 days ago 438
Uploaded by
Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.x
Platforms
Bukkit
Folia
Paper
Purpur
Spigot
Required content
Any compatible version
Changes
Added
- Geyser and Floodgate support. Bedrock players are detected through the Floodgate API, or the
Geyser API when only Geyser is installed, and get their own treatment, set in the new
bedrocksection of the config:update-interval(default 20 ticks): how often their sidebar and name tags are refreshed.animations(default off): gradients and%anim_...%stay on their first frame for them. Every frame change made Geyser redraw the whole Bedrock sidebar.fake-entries(default off): fake tab rows, which Geyser shows as extra players with a skin.- Header and footer are no longer sent to Bedrock players at all, Bedrock cannot show them.
platform: bedrockorplatform: javain a sidebar or header/footer design, so Bedrock players can get a layout of their own.%lucktab_platform%(BedrockorJava), also as%lucktab_bedrock%(true/false) through PlaceholderAPI.- config.yml is now upgraded on start and on
/lucktab reload: blocks and options a newer version added are written into the existing file with their comments, and the old file is kept asconfig.yml.bak. Nothing that is already there is changed. Your own ping steps and animations get no examples mixed in, and the ping behind the tab name and the/sidebaralias are not added to a file that never had them, because without them the plugin runs without either. The file carries aconfig-versionmarker for this.
Fixed
- LuckTAB sent far more packets than it needed to, which made Geyser lag. The sidebar title, the hidden numbers and the per-line number format went out on every update, ten times a second per player and line, even when nothing had changed; so did the header and footer, and the rank team prefixes on every board every two seconds. With the default config that was well over a hundred scoreboard packets per second per player. Geyser throttles at 20 and then rebuilds the Bedrock sidebar four times a second. Now each of them is only sent when it actually changed.
- The update check took the first entry of the Modrinth list and only checked whether it was the same text as the running version. A server on a newer build was told to update to an older one, and every server on a release was offered the latest beta. It now picks the highest version number, and a release build only looks at releases.
- Tab list names were compared against
getPlayerListName(), which does not always return the same string that was set. When it differed, every player's name went out to everybody on every update. - An animated rank prefix went out ten times a second to all four of its teams on every board, even when nobody had that rank. Teams without members are skipped now and catch up as soon as someone joins them.
- Fake tab rows were added again for every viewer every two seconds. They are added once now and only a changed text is sent afterwards.
- Bedrock players saw raw line keys such as
lt_00000000_0in the sidebar. Floodgate UUIDs all start with00000000-0000-0000, and the sidebar only used the first eight characters, so every Bedrock player shared the same line keys and line cache. The id now comes from the whole UUID.
Optional dependencies
Any compatible version
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:MzWKBKRk:dpUIWlhp"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:MzWKBKRk:dpUIWlhp"
}

