package net.minecraft.world.level.block.state;

import net.minecraft.core.Registry;
import com.mojang.serialization.MapCodec;
import net.minecraft.world.level.block.state.properties.Property;
import com.google.common.collect.ImmutableMap;
import net.minecraft.world.level.block.Block;
import com.mojang.serialization.Codec;

public class BlockState extends BlockBehaviour.BlockStateBase {
    public static final Codec<BlockState> CODEC;
    
    public BlockState(final Block bvr, final ImmutableMap<Property<?>, Comparable<?>> immutableMap, final MapCodec<BlockState> mapCodec) {
        super(bvr, immutableMap, mapCodec);
    }
    
    @Override
    protected BlockState asState() {
        return this;
    }
    
    static {
        CODEC = StateHolder.<Object, BlockState>codec((com.mojang.serialization.Codec<Object>)Registry.BLOCK, Block::defaultBlockState).stable();
    }
}
