Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
70be098
[Components] Fix last component style detection, causing team color t…
Nov 6, 2025
c0deaa4
[Components] Fix last component style detection, causing team color t…
Nov 10, 2025
425748a
[Placeholders] Change int to long to fix overflow (#1576)
Nov 11, 2025
3778693
[NameTags] Fix random error
Nov 15, 2025
1debc54
Update loom to 1.13-SNAPSHOT
Nov 15, 2025
e956e59
[Commands] Turn custom toggle commands into real registered commands …
Nov 15, 2025
bdd2a13
Remove sponge support and bump version to 5.4.0-SNAPSHOT
Nov 15, 2025
fbc04b1
[Commands] Finish custom toggle command registration on Bukkit and re…
Nov 16, 2025
0afe0f2
[Fabric] Update to 1.21.11-pre1 (atlas sprites broke, probably a clie…
Nov 20, 2025
1e80070
[Fabric] Update to 1.21.11-pre2
Nov 22, 2025
4bbf0bb
[Configuration] Change default config to use true/false instead of ye…
Nov 24, 2025
2ba5351
[Fabric] Update to 1.21.11-pre3
Nov 26, 2025
83b5a0f
[NameTags] Fix nametag being forcibly hidden when player is invisible…
Nov 26, 2025
cff1e83
[Components] Fix packet decoding error due to too many nested levels …
Nov 29, 2025
8e08ea4
[Tablist] Fix gamemode being changed in packets when it shouldn't be …
Nov 29, 2025
592a75b
[Wiki] Monthly wiki backup for December 2025
Dec 1, 2025
6eb30d8
[Fabric] Update to 1.21.11-pre4
Dec 1, 2025
4224922
[Bukkit] Fix HEARTS render type not working on 1.8 - 1.12
Dec 4, 2025
33c0f16
[Fabric] Update to 1.21.11-rc2
Dec 5, 2025
b277d09
Update to 1.21.11 (except Forge, which is broken)
Dec 10, 2025
63f9daf
5.4.0
Dec 10, 2025
1443850
[Description] Update badges
Dec 10, 2025
ffae161
5.4.1-SNAPSHOT
Dec 10, 2025
090fe9c
[Tablist] Start improved tracking of tablist entries
Dec 10, 2025
7f7cf97
[Tablist] Avoid sending tablist packets of entries which are not in t…
Dec 12, 2025
0e6246f
[Forge] Update to 1.21.11
Dec 12, 2025
12b9194
[Conditions] Add support for relational conditions and specifying who…
Dec 17, 2025
33fcee7
[Layout] Add support for new relational conditions and relational pla…
Dec 17, 2025
5a09a9c
[Layout] Add support for layouts with less than 4 columns for 1.19.3+…
Dec 18, 2025
8f3324e
[Layout] Add new slot-count option to default config
Dec 18, 2025
c1ba692
Bump version to 5.5.0-SNAPSHOT considering the massive upcoming chang…
Dec 19, 2025
90631c6
[Velocity] Use internals to inject into pipeline and listen to and mo…
Dec 19, 2025
00a5eb2
[Velocity] Remove header/footer packet modifying since it doesn't wor…
Dec 19, 2025
df7bdb7
[Velocity] Change bossbar bug compensation code as it wasn't actually…
Dec 20, 2025
8d8a036
[Scoreboard] Make red numbers fully configurable and remove config op…
Dec 21, 2025
1b5bf0a
[Proxy support] Make channel name partially configurable
Dec 21, 2025
5c294f4
[Header/Footer] Fix condition update not being processed in feature's…
Dec 22, 2025
1150d07
[Configuration] Update config version in default config
Dec 22, 2025
e8dd46c
[Commands] Modify console vs player check to account for other types …
Dec 22, 2025
22d6ebd
[Performance] Small optimization to condition parsing
Dec 23, 2025
038d221
[Performance] Fix conditions being parsed as relational placeholders …
Dec 23, 2025
5cbb1bb
[Commands] Return list of messages to send when plugin is disabled as…
Dec 23, 2025
68904f5
[Configuration] Reorder config options for more consistency
Dec 24, 2025
267fb72
[Layout] Only mark relational condition as used if actually used as r…
Dec 26, 2025
1e3cbde
[Layout] Merge both fake player layout types due to how similar they are
Dec 27, 2025
52b0f21
[Layout] Small refactor to layout code
Dec 27, 2025
5b0354c
[Layout] Rename "condition" to "display-condition" for better consist…
Dec 27, 2025
c360575
[Commands] Support args in dynamic commands
Dec 28, 2025
162e469
[Scoreboard] Remove old options from valid key list
Dec 30, 2025
2027e9f
[Forge] Add support for ForgePlaceholderAPI
Dec 31, 2025
46aaa47
[Forge] Add hook into a random Vanish mod for checking vanish status
Dec 31, 2025
7bd1b7c
[Wiki] Monthly wiki backup for changes made in December 2025
Jan 1, 2026
15a0446
[Conditions] Add warning text if condition is used in the wrong rel /…
Jan 2, 2026
98378b2
[Bukkit] Add relational placeholders into tab expansion and parse nes…
Jan 3, 2026
fdd4595
[Placeholders] Make %online_<server>% work on backend as well
Jan 6, 2026
9eb9e95
Allow placeholder-based ping values for fixed slots
Mattrolol Jan 7, 2026
191273a
[Debug] Add more messages on load/unload
Jan 7, 2026
5f40411
[Debug] Add more messages unload
Jan 7, 2026
cca15a2
Fix fixed-slot ping validation and warnings
Mattrolol Jan 7, 2026
8c7c804
Merge pull request #1598 from Mattrolol/master
NEZNAMY Jan 7, 2026
2ed4b1b
feat(global player list): enhance wildcard support and add advanced p…
byPixelTV Jan 10, 2026
082c94a
fix(dependencies): change libs disguises repo because the old one is …
byPixelTV Jan 10, 2026
da0307b
docs(global player list): describe new regex support in the wiki +
byPixelTV Jan 10, 2026
2e1e24c
Merge pull request #1599 from byPixelTV/master
NEZNAMY Jan 10, 2026
cae7d8d
perf: replace String.format with StringBuilder for faster placeholder…
groundbreakingmc Jan 11, 2026
fd88c1c
perf: skip StringBuilder allocation when no placeholders present
groundbreakingmc Jan 11, 2026
fa69040
Increase thread shutdown timeout to 5000
Jan 11, 2026
cd06700
perf: implement element-based text parsing for cleaner placeholder re…
groundbreakingmc Jan 11, 2026
f2b88b8
Merge pull request #1600 from groundbreakingmc/master
NEZNAMY Jan 11, 2026
f97b9a4
[Performance] Clean up after PR #1600
Jan 11, 2026
78f8c99
6.0.0-SNAPSHOT
Jan 11, 2026
f406b51
[Bukkit] Add bStats chart
Jan 11, 2026
c2d6386
[Bukkit] Repackage paper classes
Jan 11, 2026
7c30f55
[Bukkit] Remove support for several old MC versions
Jan 11, 2026
d77e2d6
[Belowname] Clean up and use a different check for vanished players
Jan 11, 2026
01d65ba
[Placeholders] Start rework of placeholder retrieving for better perf…
Jan 17, 2026
f921758
[Placeholders] Small optimization to replacing
Jan 17, 2026
e26fc66
[Scoreboard] Execute scoreboard commands in scoreboard thread to avoi…
Jan 17, 2026
881506a
[Tab expansion] Refactor the way data is stored.
Jan 18, 2026
5f78e01
[Commands] Initial implementation of /tab dump command
Jan 18, 2026
6dedb05
[Commands] Drastically improve the new dump command
Jan 21, 2026
5b4e3c4
[Commands] Add player info to dump command
Jan 21, 2026
bf313b3
[Commands] Use better error logging than e.printStackTrace()
Jan 21, 2026
dcd5f5a
[Dump command] Improve output and create a class for features with di…
Jan 23, 2026
21b7393
[Dump command] Add more features to output
Jan 23, 2026
0dfd404
5.5.0
Jan 24, 2026
372d51f
Merge branch 'master' of https://github.com/NEZNAMY/TAB
Jan 24, 2026
cbc4c27
[Description] Update badges
Jan 24, 2026
104bdc6
[Dump Command] Improve sorting feature output
Jan 25, 2026
27472fd
[Dump Command] Format placeholder values in a table
Jan 25, 2026
0420c11
[Dump Command] Add placeholder-related config sections
Jan 25, 2026
a0e5a97
[Dump Command] Add general config settings to output
Jan 25, 2026
126ea4f
[Dump Command] Print values for all players in belowname and playerli…
Jan 25, 2026
141aab1
[Dump Command] Include list of downloaded PlaceholderAPI expansions
Jan 25, 2026
6dbd176
[Dump Command] Include bridge info about player on proxy installation
Jan 25, 2026
86c2342
Replace most minor version checks with protocol version to prepare fo…
Jan 25, 2026
ff2df25
[Commands] Delete debug command and update references to dump command
Jan 25, 2026
d083fc6
[Dump Command] Add table of tablist formatting for all players into dump
Jan 25, 2026
4c91e73
[API] [Layout] Add method for specifying slot count when creating a n…
Jan 26, 2026
d6e70c3
[Dump Command] [Nametags] Dump all display values for all players in …
Jan 26, 2026
f52e99c
[Conditions] Fix conditions not refreshing
Jan 26, 2026
abaf723
[Tablist Formatting] Fix tracked name not being assigned if target pl…
Jan 26, 2026
9e7556c
[Dump Command] Do not show anonymous conditions as they are ugly in t…
Jan 27, 2026
58814bc
[API] [Layout] Add method for fixed slot ping as string
Jan 29, 2026
95ed957
[Configuration] Remove comment from default config that is no longer …
Jan 30, 2026
9afb62a
[Placeholders] Simplify internal placeholder refresh interval handlin…
Jan 30, 2026
94acc4f
[Placeholders] Create class for holding placeholders to fix issues wi…
Jan 31, 2026
e1b2775
[Sorting] Remove team name note tracking as debug command was deleted…
Jan 31, 2026
1c22f23
[Sorting] Remove redundant variable
Jan 31, 2026
de8fe63
[Components] Partially implement click event and use it in dump comma…
Jan 31, 2026
7c63436
Fix error
Feb 1, 2026
fec2131
[Wiki] Monthly wiki backup for changes made in January 2026
Feb 2, 2026
39334a4
[Dump command] Add placeholders sent by bridge on proxy installation
Feb 4, 2026
50fee32
[Velocity] Bump minimum required Velocity build to 546 (after the bos…
Feb 6, 2026
ce90a33
[BossBar] Fix unfreezing issue on Velocity and rename some methods (#…
Feb 7, 2026
4b130ed
Update Gradle 9.1.0 -> 9.3.1
Feb 7, 2026
ac59973
[Tablist] Use ConcurrentHashMap as WeakHashMap was not used the inten…
Feb 8, 2026
1126b3b
[Global playerlist] Do not remove players from the same server on qui…
Feb 8, 2026
297acc0
[Belowname & Playerlist objectives] Add information about proxy playe…
Feb 10, 2026
d7c73a8
[Tablist Formatting] Add information about proxy players to dump output
Feb 10, 2026
4dfc2a6
feat(scoreboard): add setLines method for dynamic line updates
Arava-0 Feb 13, 2026
9234922
Merge pull request #1617 from Arava-0/feat/scoreboard-api-setLines
NEZNAMY Feb 13, 2026
3bd0b13
[Bukkit] Fix error on Folia
Feb 15, 2026
3c3ef63
[Code style] Remove redundant calls
Feb 21, 2026
8cf479b
[Forge/NeoForge] Workaround to fix tablist tracking not working prope…
Feb 28, 2026
3261856
[Forge/NeoForge] Remove redundant content for easier backporting
Feb 28, 2026
3aacec8
[Placeholders] Added locale of date-/time-format to config.yml
BlvckBytes Mar 1, 2026
b4d326b
Merge pull request #1626 from BlvckBytes/placeholders_locale
NEZNAMY Mar 2, 2026
665d6ba
[Configuration] Add config conversion for the new option (#1626)
Mar 2, 2026
a937243
[Dump command] Add proxy players to nametag player table
Mar 3, 2026
654c40b
[MySQL] Include MySQL driver in the jar for it to work on Velocity an…
Mar 7, 2026
335eb5e
[Wiki] Monthly wiki backup for changes made in February 2026
Mar 8, 2026
fce1925
consider canSee when sending scoreboard score packets in yellownumber…
Mar 9, 2026
ccd4ac3
Merge pull request #1629 from c0bl/fix/vanished_score_packets
NEZNAMY Mar 9, 2026
f8e3a07
[Belowname / Playerlist objective] Finish vanish support checks after…
Mar 9, 2026
dbd596f
[Belowname / Playerlist objective] Improve parity between the features
Mar 9, 2026
72f2fda
Merge tag '5.5.0'
Mar 11, 2026
a787c01
feat: add customtagname property for nametags with visibility toggle
Mar 11, 2026
50e817a
[Per world playerlist] Use modern showPlayer/hidePlayer methods with …
Mar 21, 2026
8a1ab06
[Bukkit] Update bStats chart
Mar 21, 2026
f209e1b
[Per world playerlist] Add vanish check for better compatibility with…
Mar 21, 2026
242015b
[Per world playerlist] Further improve compatibility with vanish plug…
Mar 24, 2026
cce29c5
Add 26.1 protocol constant
Mar 25, 2026
a8ccf4e
Properly initialize minor version for 26.1
Mar 28, 2026
cbe0b25
Java 25 and Spigot 26.1 support
Mar 28, 2026
66cb30d
[Commands] Register debug command back to inform users about dump com…
Mar 28, 2026
655bc17
[Scoreboard] Fix line score recalculate issue (#1632)
Mar 30, 2026
87c15f7
Bump dependencies
Mar 31, 2026
2beb956
[BossBar] Forward UUID to platforms to prepare for 26.1 changes
Mar 31, 2026
bb520ed
[Bukkit] Catch correct exception and improve error message
Mar 31, 2026
2e9e504
Improve handling of IO errors on startup
Apr 3, 2026
79eb6a9
[Bukkit] Rename classes and add console print
Apr 3, 2026
93cfd74
[Bukkit] Refactor NMS implementation finding
Apr 3, 2026
ea15b40
Acknowledge 26.1.1
Apr 3, 2026
cb47dcb
[Bukkit] [Code style] Create variable instead of repeatedly calculati…
Apr 3, 2026
66d14a0
[Bukkit] Refactor server version detection for new Paper format and m…
Apr 4, 2026
e4b3e17
[Bukkit] Update unsupported server version message
Apr 4, 2026
2f307c4
6.0.0
Apr 4, 2026
3bf684f
fix: resolve race condition causing white tab names on server switch
Apr 4, 2026
5e8ff89
[Description] Update badges
Apr 4, 2026
4685b46
merge: integrate upstream 6.0.0 into fork
Apr 4, 2026
01db2dd
fix: inject listOrder in ADD_PLAYER packets for 1.21.11+ ViaVersion c…
Apr 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/description/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# About
This folder contains the plugin's description as advertised on various marketplaces where each one uses a different syntax.
(bbcode, markdown).
(BBCode, Markdown).

While this is not an accurate folder to have this stored in (`.github`),
it is the closest if we don't want to create a folder for this in the root.
Expand Down
2 changes: 1 addition & 1 deletion .github/description/images/Badge_Minecraft.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion .github/description/images/Badge_Release.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions .github/description/images/ImageGenerator.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,10 +274,10 @@ def download_image(url, save_path):
]
)

release = "5.3.2"
release = "6.0.0"
download_image(f"https://img.shields.io/badge/Release-{release}-blue.svg", "Badge_Release.svg")

minecraft = "1.7.x - 1.21.10".replace(" ", "%20").replace("-", "--")
minecraft = "1.7.x - 1.21.11".replace(" ", "%20").replace("-", "--")
download_image(f"https://img.shields.io/badge/Minecraft-{minecraft}-blue.svg", "Badge_Minecraft.svg")

java = "8+"
Expand Down
2 changes: 1 addition & 1 deletion .github/wiki/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@

## Functions
* [Animations](https://github.com/NEZNAMY/TAB/wiki/Animations)
* [Component usage (RGB, fonts, sprites)](https://github.com/NEZNAMY/TAB/wiki/How-to-use-Minecraft-components)
* [Conditional placeholders](https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Conditional-placeholders)
* [Error logging](https://github.com/NEZNAMY/TAB/wiki/Error-logging)
* [MySQL](https://github.com/NEZNAMY/TAB/wiki/MySQL)
* [Placeholder output replacements](https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Placeholder-output-replacements)
* [Placeholders](https://github.com/NEZNAMY/TAB/wiki/Placeholders)
* [RGB/font usage](https://github.com/NEZNAMY/TAB/wiki/How-to-use-RGB-color-codes)

## Other
* [Additional information](https://github.com/NEZNAMY/TAB/wiki/Additional-information)
Expand Down
2 changes: 1 addition & 1 deletion .github/wiki/additional_information.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ TAB's objective and team naming:
# Per-version experience
Minecraft has changed over the years.
It had some limits removed, some added, some bugs fixed, but also some bugs added.
TAB adapts code based on player's version for the best possible experience on each minecraft version.
TAB adapts code based on player's version for the best possible experience on each Minecraft version.

## Detection
When TAB is installed on a proxy, the proxy's API is used to get player's version.
Expand Down
5 changes: 3 additions & 2 deletions .github/wiki/animations.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ That includes header/footer, prefix/suffix, belowname, playerlist objective, bos
# Tips & Tricks
* Animations don't need to be fast. You can use them as a changing text in general.
* Animations can also be used as a short alias to a long text. You can do this by creating an animation with one frame.
* Adding to the previous point, animations can be used as a way to wrap a placeholder, having two different identifiers return the same value, allowing to use both original and replaced output from [Placeholder output replacements](https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Placeholder-output-replacements).

# External tools
If you want an animation too complicated to be done manually, you can check out these websites:
Expand All @@ -56,5 +57,5 @@ If you want an animation too complicated to be done manually, you can check out
All animations start at the same time, which is time of plugin being (re)loaded.
Thanks to this, all animations with the same number of frames and the same change interval will be synchronized.
If you want to synchronize multiple animations with a different change interval and different number of frames,
you need to make sure `(frame count)*(change interval)` is same for both animations,
for example one animation with 10 frames and 1000ms and second animation with 2 frames and 5000ms.
you need to make sure `(frame count)*(change interval)` is same for both animations.
For example, one animation with 10 frames and 1000ms and second animation with 2 frames and 5000ms.
6 changes: 4 additions & 2 deletions .github/wiki/client_sided_mechanics.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@
* [Tablist entry widths](#tablist-entry-widths)

# About
This is a collection of mechanics related to the plugin explaining how does the minecraft client process information from the server and what you can and what you cannot impact.
This is a collection of mechanics related to the plugin explaining how does the Minecraft client process information from the server and what you can and what you cannot impact.

# Nametag format in tablist
When disabling [Tablist name formatting](https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Tablist-name-formatting), nametag prefix/suffix will be displayed in tablist instead. If you don't want any prefixes in tablist, keep the feature enabled but don't set any prefixes. Disabling this option is only useful to allow other plugins to use the feature or to intentionally display teams in tablist.
Tablist names can be formatted in 2 ways. The main one, designed explicitly for tablist names was added into Minecraft in version 1.8 and can be controlled by TAB's [Tablist name formatting](https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Tablist-name-formatting) feature.
If the feature is disabled or not applied properly (disabled with condition, some deeper compatibility issue ...), nametag prefix/suffix will be displayed in tablist instead. This mechanic is also used for <1.8 players due to 16-character tablist name limit there. You can also do this intentionally, for example for better performance.
If you don't want any prefixes in tablist, keep the feature enabled but don't set any prefix / suffix. Disabling this feature is only useful to allow other plugins to use the feature or to intentionally display teams in tablist.

# Tablist entry overlap
When having enough online players for 3–4 columns (or using [Layout](https://github.com/NEZNAMY/TAB/wiki/Feature-guide:-Layout)) and their name formats are too long, they might overlap. This is caused by attempting to display text wider than the monitor can handle.
Expand Down
Loading