#Have PoaSK fake tab players with colored names

1 messages ยท Page 1 of 1 (latest)

tribal thistle
#

ah right yh

#

umm u cnat with my methods

#

imma look into another method to do so. the reason behind it is because it uses fake players to do so. of which cannot have colors or more than 16 chars

#

but im 99% sure there are other plugins that allow to do this. so ill have a good look

#

lemme fix this feature right now

hollow bridge
#

please ๐Ÿ™

#

what's the point of adding fake tab players if not to have color, people mainly use them for cool multi-column tab systems

#

which was my aim

hollow bridge
tribal thistle
#

i mean i added them so when u hide a player u can add it back. but even then it wont show their rank or anything so yh its completely pointless....

hollow bridge
tribal thistle
#

nope

#

whole new set of packets to deal with

#

and converting components to nms

tribal thistle
#

ok gonna be hella hard

#

gotta forge the fake players own connections stuff

#

not easy as i thought

#
public static ServerPlayer createServerPlayer(Location loc, String name, UUID uuid, int skinModel, boolean listed, String skinTexture, String skinSignature) {
        World world = Bukkit.getWorlds().get(0);
        MinecraftServer server = MinecraftServer.getServer();
        ServerLevel level = ((CraftWorld) world).getHandle();
        ClientInformation clientInformation = new ClientInformation("en_us", 2, ChatVisiblity.FULL, false, skinModel, HumanoidArm.RIGHT, true, listed, ParticleStatus.ALL);
        ServerPlayer fakePlayer = new ServerPlayer(server, level, new GameProfile(uuid, name), clientInformation);
        fakePlayer.setPos(new Vec3(loc.getX(), loc.getY(), loc.getZ()));
        fakePlayer.setRot(loc.getYaw(), loc.getPitch());
        fakePlayer.setYHeadRot(loc.getYaw());

        fakePlayer.connection = new ServerGamePacketListenerImpl(MinecraftServer.getServer(), new Connection(PacketFlow.CLIENTBOUND), fakePlayer, new CommonListenerCookie(fakePlayer.getGameProfile(), 1, fakePlayer.clientInformation(), true));


        GameProfile gameProfile = fakePlayer.getGameProfile();

        if (skinTexture != null || skinSignature == null) {
            gameProfile.getProperties().removeAll("textures");
            gameProfile.getProperties().put("textures", new Property("textures", skinTexture, skinSignature));
        }

        return fakePlayer;
    }

but im hopeful this will now work

hollow bridge
#

love

#

wait i dont have permission to view the page

tribal thistle
#

fixed

hollow bridge
#

thanks

#

are the docs updated on skripthub

tribal thistle
#

same syntax

#

it just works properly now

hollow bridge
#

alr

hollow bridge
tribal thistle
#

Team packets

hollow bridge
#

but dont u send team packets to players

#

not fake tab players?

#

wait ignore me

#

im stupid

hollow bridge
#
function tab(p: players, uuid: string, text: string, line: int, skin: string = "zapolo"):
    loop {_p::*}:
        add player named "%{_text}%" to tablist with skin named "zapolo" with latency 999 for loop-value with uuid {_uuid}
        set {_l} to {_line}th element of ("abcdefghijklmnopqrstuvwxyz" split at "")
        send team packet to loop-value with name {_l} displayname {_line} with entity uuid {_uuid}```
#

the team packet doesnt seem to be ordering anything

#

even if i put a letter infront, it's still not sorted ๐Ÿค”

tribal thistle
#

lemme test something

hollow bridge
tribal thistle
#

soorry fell asleep i sent that message at 4 am for me

tribal thistle
#

ill be making some updates later

tribal thistle
#

also why not use TAB plugin? it can do all this

#

ive found a solution but it only works on client and server 1.21.4, so with viaversions it doesnt work. so that sucks

#

idk why the team packet isnt ordering

#

best solution i have for you... use Tab

hollow bridge
#

Nooo ๐Ÿ™๐Ÿ˜ญ