• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot 1.17 PacketPlayOutScoreboardTeam leider mit Fehler beim senden von Packets

Xenoshi

Kuhfänger
Registriert
22 November 2015
Beiträge
77
Diamanten
300
Minecraft
godlessFloof
Hey ein neuer Beitrag mit einer Frage.

Ich probiere immer neue dinge aus, also auch jetzt mal Packets.
Also ab auf YT und mal gekuckt. ScoreBoards und dessen Teams einer der anläufe.

Ich hab also das gemacht was im Video gesagt wurde, alles an sich richtig außer das:
Screenshot_37.png


Letztlich habe ich ein wenig im Internet rumgesucht aber leider nichts gefunden.
Wenn sich jemand damit auskennt, wäre es echt Nett wenn er mir das ganze mal berichtigt :)
Den Code findet ihr auf Pastebin denn irgendwie ist er hier zu lang: https://pastebin.com/0p4i1F0b
 

Arthweran

Minecrafter
Registriert
13 Januar 2013
Beiträge
24
Diamanten
304
Minecraft
Arthweran
Hey, scheinbar ist der Konstruktor, welchen du für PacketPlayOutScoreboardTeam verwendest, nicht mehr kompatible.
PacketPlayOutScoreboardTeam erstellen mit:
public static PacketPlayOutScoreboardTeam createScoreboardTeamPacket(ScoreboardTeam team, int packetType)
{
    // Object PacketPlayOutScoreboardTeam erzeugen über den static a(...) Konstruktor.
    PacketPlayOutScoreboardTeam scoreboardTeamPacket = PacketPlayOutScoreboardTeam.a(team);
    try
    {
        // Verwenden von Reflections
        // Ändern des privaten PacketTypes von PacketPlayOutScoreboardTeam auf Variable
        java.lang.reflect.Field h_packetType = PacketPlayOutScoreboardTeam.class.getDeclaredField("h");
        h_packetType.setAccessible(true);
        h_packetType.set(scoreboardTeamPacket, packetType);
    }
    catch(Exception e) {}
        
    return scoreboardTeamPacket;
}

Mit dieser Funktion solltest du nun ein neues Packet erstellen und deiner "sendPacket" Funktion übergeben.
(Sofern sich kein Fehler meinerseits eingeschlichen hat)
Bedenke das dies mit Server Versionen != 1.17.1, nicht mehr kompatible sein könnte!
 
Oben