Introdução ao HOCON

O HOCON (Notação de Configuração de Objetos Otimizada para Humanos) é um formato de configuração de fácil utilização. É utilizada pelo Sponge, e por plugins que utilizam a SpongeAPI para armazenar dados importantes, tais como configurações ou dados de jogadores. Os ficheiros HOCON costumam ter o sufixo .conf.

Componentes

  • uma key é uma string que precede um valor
  • um valor é uma string, um número, um objeto, um array, ou um boleano que segue uma key
  • um separador key-value separa keys de valores e pode ser : ou =
  • um comentário é precedido por um # ou //, e serve geralmente para dar feedback ou instruções

Exemplo:

yellow-thing: "Sponge"

Neste exemplo, a key é a yellow-thing, o valor é Sponge, e o separador key-value é :.

Trabalhar com o HOCON

O HOCON é mais flexível do que o formato JSON (Notação de Objetos JavaScript) por existirem várias formas de escrever HOCON válido. Seguem abaixo 2 exemplos de HOCON válido.

Exemplo #1:

player: {
    name: "Steve",
    level: 30
}

Exemplo #2:

player {
    name = "Steve"
    level = 30
}

Na prática, o melhor é seguir a formatação do ficheiro HOCON que estás a editar. Quando editares um ficheiro de configuração HOCON para o Sponge ou para um plugin que utilize a SpongeAPI, o mais provável é que só alteres os valores, a menos que tenhas outras instruções.

Fazer o Debug da tua Configurção

Se uma configuração HOCON parecer não estar a funcionar, estão aqui algumas dicas.

  • O número de parênteses curvos deve estar equilibrado
  • O número de aspas deve estar equilibrado
  • Quando há duas ou mais keys iguais, a última tem prioridade

Especificação

Podes encontrar mais informações sobre o formato HOCON aqui.