My server uses BungeeCord as a proxy. To display all players across sub-servers, I use the BungeeTabListPlus plugin for a customized TabList. This plugin sends several fake player entries to the client to expand the TabList to a custom size.
However, when this plugin is enabled, all player heads are rendered as Steve. I have checked the source code of NecroTempus, and in io.github.cruciblemc.necrotempus.modules.features.playertab.client.render.PlayerTabGui.java, the getPlayerSkin method attempts to fetch skins via the skinport API, and then fallback to retrieving skins based on player names. In theory, obtaining skins by player names should work, but I can't understand why they are still rendered as Steve, as shown in the screenshot below.

My server uses BungeeCord as a proxy. To display all players across sub-servers, I use the BungeeTabListPlus plugin for a customized TabList. This plugin sends several fake player entries to the client to expand the TabList to a custom size.
However, when this plugin is enabled, all player heads are rendered as Steve. I have checked the source code of NecroTempus, and in io.github.cruciblemc.necrotempus.modules.features.playertab.client.render.PlayerTabGui.java, the getPlayerSkin method attempts to fetch skins via the skinport API, and then fallback to retrieving skins based on player names. In theory, obtaining skins by player names should work, but I can't understand why they are still rendered as Steve, as shown in the screenshot below.