Introdução ao HOCON

O HOCON (Human-Optimized Config Object Notation) é um formato de configuração fácil de usar. É usado pelo Sponge e por plugins que utilizam a SpongeAPI para armazenar dados importantes, tais como configuração ou dados de jogadores. Os arquivos do HOCON usam, tipicamente, o sufixo .conf.

Componentes

  • uma chave é uma string que precede um valor

  • um valor é uma string, número, objeto, array, ou booleano que segue uma chave

  • um separador chave-valor separa chaves de valores e pode ser um : ou =

  • um comentário é prefixado com # ou // e serve normalmente para dar feedback ou instruções

Exemplo:

yellow-thing: "Sponge"

Nesse exemplo, a chave é yellow-thing, o valor é Sponge, e o separador chave-valor é :.

Trabalhando com HOCON

O HOCON é mais flexível que o formato JSON (JavaScript Object Notation) por existirem várias formas de escrever um HOCON válido. Abaixo há dois exemplos de um HOCON válido.

Exemplo #1:

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

Exemplo #2:

player {
    name = "Steve"
    level = 30
}

Na prática, é melhor seguir as convenções de formatação da configuração HOCON que você está editando. Ao editar uma configuração HOCON para o Sponge ou um plugin utilizando a Sponge API, é mais provável que os valores sejam a única coisa que você vai alterar a não ser que tenha sido especificado de outra forma.

Depurando sua configuração

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

  • As chaves (pontuação) devem estar balanceadas

  • O número de aspas devem estar equilibradas

  • Quando há chaves duplicadas, a que aparece depois tem prioridade

Especificação

Mais informação sobre o formato HOCON pode ser encontrado aqui.