Code : Tout sélectionner
package fr.fureurtime.moreblock.blocks.slab;
import java.util.Random;
import fr.fureurtime.moreblock.MoreBlock;
import fr.fureurtime.moreblock.init.BlocksMod;
import net.minecraft.block.BlockSlab;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public abstract class BlockSlabMod extends BlockSlab
{
public BlockSlabMod(String name, Material material, float hardness, float resistance)
{
super(material);
setRegistryName(name).setUnlocalizedName(name);
setCreativeTab(MoreBlock.mbtab_block);
setHardness(hardness);
setResistance(resistance);
IBlockState state = this.blockState.getBaseState();
if(!this.isDouble())
{
state = state.withProperty(HALF, EnumBlockHalf.BOTTOM);
}
setDefaultState(state);
this.useNeighborBrightness = true;
}
@Override
public String getUnlocalizedName(int meta)
{
return this.getUnlocalizedName(meta);
}
@Override
public IProperty<?> getVariantProperty()
{
return HALF;
}
@Override
public Comparable<?> getTypeForItem(ItemStack stack)
{
return EnumBlockHalf.BOTTOM;
}
@Override
public int damageDropped(IBlockState state)
{
return 0;
}
@Override
public IBlockState getStateFromMeta(int meta)
{
if(!this.isDouble())
{
return this.getDefaultState().withProperty(HALF, EnumBlockHalf.values()[meta % EnumBlockHalf.values().length]);
}
return this.getDefaultState();
}
@Override
public int getMetaFromState(IBlockState state)
{
if(!this.isDouble())
{
return 0;
}
return ((EnumBlockHalf)state.getValue(HALF)).ordinal() + 1;
}
@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune)
{
return Item.getItemFromBlock(this);
}
@Override
protected BlockStateContainer createBlockState()
{
return new BlockStateContainer(this, new IProperty[] {HALF});
}
}