36 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.client.resources.metadata.animation;
 | |
| 
 | |
| import com.mojang.serialization.Codec;
 | |
| import com.mojang.serialization.codecs.RecordCodecBuilder;
 | |
| import net.fabricmc.api.EnvType;
 | |
| import net.fabricmc.api.Environment;
 | |
| import net.minecraft.server.packs.metadata.MetadataSectionType;
 | |
| import net.minecraft.util.StringRepresentable;
 | |
| 
 | |
| @Environment(EnvType.CLIENT)
 | |
| public record VillagerMetadataSection(VillagerMetadataSection.Hat hat) {
 | |
| 	public static final Codec<VillagerMetadataSection> CODEC = RecordCodecBuilder.create(
 | |
| 		instance -> instance.group(VillagerMetadataSection.Hat.CODEC.optionalFieldOf("hat", VillagerMetadataSection.Hat.NONE).forGetter(VillagerMetadataSection::hat))
 | |
| 			.apply(instance, VillagerMetadataSection::new)
 | |
| 	);
 | |
| 	public static final MetadataSectionType<VillagerMetadataSection> TYPE = new MetadataSectionType<>("villager", CODEC);
 | |
| 
 | |
| 	@Environment(EnvType.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 name) {
 | |
| 			this.name = name;
 | |
| 		}
 | |
| 
 | |
| 		@Override
 | |
| 		public String getSerializedName() {
 | |
| 			return this.name;
 | |
| 		}
 | |
| 	}
 | |
| }
 |