44 lines
1.3 KiB
Java
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);
|
|
}
|
|
}
|
|
}
|