package net.glowstone.net.codec.play.entity; import com.flowpowered.networking.Codec; import com.flowpowered.networking.util.ByteBufUtils; import io.netty.buffer.ByteBuf; import net.glowstone.net.message.play.entity.DestroyEntitiesMessage; import java.io.IOException; import java.util.ArrayList; import java.util.List; public final class DestroyEntitiesCodec implements Codec<DestroyEntitiesMessage> { @Override public DestroyEntitiesMessage decode(ByteBuf buf) throws IOException { int size = ByteBufUtils.readVarInt(buf); List<Integer> ids = new ArrayList<>(); for (int i = 0; i < size; i++) { ids.add(ByteBufUtils.readVarInt(buf)); } return new DestroyEntitiesMessage(ids); } @Override public ByteBuf encode(ByteBuf buf, DestroyEntitiesMessage message) throws IOException { ByteBufUtils.writeVarInt(buf, message.getIds().size()); for (int id : message.getIds()) { ByteBufUtils.writeVarInt(buf, id); } return buf; } }