minecraft-src/net/minecraft/network/chat/numbers/FixedFormat.java
2025-07-04 01:41:11 +03:00

42 lines
1.3 KiB
Java

package net.minecraft.network.chat.numbers;
import com.mojang.serialization.MapCodec;
import net.minecraft.network.RegistryFriendlyByteBuf;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.ComponentSerialization;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.network.codec.StreamCodec;
public class FixedFormat implements NumberFormat {
public static final NumberFormatType<FixedFormat> TYPE = new NumberFormatType<FixedFormat>() {
private static final MapCodec<FixedFormat> CODEC = ComponentSerialization.CODEC.fieldOf("value").xmap(FixedFormat::new, fixedFormat -> fixedFormat.value);
private static final StreamCodec<RegistryFriendlyByteBuf, FixedFormat> STREAM_CODEC = StreamCodec.composite(
ComponentSerialization.TRUSTED_STREAM_CODEC, fixedFormat -> fixedFormat.value, FixedFormat::new
);
@Override
public MapCodec<FixedFormat> mapCodec() {
return CODEC;
}
@Override
public StreamCodec<RegistryFriendlyByteBuf, FixedFormat> streamCodec() {
return STREAM_CODEC;
}
};
final Component value;
public FixedFormat(Component value) {
this.value = value;
}
@Override
public MutableComponent format(int number) {
return this.value.copy();
}
@Override
public NumberFormatType<FixedFormat> type() {
return TYPE;
}
}