package net.slimevoid.library.blocks; import net.minecraft.block.material.Material; import net.minecraft.block.properties.IProperty; import net.minecraft.block.state.BlockState; import net.minecraft.block.state.IBlockState; import net.minecraftforge.common.property.ExtendedBlockState; import net.minecraftforge.common.property.IExtendedBlockState; import net.minecraftforge.common.property.IUnlistedProperty; /** * Created by Greg on 22/03/15. */ public abstract class BlockExtendedBase extends BlockSimpleBase { public BlockExtendedBase(Material material) { super(material); } @Override protected void setActualDefaultState() { } @Override protected BlockState createBlockState() { return new ExtendedBlockState(this, this.getPropertyList(), this.getUnlistedPropertyList()); } @Override protected IBlockState getInitialState(IBlockState state) { return this.getInitialExtendedState(state); } protected abstract IExtendedBlockState getInitialExtendedState(IBlockState state); protected abstract IUnlistedProperty[] getUnlistedPropertyList(); @Override protected IProperty[] getPropertyList() { return new IProperty[0]; } }