Os tipos de danos são arquivos JSON localizados em pacotes de dados que definem os diferentes tipos de dano que as entidades podem receber. Eles também controlam quais atributos o dano possui assim como a mensagem de morte que é usada quando uma entidade morre devido àquele tipo de dano.
Além disso, as marcações de tipo de dano padrões controlam muitos aspectos de como o dano é aplicado no jogo.
Tipos de dano personalizados atualmente só podem ser aplicados com o comando /damage
.
Formato do arquivo[]
Os tipos de dano são armazenados como arquivos JSON dentro de um pacote de dados, no caminho de arquivo data/<namespace>/damage_type/<nome>.json
.
- O objeto-raiz.
- message_id: Usado como parte da chave de tradução da mensagem de morte se death_message_type estiver definido como
default
, como mostrado abaixo. - exhaustion: A quantidade de exaustão de fome causada por este tipo de dano.
- scaling: Se este tipo de dano varia conforme a dificuldade.
Valores possíveis:never
,always
ouwhen_caused_by_living_non_player
. Veja abaixo para mais detalhes. - effects: Um campo opcional que define como o dano recebido é exibido para o jogador.
Valores possíveis:hurt
(padrão),thorns
,drowning
,burning
,poking
,freezing
. Veja abaixo para mais detalhes. - death_message_type: Um campo opcional que define o tipo de mensagem de morte a ser usado.
Valores possíveis:default
(padrão),fall_variants
,intentional_game_design
. Veja abaixo para mais detalhes.
- message_id: Usado como parte da chave de tradução da mensagem de morte se death_message_type estiver definido como
Por exemplo, aqui está o arquivo JSON do minecraft:arrow
padrão:
{
"exhaustion": 0.1,
"message_id": "arrow",
"scaling": "when_caused_by_living_non_player"
}
Variação[]
Os tipos de dano definem se o dano varia conforme a dificuldade.[mais informações necessárias]
Os valores possíveis para scaling são:
never
: O dano é sempre o mesmo.always
: O dano sempre varia conforme a dificuldade.when_caused_by_living_non_player
: O dano varia conforme a dificuldade se o atacante[nota 1] for uma entidade viva[nota 2] e não for um jogador.
Efeitos[]
Os tipos de dano definem como o dano recebido é exibido para o jogador.
Os valores possíveis para effects são:
hurt
(padrão): O som de dano padrão.thorns
: O som de dano por Espinhos.drowning
: O som de afogamento.burning
: Um único tique do som de queima.poking
: O som de espeto de um arbusto de bagas.freezing
: O som de congelamento por tick.
Mensagens de morte[]
Os tipos de dano definem a mensagem de morte exibida quando jogadores ou animais de estimação morrem.
Os valores possíveis para death_message_type são:
default
(padrão): Usa a lógica de mensagem de morte padrão.fall_variants
: Usa as mensagens de morte de dano de queda, por exemplodeath.fell.assist.item
.intentional_game_design
: Mostra a mensagem de morte por "a programação intencional do jogo".
Tipo de mensagem padrão[]
Quando a lógica de mensagem de morte padrão está sendo usada, as mensagens são geradas da seguinte forma, usando a marcação message_id:
- Se o golpe fatal foi causado por um atacante[nota 1] e o atacante estava segurando um item nomeado em sua mão principal no momento da morte, isso é categorizado como uma morte por item. Uma mensagem traduzida é exibida usando a chave de tradução
death.attack.<message_id>.item
com as seguitnes inclusões disponíveis:- O nome da entidade morta.
- O nome do atacante.
- O nome do item.
- Se o golpe fatal não foi causado por um atacante[nota 1], mas a entidade morta sofreu algum dano recentemente [mais informações necessárias] que foi causado por uma entidade viva[nota 2], isso é categorizado como uma morte com assistência. Uma mensagem traduzida é exibida usando a chave de tradução
death.attack.<message_id>.player
com as seguintes inclusões disponíveis:- O nome da entidade morta.
- O nome do recente atacante.
- Se nenhuma das condições acimas se aplicar, isso é categorizado como uma morte normal. Uma mensagem traduzida é exibida usando a chave de tradução
death.attack.<message_id>
com as seguintes inclusões disponíveis:- O nome da entidade morta.
- O nome do atacante[nota 1], se houve um.
Design[]
Devido à forma como as mensagens de morte padrões são organizadas, a maioria dos tipos de dano padrões são dividos nos que sempre terão um atacante [nota 1] e nos que nunca terão um atacante. Dependendo se houve um atacante, a tradução de mortes normais (death.attack.<message_id>
) haverá uma ou duas inclusões disponíveis. As traduções não têm nenhuma maneira segura de acessar uma inclusão que pode ou não estar lá, portanto as principais opções são:
O tipo de morte é planejado para ter sempre um atacante.
- A tradução é parecida com:
"death.attack.mob": "%s matou %s", "death.attack.mob.item": "%s matou %s com %s",
- A chave de tradução
death.attack.<message_id>.player
não é fornecida, já que mortes com assistência são impossíveis nesses casos.
O tipo de morte é planejado para nunca ter um atacante.
- A tradução é parecida com:
"death.attack.drown": "%s afogou-se", "death.attack.drown.player": "%s afogou-se enquanto tentava fugir de %s",
- A chave de tradução
death.attack.<message_id>.item
não é fornecida, já que mortes por itens são impossíveis nesses casos.
O tipo de morte pode ou não pode ter um atacante.
- A tradução é parecida com:
"death.attack.electricity": "%s eletrecutou-se", "death.attack.electricity.item": "%s eletrecutou %s com %s", "death.attack.electricity.player": "%s eletrecutou-se enquanto tentava fugir de %s",
- A chave de tradução
death.attack.<message_id>
evita usar a segunda inclusão, já que ela pode ou não pode estar presente. - A tradução é um pouco estranha, já que a mensagem de morte ao ser morto por um jogador apenas o mencionará se ele estiver segurando uma arma renomeada.
Para evitar a estranheza da terceira opção você pode ter dois diferentes tipos de dano, um para usar com um atacante, e outro para usar sem um atacante:
"death.attack.active_electricity": "%s eletrecutou %s",
"death.attack.active_electricity.item": "%s eletrecutou %s com %s",
"death.attack.passive_electricity": "%s eletrecutou-se",
"death.attack.passive_electricity.player": "%s eletrecutou-se enquanto tentava fugir de %s",
Histórico[]
Edição Java | |||||
---|---|---|---|---|---|
1.19.4 | 23w06a | Os tipos de dano foram adicionados aos pacotes de dados. |
Notas[]
- ↑ a b c d e A entidade que foi responsável pelo dano. Também conhecida como "entidade-origem". Por exemplo, se um jogador foi atingido por um esqueleto, o esqueleto é o atacante. Se o jogador foi atingido por um ejetor, a própria flecha é o atacante. Se o jogador é espetado por um cacto, não há atacante.
- ↑ a b Isso também inclui suportes de armaduras.
Componentes |
| ||
---|---|---|---|
Pacotes de dados | |||
Tutoriais |
|