package com.w67clement.mineapi.nms.reflection.packets.status; import com.w67clement.mineapi.MineAPI; import com.w67clement.mineapi.api.ReflectionAPI.*; import com.w67clement.mineapi.api.wrappers.ServerPingWrapper; import com.w67clement.mineapi.packets.status.PacketStatusOutServerInfo; import java.lang.reflect.Field; import static com.w67clement.mineapi.api.ReflectionAPI.*; public class CraftPacketStatusOutServerInfo extends PacketStatusOutServerInfo<Object> { private static final Class<?> packetClass; private static final Field serverPingField; static { packetClass = getNmsClass("PacketStatusOutServerInfo"); serverPingField = getFirstFieldOfType(packetClass, getNmsClass("ServerPing"), true); } public CraftPacketStatusOutServerInfo(Object packet) { super(packet); } public CraftPacketStatusOutServerInfo(ServerPingWrapper ping) { super(SunUnsafe.newInstance(packetClass)); setServerPing(ping); } @Override public ServerPingWrapper getServerPing() { return MineAPI.getNmsManager().getServerPingWrapper(getValue(packet, serverPingField)); } @Override public void setServerPing(ServerPingWrapper ping) { setValue(packet, serverPingField, ping.toServerPing()); } }