package sourcecoded.quantum.block;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.item.ItemBlock;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import sourcecoded.core.block.IBlockHasItem;
import sourcecoded.quantum.Constants;
import sourcecoded.quantum.api.tileentity.IDyeable;
import sourcecoded.quantum.api.translation.LocalizationUtils;
import sourcecoded.quantum.inventory.QATabs;
import sourcecoded.quantum.item.ItemBlockQuantum;
import sourcecoded.quantum.tile.TileQuantum;
import static sourcecoded.core.util.LocalizationUtils.prefix;
/**
* Base Class
*/
public class BlockQuantum extends Block implements IBlockHasItem {
public String customName;
public boolean subtypes = false;
public BlockQuantum(Material mat) {
super(mat);
this.setCreativeTab(QATabs.quantumTab);
this.setHardness(6F);
}
public int damageDropped(int meta) {
return meta;
}
public void setHasSubtypes(boolean state) {
this.subtypes = state;
}
public BlockQuantum() {
this(Material.rock);
}
public boolean hasComparatorInputOverride() {
return true;
}
public int getComparatorInputOverride(World world, int x, int y, int z, int side) {
TileEntity tile = world.getTileEntity(x, y, z);
if (tile != null) {
if (tile instanceof IDyeable)
return ((IDyeable) tile).getColour().ordinal();
}
return 0;
}
public Block setBlockTextureName(String name) {
return super.setBlockTextureName(prefix(Constants.MODID, name));
}
public Block setBlockName(String name) {
this.customName = name;
return super.setBlockName(prefix(Constants.MODID_SHORT, name));
}
public String getUnlocalizedName() {
return "qa.blocks." + customName;
}
public String getLocalizedName() {
return LocalizationUtils.translateLocalWithColours(getUnlocalizedName() + ".name", getUnlocalizedName() + ".name");
}
@Override
public Class<? extends ItemBlock> getItemBlock(Block block) {
return ItemBlockQuantum.class;
}
}