package net.minecraft.advancements; import java.util.List; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.resources.ResourceLocation; public record AdvancementHolder(ResourceLocation id, Advancement value) { public static final StreamCodec STREAM_CODEC = StreamCodec.composite( ResourceLocation.STREAM_CODEC, AdvancementHolder::id, Advancement.STREAM_CODEC, AdvancementHolder::value, AdvancementHolder::new ); public static final StreamCodec> LIST_STREAM_CODEC = STREAM_CODEC.apply(ByteBufCodecs.list()); @Override public boolean equals(Object p_298719_) { if (this == p_298719_) { return true; } else { if (p_298719_ instanceof AdvancementHolder advancementholder && this.id.equals(advancementholder.id)) { return true; } return false; } } @Override public int hashCode() { return this.id.hashCode(); } @Override public String toString() { return this.id.toString(); } }