Code/net/minecraft/client/resources/metadata/animation/VillagerMetadataSection.java

39 lines
1.5 KiB
Java
Raw Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.client.resources.metadata.animation;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import com.mojang.serialization.codecs.RecordCodecBuilder.Instance;
import net.minecraft.server.packs.metadata.MetadataSectionType;
import net.minecraft.util.StringRepresentable;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public record VillagerMetadataSection(VillagerMetadataSection.Hat hat) {
public static final Codec<VillagerMetadataSection> CODEC = RecordCodecBuilder.create(
p_377007_ -> p_377007_.group(
VillagerMetadataSection.Hat.CODEC.optionalFieldOf("hat", VillagerMetadataSection.Hat.NONE).forGetter(VillagerMetadataSection::hat)
)
.apply(p_377007_, VillagerMetadataSection::new)
);
public static final MetadataSectionType<VillagerMetadataSection> TYPE = new MetadataSectionType<>("villager", CODEC);
@OnlyIn(Dist.CLIENT)
public static enum Hat implements StringRepresentable {
NONE("none"),
PARTIAL("partial"),
FULL("full");
public static final Codec<VillagerMetadataSection.Hat> CODEC = StringRepresentable.fromEnum(VillagerMetadataSection.Hat::values);
private final String name;
private Hat(final String p_376657_) {
this.name = p_376657_;
}
@Override
public String getSerializedName() {
return this.name;
}
}
}