minecraft-src/net/minecraft/world/item/Rarity.java
2025-07-04 02:00:41 +03:00

40 lines
1.3 KiB
Java

package net.minecraft.world.item;
import com.mojang.serialization.Codec;
import io.netty.buffer.ByteBuf;
import java.util.function.IntFunction;
import net.minecraft.ChatFormatting;
import net.minecraft.network.codec.ByteBufCodecs;
import net.minecraft.network.codec.StreamCodec;
import net.minecraft.util.ByIdMap;
import net.minecraft.util.StringRepresentable;
import net.minecraft.util.ByIdMap.OutOfBoundsStrategy;
public enum Rarity implements StringRepresentable {
COMMON(0, "common", ChatFormatting.WHITE),
UNCOMMON(1, "uncommon", ChatFormatting.YELLOW),
RARE(2, "rare", ChatFormatting.AQUA),
EPIC(3, "epic", ChatFormatting.LIGHT_PURPLE);
public static final Codec<Rarity> CODEC = StringRepresentable.fromValues(Rarity::values);
public static final IntFunction<Rarity> BY_ID = ByIdMap.continuous(rarity -> rarity.id, values(), OutOfBoundsStrategy.ZERO);
public static final StreamCodec<ByteBuf, Rarity> STREAM_CODEC = ByteBufCodecs.idMapper(BY_ID, rarity -> rarity.id);
private final int id;
private final String name;
private final ChatFormatting color;
private Rarity(final int id, final String name, final ChatFormatting color) {
this.id = id;
this.name = name;
this.color = color;
}
public ChatFormatting color() {
return this.color;
}
@Override
public String getSerializedName() {
return this.name;
}
}