package com.nukkitx.protocol.bedrock.v361.serializer; import com.nukkitx.protocol.bedrock.packet.ResourcePackClientResponsePacket; import com.nukkitx.protocol.bedrock.v361.BedrockUtils; import com.nukkitx.protocol.serializer.PacketSerializer; import io.netty.buffer.ByteBuf; import lombok.AccessLevel; import lombok.NoArgsConstructor; import java.util.List; import static com.nukkitx.protocol.bedrock.packet.ResourcePackClientResponsePacket.Status; @NoArgsConstructor(access = AccessLevel.PRIVATE) public class ResourcePackClientResponseSerializer_v361 implements PacketSerializer<ResourcePackClientResponsePacket> { public static final ResourcePackClientResponseSerializer_v361 INSTANCE = new ResourcePackClientResponseSerializer_v361(); @Override public void serialize(ByteBuf buffer, ResourcePackClientResponsePacket packet) { buffer.writeByte(packet.getStatus().ordinal()); List<String> packIds = packet.getPackIds(); buffer.writeShortLE(packIds.size()); for (String packId : packIds) { BedrockUtils.writeString(buffer, packId); } } @Override public void deserialize(ByteBuf buffer, ResourcePackClientResponsePacket packet) { Status status = Status.values()[buffer.readByte()]; packet.setStatus(status); List<String> packIds = packet.getPackIds(); int packIdsCount = buffer.readShortLE(); for (int i = 0; i < packIdsCount; i++) { packIds.add(BedrockUtils.readString(buffer)); } } }