paulzhng / UCUtils

UCUtils is a modification for UnicaCity providing specialized and nice-to-have features and utilities for everyday gameplay
https://fuzzlemann.de
Mozilla Public License 2.0
4 stars 4 forks source link

NameFormatHandler - ScorePlayerTeam #3

Closed NichtTube closed 4 years ago

NichtTube commented 4 years ago

https://github.com/Fuzzlemann/UCUtils/blob/e6f81aa21730308a11bcd761f704739587bb69db/src/main/java/de/fuzzlemann/ucutils/events/NameFormatEventHandler.java#L66

Hey, ich habe etwas rumprobiert und herausgefunden, dass String displayName = ScorePlayerTeam.formatPlayerName(p.getTeam(), userName); nur den userName ausgibt. Die Länge des Strings entspricht auch der Länge des Namens, bedeutet das keine Farbcodes vorne vorhanden sind. Ich mache mir etwas Gedanken, ob vlt Spieler mit Masken überhaupt erkannt werden oder ich habe die entsprechende Zeile einfach falsch reproduziert. (Ich habe versucht als Medic den Farbcode, wie du es tust, abzufangen um hinter den entsprechenden Namen ein Symbol (Duty) anzuhängen)

Bei mir, bei einer Abfrage ob "p.getTeam() != null" ist, kam heraus, dass das Spielerteam generell einfach "null" ist. Liegt es an mir oder ist es bei dir auch so?

Grüße.

paulzhng commented 4 years ago

Hi,

das liegt daran, dass das Tablistensystem vermutlich anders geregelt ist als das Maskensystem. Dies liegt daran, dass der Nametag des Spielers bei den Masken noch verändert werden muss, bei den Duty-Anzeigen nicht. Um zu überprüfen, ob die Person im Duty ist, empfehle ich dir, ForgeUtils.getTablistName() anzuschauen.

NichtTube notifications@github.com schrieb am So., 9. Aug. 2020, 11:37:

https://github.com/Fuzzlemann/UCUtils/blob/e6f81aa21730308a11bcd761f704739587bb69db/src/main/java/de/fuzzlemann/ucutils/events/NameFormatEventHandler.java#L66

Hey, ich habe etwas rumprobiert und herausgefunden, dass String displayName = ScorePlayerTeam.formatPlayerName(p.getTeam(), userName); nur den userName ausgibt. Die Länge des Strings entspricht auch der Länge des Namens, bedeutet das keine Farbcodes vorne vorhanden sind. Ich mache mir etwas Gedanken, ob vlt Spieler mit Masken überhaupt erkannt werden oder ich habe die entsprechende Zeile einfach falsch reproduziert. (Ich habe versucht als Medic den Farbcode, wie du es tust, abzufangen um hinter den entsprechenden Namen ein Symbol (Duty) anzuhängen)

Bei mir, bei einer Abfrage ob "p.getTeam() != null" ist, kam heraus, dass das Spielerteam generell einfach "null" ist. Liegt es an mir oder ist es bei dir auch so?

Grüße.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Fuzzlemann/UCUtils/issues/3, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD5TJ7YTSRC3QPPLSGCZFSDR7ZU4JANCNFSM4PZDIQBQ .

NichtTube commented 4 years ago

Okey, ich schaue es mir mal an - vielen lieben Dank!

NichtTube commented 4 years ago

Moin,

hast du nh Ahnung wie ich ForgeUtils.getTablistName() ins PlayerEvent.NameFormat integrieren kann? Um den Duty korrekt anzuzeigen habe ich zusätzlich eine Schleife, die alle 30sek die Namen aktualisiert (p.refreshDisplayName) [Den Grund lassen wir mal weg, ich persönlich kann damit aber besser umgehen].

Ich habe wirklich keine Ahnung wie man das machen kann, weil ich mit der NetworkPlayerInfo bisher wenig zu tun hatte & es dazu auch wenig Informationen bezüglich Client-Side-Mods gibt :/

Ich könnte mir aus der PlayerInfoMap alle NetworkPlayerInfos bekommen, dass könnte ja aber bei 30 Spielern an einer Stelle vielleicht etwas Problematisch werden, wenn ich bei jedem jede 30sek alle Infos einhole.

Gegeben ist also der EntityPlayer aus dem PlayerEvent.NameFormat - eine Antwort wäre lieb, auch wenn es weniger mit der UCUtils Mod zu tun hat!

Grüße

NichtTube commented 4 years ago

Okey, nein, is jetzt endgültig closed - bin etwas dumm. Neben der PlayerInfoMap kann man auch einen speziellen Spieler abfragen mit Main.MINECRAFT.getConnection().getPlayerInfo(String name)

Danke trz! /closed