@Override
  public void onBlockPlacedBy(
      World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {

    ForgeDirection dir = Utilities.metaToDir(world.getBlockMetadata(x, y, z));
    TEKnifeSwitch te = TileEntityUtils.getTileEntity(TEKnifeSwitch.class, world, x, y, z);
    if (te != null) te.setDirection(dir);
    else System.out.println("TE is NULL! :(");
  }
  @Override
  public void setBlockBoundsBasedOnState(IBlockAccess blockAccess, int x, int y, int z) {

    TEGenericControl te = (TEGenericControl) blockAccess.getTileEntity(x, y, z);
    if (te != null) {
      ForgeDirection dir = te.getDirection();
      te.setDirection(dir);
      setBlockBounds(AABBUtils.rotate(defaultBoundingBox.copy(), Utilities.dirToMeta(dir)));
    }
  }