minecraft-src/net/minecraft/client/renderer/block/model/SingleVariant.java
2025-07-04 03:45:38 +03:00

44 lines
1.3 KiB
Java

package net.minecraft.client.renderer.block.model;
import com.mojang.serialization.Codec;
import java.util.List;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.resources.model.ModelBaker;
import net.minecraft.client.resources.model.ResolvableModel;
import net.minecraft.util.RandomSource;
@Environment(EnvType.CLIENT)
public class SingleVariant implements BlockStateModel {
private final BlockModelPart model;
public SingleVariant(BlockModelPart model) {
this.model = model;
}
@Override
public void collectParts(RandomSource random, List<BlockModelPart> output) {
output.add(this.model);
}
@Override
public TextureAtlasSprite particleIcon() {
return this.model.particleIcon();
}
@Environment(EnvType.CLIENT)
public record Unbaked(Variant variant) implements BlockStateModel.Unbaked {
public static final Codec<SingleVariant.Unbaked> CODEC = Variant.CODEC.xmap(SingleVariant.Unbaked::new, SingleVariant.Unbaked::variant);
@Override
public BlockStateModel bake(ModelBaker baker) {
return new SingleVariant(this.variant.bake(baker));
}
@Override
public void resolveDependencies(ResolvableModel.Resolver resolver) {
this.variant.resolveDependencies(resolver);
}
}
}