/* * Copyright (c) 2018 Jitse Boonstra */ package net.jitse.npclib.nms.v1_11_r1.packets; import com.comphenix.tinyprotocol.Reflection; import net.minecraft.server.v1_11_R1.PacketPlayOutScoreboardTeam; import java.util.Collection; /** * @author Jitse Boonstra */ public class PacketPlayOutScoreboardTeamWrapper { public PacketPlayOutScoreboardTeam createRegisterTeam(String name) { PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "g", int.class) .set(packetPlayOutScoreboardTeam, 0); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "b", String.class) .set(packetPlayOutScoreboardTeam, name); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "a", String.class) .set(packetPlayOutScoreboardTeam, name); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "e", String.class) .set(packetPlayOutScoreboardTeam, "never"); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "i", int.class) .set(packetPlayOutScoreboardTeam, 0); Reflection.FieldAccessor collectionFieldAccessor = Reflection.getField( packetPlayOutScoreboardTeam.getClass(), "h", Collection.class); Collection collection = collectionFieldAccessor.get(packetPlayOutScoreboardTeam); collection.add(name); collectionFieldAccessor.set(packetPlayOutScoreboardTeam, collection); return packetPlayOutScoreboardTeam; } public PacketPlayOutScoreboardTeam createUnregisterTeam(String name) { PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam(); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "g", int.class) .set(packetPlayOutScoreboardTeam, 1); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "a", String.class) .set(packetPlayOutScoreboardTeam, name); return packetPlayOutScoreboardTeam; } }