Texturas e modelos ausentes

De Minecraft Wiki
Ir para navegação Ir para pesquisar

O Minecraft faz o uso de texturas ausentes e modelos ausentes, com a finalidade de lidar com potenciais erros presentes em recursos do jogo, assim como mais comumente visto, em pacotes de recursos.

Textura ausente

[editar | editar código-fonte]

Uma textura ausente é uma textura dinâmica temporária usada pelo Minecraft, para lidar com casos em que uma textura adequada não pôde ser localizada. Indo um pouco mais além de seu uso em modelos ausentes, essa textura temporária quase sempre será vista devido a uma referência não correspondente para uma textura, a qual em muitos casos sequer pode existir conforme o respectivo nome identificando-a.

A aparência dessa textura usa um padrão composto por um estilo xadrez de 2 cores, sendo uma cor preta
 #000000
e magenta
 #f800f8
, presente tanto na Edição Java quanto na Edição Bedrock, objetivamente idealizada para que permaneça fora de vista o maior tempo possível na maioria dos casos. O uso de cores brilhantes como indicativo de uma textura ausente já é um padrão estabelecido industrialmente. A combinação da cor preta e magenta é tipicamente empregada por jogos desenvolvidos a partir do motor de jogo Source da Valve, apesar de que o Minecraft não utiliza tal motor de jogo.

Mesmo que seja internamente referenciada com a alcunha de missingno, não haverá qualquer arquivo correspondente para a textura ausente na Edição Java, o que não poderá ser alterado a menos que sob certas mecânicas pretendidas. Será possível sobrescrever as cópias dessa textura, as quais aparecem em um atlas de texturas juntamente a outra textura, ao usar arquivos atlas JSON, ainda que certamente isso não seja uma alteração planejada a ocorrer.

A partir da snapshot 25w17a, haverão até 5​[em breve: EJ 1.21.9] formas primárias as quais uma textura ausente poderá aparecer, sem que ao menos necessite do uso de qualquer pacote de recursos, as quais todas precisam de comandos para sua execução. Passe o mouse acima de qualquer texto contendo o termo "ids" para uma lista de IDs espaçados por nomes, os quais retornam a tal textura ausente quando utilizada em um dado comando de exemplo.

Ocorrência Comando de exemplo Relato de bug
Criar partículas minecraft:block_marker
tanto em locais como ar, ar de caverna ou ar do vazio
/particle minecraft:block_marker{block_state:{Name:""}} MC-239407
MC-270529
MC-278165
Cria partículas do tipo minecraft:item
para algo que utiliza o modelo de ar
Veja aqui MC-278165
Dar um item com um componente inválido segundo o argumento tooltip_style /give @s ice[minecraft:tooltip_style=""] MC-276673
Dar um item com um subcomponente inválido segundo o argumento camera_overlay /give @s ice[equippable={slot:"head",camera_overlay:""}] MC-277439
Visualizar uma entidade contendo um ponto de referência inválido /summon minecraft:armor_stand ~ ~ ~ {attributes:[{id:waypoint_transmit_range,base:200}]}
e então /waypoint modify @n[type=minecraft:armor_stand] style set nonexistent
MC-298671

Histórico da textura ausente

[editar | editar código-fonte]
Edição Java Beta
1.4 A textura ausente foi implementada. Essa textura terá diferenças dependendo de qual sistema utiliza (veja a subseção abaixo).
Edição Java
1.1513w02a A textura ausente foi alterada, com a finalidade de obter um texto mais legível.
1.6.113w18a A textura ausente gerada foi substituída por um padrão xadrez, composto pelas cores preta e magenta.
1.7.213w38a Quando a filtragem anisotrópica estiver ativa, a textura ausente então contém um padrão xadrez composto por um ladrilho de 4x4, ao invés do tradicional composto de 2x2. Isso se dá devido à opção de estender cada textura em até 8 pixels para cada direção, usando os pixels do lado oposto de tal textura, o que resultará numa aparência de ladrilho 4x4 para a textura ausente.
1.814w25aA opção de filtragem anisotrópica foi removida, indicando que o padrão de 2x2 será a única opção disponível para a textura ausente.
1.1317w43a A textura ausente foi alterada, tendo seu padrão xadrez invertido.
Edição Pocket Alpha
v0.16.0build 5 A textura ausente foi adicionada.
Antes dessa versão, elementos gráficos que não puderam ser carregados usavam uma textura inteiramente preta como textura ausente.
Diferenças entre plataformas - b1.4 até 13w17a

A textura ausente usada nessas versões seria gerada de forma diferente, dependendo do sistema operacional e a versão Java.

Textura Sistema operacional Versão Java Notas
b1.4 - 13w01b 13w02a - 13w17a
Windows XP
  • 6.0.370.6
Aparece por padrão em todas as versões do Windows -
Sem suavização.
Windows 7
  • 7
    • Update 11
    • Update 13
    • r15
    • Update 17
Windows 10
  • 1.8.0_51
Solaris 10
  • 1.6.0_37
Windows 10
  • 11.0.10
  • 16.0.2
Diferenças mínimas entre as letras X e U - Sem suavização.
macOS 10.3.9
  • 4
Padrão para sistemas operacionais que não usam o Retina - Sem suavização.
macOS 10.5.8
  • 1.5.0_30
macOS 10.6.8
  • 6
macOS 10.14.6
  • Apple legacy Java runtime 1.6.0_65-b14-468
macOS 10.14.6
  • Apple legacy Java runtime 1.6.0_65-b14-468
Padrão para o sistema Retina - Suavização monocromática.
macOS 10.14.6
  • Apple legacy Java runtime 1.6.0_65-b14-468
Suavização policromática.
MacOS 10.3.9
  • 4
É quase igual à versão anteriormente citada, contendo detalhes quase imperceptíveis em seus pixels - Suavização monocromática.
macOS 10.5.8 Desconhecida
Leopard (Versão especifica é Desconhecida) Desconhecida
macOS 10.4.11
  • 1.5.0_19
Suavização policromática.
macOS 10.6.8
  • 1.6.0_65 (UseQuartz configurado para true)
Suavização policromática.
Versão macOS não especificada Desconhecida
macOS 10.14.6
  • 1.7.0 80-b15
  • 1.8.0_51
Sem suavização.
macOS 10.14.6
  • 1.8.0_301, GraalVM EE 21.2.0
  • 11.0.12, GraalVM EE 21.2.0
  • 16.0.2, GraalVM EE 21.2.0
Suavização monocromática.
macOS 12.3.0
  • 1.8.0_74 (64-bit)
Parece estar suavizado monocromaticamente entre todos os pixels que não são brancos, subsequentemente configurados para a cor preta.
Debian
  • 1.8.0_351
Sem suavização.
Kubuntu 24.04
  • 1.8.0_202 por meio do Launcher Prism
Debian
  • Zulu OpenJDK 1.8.0_352
Sem suavização.
Debian under WSL2
  • 11.0.11
Ubuntu
  • 16.0.1
Kubuntu 24.04
  • 1.8.0_422 64bit
FreeBSD
  • 16.0.2
OpenBSD
  • 16.0.2
Solaris 11
  • 1.8.0_311
Arch
  • Temurin-17.0.3+7
Sem suavização.
Ubuntu 23.10
  • Padrão Java (do Launcher)
Kubuntu 24.04
  • 1.8.0_202 pelo Launcher da Mojang
Sem suavização.
Arch 6.1.1
  • 1.8.0_352 (64-bit)
Sem suavização.

Histórico geral

[editar | editar código-fonte]
Edição Java Beta
1.4O jogo agora gera texturas ausentes para recursos em falta.
Antes dessa versão, o jogo certamente resultaria em um crash caso alguma textura não pudesse ser carregada.
A textura não existe nos arquivos do jogo como uma imagem, e deve ser somente induzida a aparecer por meio de modificações (como simplesmente deletar arquivos de texturas existentes do .jar), ou ainda em erros maiores que não puderem ser reproduzidos de forma confiável.
1.8Pre-releaseA textura ausente agora é usada quando um pacote de texturas prover uma imagem com dimensões inválidas.
Edição Java
1.513w02aA textura ausente agora é adicionada aos atlas de texturas gerados proceduralmente referentes aos blocos e itens (stitched_terrain.png e stitched_items.png)
13w09aA textura ausente agora é usada caso uma textura animada for provida, porém nenhum arquivo de texto para acompanhá-la existe. Anteriormente, arquivos de texturas animadas seriam aceitos mesmo sem a presença de um arquivo de texto.
1.6.113w24bA textura ausente agora é usada caso o jogo tente carregar um arquivo de textura inválido. Anteriormente, o jogo iria recusar diretamente pacotes de textura ou pacotes de recursos contendo arquivos PNG inválidos.
1.814w25aA partir da junção dos atlases blocks-atlas e items-atlas em apenas textures-atlas, tanto blocos quanto itens agora referenciam para a mesma textura ausente.
1.1419w06aÉ adicionado o atlas particles.png-atlas, realizando assim a obsolescência do arquivo particles.png, contendo uma textura ausente para partículas.
19w07aÉ adicionado o atlas paintings.png-atlas, realizando assim a obsolescência do arquivo paintings_kristoffer_zetterstrand.png, contendo uma textura ausente para pinturas.
Texturas que não forem animadas ou em forma de quadrado agora são suportadas, não sendo mais retornadas como texturas ausentes, devido à interpretação como animações inválidas. Essa alteração se deve provavelmente pelo fato de algumas pinturas não serem quadrados perfeitos.
19w08aÉ adicionado o atlas mob_effects.png-atlas, realizando a remoção de efeitos de ícones do arquivo inventory.png, contendo uma textura ausente para efeitos.
1.15Pre-release 1O atlas de texturas é separado em mais 7 outros atlas à parte, com cada um contendo sua própria cópia da textura ausente, ao invés de todos referenciarem para a mesma textura ausente em comum:
  • Baús agora em: chest.png-atlas
  • Blocos, itens e algumas entidades agora em: blocks.png-atlas
  • Caixas de shulker agora em: shulker_boxes.png-atlas
  • Camas agora em: beds.ong-atlas
  • Padrões de estandarte para estandartes agora em: banner_patterns.png-atlas
  • Padrões de estandarte para escudos agora em: shield_patterns.png-atlas
  • Placas agora em: signs.png-atlas
1.19.322w42aUm erro não é mais produzido no registro de saída caso um modelo seja carregado, e o mesmo não resolva uma referência à textura.
22w46aO atlas hanging_signs.png-atlas é mesclado para somente signs.png-atlas; todos os tipos de placas agora referenciam a mesma textura ausente.
1.19.423w04aÉ adicionado o atlas armor_trims.png-atlas, contendo uma textura ausente para o molde de armadura.
23w07aÉ adicionado o atlas decorated_pot.png-atlas, contendo uma textura ausente para o pote decorado.
Pre-release 3A combinação F3 + S agora envia todas as texturas dinâmicas para a pasta de capturas de tela. Isso inclui a textura ausente (nomeada como minecraft_missingno.png), além de todo atlas de texturas conter ao menos uma cópia dessa textura ausente.
1.20.223w31aÉ adicionado o atlas gui.png-atlas, realizando assim a obsolescência e divisão de diversos arquivos, contendo uma textura ausente para o sprite da interface de usuário.
1.20.524w12aÉ adicionado o atlas map_decorations.png-atlas, realizando assim a obsolescência do arquivo map_icons.png, contendo uma textura ausente para o ícone de mapa.
1.21.224w33aNuvens não utilizam mais a textura ausente caso sua textura não possa ser carregada; a textura simplesmente não será renderizada, e uma mensagem de erro dedicada é produzida no registro de saída.
1.21.424w45aUm mensagem erro é novamente produzida no registro de saída caso um modelo não resolva uma referência à textura.
Uma mensagem de erro é produzida caso um modelo falhe em definir uma textura de partícula para um bloco.
1.21.625w19aÉ removido o atlas mob_effects.png-atlas; efeitos gráficos de criaturas ausentes ou quebrados agora referenciam diretamente para a textura ausente presente no atlas gui.png-atlas.
1.21.1125w41aÉ adicionado o atlas celestials.png-atlas, realizando assim a obsolescência do arquivo moon_phases.png, contendo uma textura ausente para o objeto celestial.
Edição Pocket Alpha
v0.16.0build 5Presume-se que seja a versão que adicionou a textura ausente. Essa é predefinida como um arquivo existente em si, ao invés de ser gerada pelo jogo.
A textura ausente é armazenada como um arquivo .png na pasta de texturas diversas, e pode ser substituída por meio de pacotes de recursos contendo outras texturas.
Edição Bedrock
1.8.0beta 1.8.0.8Não é mais possível alterar a textura ausente utilizando um pacote de recursos.

Modelo ausente

[editar | editar código-fonte]

Em um estilo análogo ao uso da textura ausente para momentos onde uma textura não é definida, o modelo ausente será usado em ocasiões quando nenhum modelo é definido, ou o modelo é inválido.

Por padrão, o modelo ausente será um cubo com textura 16x16, o qual usa a textura ausente em todas as suas 6 faces. Essas faces estão posicionadas de forma onde se torna possível sua visualização. Apenas 2 faces terão a mesma cor a cada vértice, ao invés do que seria esperado para os outros 3 vértices restantes. A Mojang decidiu não consertar isso até o momento.

O modelo ausente obviamente é suposto a nunca aparecer durante uma jogatina padrão do Minecraft, e deste modo, utiliza a textura ausente com o objetivo de se destacar do ambiente do jogo, assim facilitando a localização de erros a serem corrigidos caso existam.

Ao contrário do que é popularmente dito, nenhum "bloco de textura ausente principal" alguma vez existiu no jogo; todas as situações onde tal bloco tenha sido usado, foram atribuídas unicamente ao fato de não haver qualquer textura ou modelo referenciados corretamente.

A partir da snapshot 24w36a, há apenas uma única forma oficial pela qual um modelo ausente aparece sem o uso de pacotes de recursos, esta sendo por meio de comandos.

Ocorrência Comando de exemplo Relato de bug
Dar um item com um componente item_model inválido /give @s ice[minecraft:item_model=""] MC-276671

Histórico do bloco ausente

[editar | editar código-fonte]
Edição Java
1.814w06b Modelo ausente é adicionado.
Vale notar que, apesar de ser uma textura esteticamente mostrada como um padrão xadrez de 8x8x8, esta mapeia toda a área de uma textura padrão 16x16 em cada uma de suas faces, ao contrário de sua seção 8x8 visível. Isso resulta em nenhuma peculiaridade para a textura ausente com padrão 2x2, devido às suas 4 regiões distintas em cada vértice.
14w10a O modelo ausente é alterado para o formato de um cubo inteiro.
14w25aA opção de filtro anisotrópico é removida, significando que o padrão xadrez de 2x2 é mais uma vez a única textura ausente, com o modelo ausente utilizando essa mesma também sendo o único presente no jogo respectivamente.
1.1317w43a A textura ausente alterada resulta na aparência do modelo ausente também recebendo alterações.
Interface gráfica de usuário
Edição Java
1.814w25a O modelo ausente agora é também aplicável a itens. Sua visualização "na interface" aparece de forma equivalente aos outros cubos do jogo.
1.915w31a No inventário, o modelo ausente agora aparece como uma textura ausente em 2D; isso se deve ao seu ângulo de visão estar alinhado de acordo com uma face apenas, ao contrário de uma angulação isométrica, devido a alterações em como itens e modelos podem ser renderizados, e como resultado disso, apenas 1 única face será visível.
1.1317w43a A textura ausente sofre mudanças em sua visualização, e agora seu padrão xadrez está invertido.
1.1519w39a Mudanças mais notáveis para a renderização nessa versão tornaram com que o modelo ausente aparente ter sua cor de textura levemente mais escura por padrão.
19w40a Itens no inventário agora estão menos sombreados que anteriormente. Como resultado, o modelo ausente agora aparece com sua cor de textura mais clara.
Pre-release 3 O sombreamento mais intenso retorna aos itens. O modelo ausente agora tem sua cor de textura ainda mais escura se comparada com a snapshot 19w40a.
Pre-release 4 O sombreamento de itens é alterado novamente, resultando com que o modelo ausente apareça com sua textura ainda mais escura que a pre-release anterior.
1.1721w10a O sombreamento do modelo ausente retorna para o mesmo nível encontrado ainda durante a 1.15 Pre-release 3.
Chão
Edição Java
1.814w25a O modelo ausente agora é aplicado a itens. Sua visualização "no chão" aparece de forma equivalente aos outros cubos do jogo.
1.915w31a O modelo ausente agora aparece do tamanho de um bloco inteiro quando está largado no chão como um item.
1.1317w43a Mudanças feitas na textura ausente modificaram a aparência do modelo ausente.
1.21.525w07aO modelo ausente não ultrapassa o chão quando está como um item largado.
Fixo
Edição Java
1.814w25a O modelo ausente agora é aplicado a itens. Sua visualização do tipo "fixo" aparece ao equivalente aos outros cubos do jogo, contendo um comprimento de borda de 4 pixels.
14w31a A iluminação para o modelo "fixo" é alterada.
1.915w31a O modelo ausente agora aparece um pouco mais largo que anteriormente quando este está numa moldura, contendo o comprimento de borda agora em 8 pixels.
1.1317w43a As alterações realizadas na textura ausente agora influenciam a aparência do modelo ausente.
Na estante
Edição Java
1.21.925w33a A visualização do tipo "na estante" é adicionada. Ao usá-la, o modelo ausente aparece com tamanho equivalente aos outros cubos do jogo, contendo um comprimento de borda de 4 pixels.
Segurando em primeira-pessoa
Edição Java
1.814w25a O modelo ausente agora é aplicado em itens. Sua visualização "na mão direita em primeira-pessoa" mostra o modelo ausente com tamanho equivalente aos cubos do jogo.
1.915w31a O modelo ausente agora aparece do mesmo tamanho que um bloco normal quando segurado em primeira-pessoa.
Objetos agora podem ser segurados pela mão esquerda do jogador.
1.1317w43a As alterações realizadas na textura ausente agora influenciam a aparência do modelo ausente.
Segurando em terceira-pessoa/Em outras entidades
Edição Java
1.814w25a O modelo ausente agora é aplicado a itens. Sua visualização "em terceira-pessoa na mão direita" mostra o modelo com tamanho equivalente aos cubos do jogo.
Itens translúcidos contendo um modelo ausente exibem um bug visual particularmente curioso em relação às outras entidades (incluindo quem está o segurando) e outros objetos translúcidos.
14w29a O modelo "em terceira-pessoa na mão direita" é alterado.
14w30a Para a maior parte dos itens, o modelo ausente agora é do tamanho de um bloco inteiro quando segurado em terceira-pessoa, ou por uma criatura ou outro jogador. Baús, baús com armadilha e baús de ender com valores de dados inválidos ainda aparentam usar seu tamanho padrão.
1.915w31a A posição de segurar para o modelo ausente agora está mais abaixo, cobrindo menos do ombro do jogador.
Objetos agora podem ser segurados pela mão esquerda do jogador.
1.1317w43a As alterações realizadas na textura ausente agora influenciam a aparência do modelo ausente.
1.1519w39aÉ consertado o bug de renderização, o qual causava itens translúcidos contendo modelos quebrados a serem renderizados de forma esquisita em volta de entidades e outros objetos translúcidos, como parte do conserto referente ao bug MC-9553.
Na cabeça
Edição Java
1.814w25a O modelo ausente agora é aplicado a itens. Sua visualização "na cabeça" mostra o modelo com tamanho equivalente aos cubos do jogo.
Itens translúcidos contendo um modelo ausente exibem um bug visual particularmente curioso em relação às outras entidades (incluindo quem está o segurando) e outros objetos translúcidos.
14w26a O modelo ausente aparece com um tamanho reduzido quando equipado em um espaço de capacete, presumindo que isso seja devido ao conserto relacionado ao bug MC-57188.
1.1317w43a As alterações realizadas na textura ausente agora influenciam a aparência do modelo ausente.
1.1519w39a É consertado o bug de renderização, o qual causava itens translúcidos contendo modelos quebrados a serem renderizados de forma esquisita em volta de entidades e outros objetos translúcidos, como parte do conserto referente ao bug MC-9553.

Histórico geral

[editar | editar código-fonte]
Edição Java
1.814w06bO modelo ausente é adicionado como um arquivo de modelo, com seu caminho de localização sendo: models/block/missingno.json.
Antes dessa versão, o jogo teria a ocorrência de um crash com um NullPointerException caso houvesse a tentativa de renderizar um bloco com nenhum modelo definido.
14w07aArquivos de modelos inválidos agora causam com que o modelo ausente seja carregado em seu lugar. Anteriormente, nenhum modelo seria carregado para preencher essa lacuna, com o bloco em questão aparecendo como um item completamente vazio.
14w18aO modelo ausente agora é totalmente codificado, e não mais modificável por meio de pacotes de recursos, com o objetivo de evitar um possível crash caso o modelo seja substituído por algum item inválido.
Como resultado, o modelo ausente agora está também isento do arquivo .jar de agora em diante.
14w25aA animação de quebrar o bloco agora é aplicada de maneira apropriada ao modelo. Anteriormente, blocos que pareciam se "auto-iluminarem" quando quebrados (de forma similar às partes superiores e inferiores de camas antes da snapshot 14w10a) sem mostrar a animação de quebra corretamente.
O modelo ausente agora usa a textura ausente para suas partículas. Texturas de partículas anteriormente eram codificadas por um ID de bloco, tornando-as imutáveis como consequência.
1.21.224w33aO modelo ausente agora é afetado por cores em biomas, itens tingidos e entre outros dessa natureza.
24w40aO material ausente, utilizado pelo modelo ausente para partículas, agora é definido dentro do modelo de bloco .java, ao invés do modelo ausente .java.

Caractere de fonte ausente

[editar | editar código-fonte]

Seguindo o mesmo conceito visto em texturas ausentes e modelos ausentes, o Minecraft também utiliza de um elemento gráfico para renderizar caracteres Unicode quando nenhuma textura válida pôde ser localizada. Este caractere é apresentado como um retângulo oco, referido algumas vezes pela alcunha de "tofu".

De forma geral em fontes, o caractere .notdef é usado para esse propósito, com este sendo definido para cada fonte em específico. Entretanto, o caractere de fonte ausente do Minecraft é codificado para que não possa ser configurado por pacotes de recursos.

O caractere de fonte ausente é normalmente visto quando há a tentativa de renderizar um caractere pelo qual nenhuma fonte tenha definido um glifo; isso afeta com maior frequência caracteres marcados como de "Área de Uso Privada", por exemplo o caractere , assim como códigos de pontos não-assinalados ou recém-assinalados que não estejam sob uso pela GNU Unifont.

Esse erro também pode ser visualizado em outra situação quando o jogo tenta renderizar um caractere com textura inválida, assim como aqueles que suas dimensões excedem 256 pixels em um ou ambos os eixos. Neste caso, a largura horizontal do caractere ainda será usada, o que causa espaços vazios consideravelmente grandes no texto ou glifo ausente durante a intersecção para o próximo caractere, sendo um bug o qual a Mojang decidiu não consertar até o momento. Não há qualquer mensagem de erro referente a isso produzida no registro de saída.

Histórico do caractere

[editar | editar código-fonte]
Edição Java
1.13pre7 É adicionado o caractere de fonte ausente.
Antes dessa versão, caracteres que não contivessem glifos definidos simplesmente seriam renderizados vazios com uma largura mínima.
pre9 O centro do caractere de fonte ausente agora tem uma cor preta sólida.
1.13.118w30a O centro do caractere de fonte ausente agora é novamente transparente.

Histórico geral

[editar | editar código-fonte]
Edição Java
1.13pre6Caracteres sem uma textura definida agora produzem uma mensagem de erro no registro de saída do jogo.
pre7A mensagem de erro agora inclui o ID do caractere em questão.
pre8Mensagens de erro não são mais produzidas para caracteres sem textura definida.
1.13.118w30aO glifo ausente agora é usado para caracteres de fonte inválidos, os quais suas dimensões são largas demais; antes esses seriam retomados de volta para sua fonte padrão.
1.1620w17aO formato de texto JSON bruto agora suporta ser aplicável para qualquer fonte em texto, permitindo com que o caractere de fonte ausente seja visto mais frequentemente com mais caracteres acessíveis, ou qualquer caractere caso nenhuma fonte tenha sido especificada.
1.21.2Pre-Release 2Caracteres sem uma textura definida agora produzem uma mensagem de erro no registro de saída do jogo novamente.
1.21.925w31aMensagens de erro novamente não são mais produzidas para caracteres sem uma textura definida.

Outros recursos ausentes

[editar | editar código-fonte]

Sons mal-configurados ou ausentes não serão tocados em qualquer circunstância. Mensagens de erro ainda serão produzidas no registro de saída do jogo ao tentar tocar algum evento de som que não contenha um áudio assinalado por exemplo.

Pós-shaders ausentes (ao menos durante o desenvolvimento da 1.13) parecem não ser carregados, resultando numa visualização normal do cenário do Minecraftao jogador, sem que demonstre as modificações esperadas pelo shader.

Strings de tradução que não forem especificadas em qualquer arquivo de linguagem serão mostradas do modo como estão.

Texto "missingno"

[editar | editar código-fonte]

A alcunha "missingno" foi usada em versões anteriores em casos onde algum texto não pôde ser carregado, especificamente em textos splash da Alpha v1.0.12 até a snapshot 19w12b, para itens contendo a marcação NBT CanDestroy da snapshot 14w02a até 24w07a, e para itens com a marcação NBT CanPlaceOn da snapshot 14w06a até 24w07a. Em todos esses casos, essa alcunha foi removida desde as snapshots 19w13a e 24w09a respectivamente, com o nome "missingno" não sendo mais usado no jogo em qualquer situação conhecida, apesar de ser referido em alguns recursos de texturas e modelos ausentes.

Bugs notáveis

[editar | editar código-fonte]

Exemplos de casos onde o modelo ausente não é usado

[editar | editar código-fonte]

Por padrão, qualquer bloco do jogo que não faz uso de um modelo, por consequência não usará qualquer modelo ausente. Caso um modelo ainda não tenha sido definido para tal bloco, mesmo assim isso ainda pode ser visto se refletindo nas partículas deste.

Bloco Motivo
BlockSprite air.png: Imagem de sprite de "air" no Minecraft Ar
BlockSprite air.png: Imagem de sprite de "air" no Minecraft Ar da caverna
BlockSprite air.png: Imagem de sprite de "air" no Minecraft Ar do vazio
BlockSprite barrier.png: Imagem de sprite de "barrier" no Minecraft Barreira
BlockSprite light.png: Imagem de sprite de "light" no Minecraft Luz
BlockSprite structure-void.png: Imagem de sprite de "structure-void" no Minecraft Vazio estrutural
O bloco é codificado para que seja invisível. Apesar deste ser composto por um modelo físico com dados vazios, defini-lo como um modelo não realizará qualquer alteração plausível.
BlockSprite moving-piston.png: Imagem de sprite de "moving-piston" no Minecraft Pistão em movimento Esse bloco é altamente técnico, sendo apenas usado em circunstâncias específicas, contendo seu próprio método de renderização.
BlockSprite end-gateway.png: Imagem de sprite de "end-gateway" no Minecraft Passagem do End

BlockSprite end-gateway.png: Imagem de sprite de "end-gateway" no Minecraft Portal do End

Estes blocos utilizam um efeito "estrelado" o qual é incompatível com a funcionalidade de modelos. Ao contrário de outras entidades de blocos, um modelo especificado com esse ID não será renderizado.
BlockSprite bubble-column.png: Imagem de sprite de "bubble-column" no Minecraft Coluna de bolhasBlockSprite lava.png: Imagem de sprite de "lava" no Minecraft Lava
BlockSprite water.png: Imagem de sprite de "water" no Minecraft Água
A renderização de fluidos é codificada a agir de maneira diferente, resultando em seu funcionamento ser consideravelmente destoante de outros blocos do jogo.

A vasta maioria de entidades de modelos serão completamente codificadas. Há duas exceções notáveis em relação aos blocos de moldura e moldura brilhante, que de fato têm modelos customizáveis. Apesar disso, tanto a moldura quanto a moldura brilhante serão as únicas 2 entidades capazes de usar o modelo ausente; o restante das outras entidades podem acabar perdendo suas texturas, porém ainda permanecem com o mesmo formato de modelo.

Entidades que existem apenas para estender comportamentos de blocos, tais como as que realizam a a queda de uma areia e a queda de uma dinamite acesa, referenciam a modelos de blocos, e em alguma circunstância farão uso de um modelo ausente caso necessário. Em adição a isso, outras entidades que incorporam modelos de blocos, como cogumelos, endermans segurando blocos, e carrinhos de mina contendo blocos, igualmente todos esses farão uso de um modelo ausente para a parte que referencia a tal modelo de bloco, porém a entidade por si só se manterá completamente intacta.

Cavalos são um exemplo especialmente interessante de uma entidade, os quais serão debatidos um pouco à frente desse artigo. Em torno de várias versões do jogo, alguns cavalos contendo texturas inválidas podem aparecer completamente invisíveis, ou ainda serem compostos por uma única textura inteiramente branca, com nenhum destes contendo um modelo ausente.

Ordenamento translúcido

[editar | editar código-fonte]

Das snapshots 14w25a até a 19w38b, costumava existir um bug visual onde modelos ausentes associados com blocos que faziam uso de uma renderização translúcida (como os blocos de gelo, vidro tingido, painel de vidro tingido e slime), teriam uma interação anômala com a renderização de blocos transparentes no mundo do jogo, assim como também entidades, incluindo quem estivesse segurando o bloco. Diferente de modelos ausentes comuns, blocos translúcidos e outras entidades seriam renderizadas em frente ao modelo quando seguradas, mesmo que estivessem consideravelmente distantes do campo de visão. De toda forma, isso apenas se aplicava caso a entidade mais distante ou bloco transparente em questão não fosse obstruída primeiramente pelo modelo do jogador. Como resultado, o bloco translúcido sendo segurado poderia formar uma silhueta no formato do jogador ao redor deste, estando em frente de um plano de fundo feito de outras entidades (como pinturas por exemplo) ou outros blocos translúcidos.

Esse efeito pode ser visualizado sem o uso de pacotes de recursos até a chegada da snapshot 17w46a simplesmente ao segurar blocos de gelo, vidro tingido, painel de vidro tingido ou blocos de slime contendo valores de dados inválidos. Entre as snapshots 17w47a até a 19w38b, um pacote de recursos é necessário para quebrar o modelo de um item translúcido existente, e a partir da snapshot 19w39a, esse bug não se encontra mais presente no jogo.

Isso aparenta afetar apenas itens que podem estar equipados tanto na cabeça da entidade ou em sua mão (no caso do jogador, somente na visão em terceira-pessoa). Isso não afetaria itens segurados ao visualizá-los em primeira-pessoa, ou ainda largados no chão ou colocados em uma moldura.

Esse efeito também costumava acontecer em partículas e outros objetos do jogo a partir da snapshot 13w41a em diante.

Descarregando recursos padrão

[editar | editar código-fonte]

Caso um pacote de recursos quebrado o suficiente seja carregado, o jogo irá localizar tal pacote de recurso e descarregá-lo automaticamente, caso quaisquer erros sejam detectados. Da snapshot 17w43a até o lançamento oficial da Edição Java 1.13, isso também incluiria recursos padrão, o que significa que um pacote de recursos problemático resultaria em todos os recursos do jogo sendo descarregados igualmente, e como resultado, recursos ausentes seriam visíveis em todo o cenário de seu mundo.

A partir da snapshot 18w30a em diante, o jogo irá somente descarregar todos os pacotes de recursos, com exceção de recursos padrão em situações como essa.

Já que atlas de texturas por padrão têm a resolução de 16x16 (seu tamanho mínimo possível), o efeito de brilho de encantamento aparenta ser muito diferente do que era aguardado.

Texturas em camadas

Alguns objetos do jogo não utilizam texturas de uma forma padrão, realizando então o empilhamento delas uma acima das outras. Cavalos utilizam desse tipo de técnica de textura para sua variações de pele, e estandartes para cada um de seus padrões. Quando não há qualquer textura para ser referenciada, essa textura terá uma aparência completamente branca. Caso a textura em questão já tenha sido carregada dentro do jogo, não será possível descarregá-la, mesmo que já todas as outras texturas tenham sido previamente descarregadas.

Pelo fato de escudos utilizarem um modelo de item, mesmo que tal item de modelo referencie a uma entidade de modelo, o mesmo aparecerá como um modelo ausente, apesar deste fazer uso da técnica de textura em camadas.

Peixes tropicais, que apesar de usarem texturas compostas para distinguir cada uma de suas variantes, não ficarão da cor branca caso uma textura não possa ser carregada nessa entidade, fazendo então o uso da textura xadrez padrão para uma textura ausente (a qual pode estar tingida em alguns casos).

As capturas de tela abaixo também demonstram que peles de jogador, que mesmo não sendo compostas por uma textura em camadas, também não podem ser descarregadas devido a não dependerem de um pacote de recursos.

Menu principal

É interessante notar que este bug se manifesta em diferentes partes e locais do jogo durante o desenvolvimento da versão 1.13. Com foco no menu principal, revelam-se alguns detalhes curiosos:

  • Das snapshots 17w43a até a 18w22c, o menu aparece como na primeira imagem. O cubo de panorama está claramente visível ainda, com cada cubo presente contando com a substituição pela textura ausente.
  • Da 1.13-pre1 até a 1.13-pre5, o plano de fundo do menu agora é composto por apenas uma grande textura ausente, obstruindo então todo o campo de visão dos cubos de panorama. Isso se deve provavelmente pela adição do arquivo de textura panorama_overlay.png nessa versão, que é responsável pelo gradiente esbranquiçado visível por todo o panorama; anteriormente esse gradiente era codificado e não alcançável por meio de pacotes de recursos.
  • Entre a 1.13-pre7 e 1.13-pre8, o novo caractere de fonte ausente é usado para glifos sem espaçamento; em versões anteriores a 1.13-pre6, cores da própria textura ausente eram utilizadas, implicando que a fonte estaria lendo a própria textura ausente por si só como se essa fosse um arquivo de textura para fonte.
  • A partir da 1.13-pre9 até o lançamento oficial da versão 1.13, devido a uma alteração visual no caractere de fonte, esse efeito se manifesta visualmente; seu interior é preto ao invés de transparente.

O tamanho dos caracteres de fonte variam da 1.13-pre5 a versões anteriores, e parecem ser herdados a partir de qualquer pacote de recursos que estivesse ativo previamente.

Texturas contagiosas

[editar | editar código-fonte]

Nas snapshots 14w07a e 14w08a, em alguns casos, modelos ausentes causariam com que blocos próximos também tornassem a mostrar a textura ausente. Isso também afetaria o item que o jogador estivesse segurando. O motivo exato para a ocorrência dessa peculiaridade é desconhecido, mas aparenta ser causado por circunstâncias ligadas ao posicionamento de blocos e itens, sendo também um problema com ocorrência bem instável; colocar alguns blocos como escadas ou trepadeiras próximas terá capacidade de anular esse efeito por completo.

Blocos conhecidos de dispersarem esse efeito incluem portas e alçapões de carvalho e ferro, sementes de abóbora e melancia, camas, linha, vitória-régia, pote de flor e seu conteúdo, e bolos. Em alguns casos, lajes de madeira parecem também ser afetadas, entretanto a reprodução do bug com esse bloco não foi registrada até o momento, e não se sabe se lajes feitas de materiais de pedra também estão sujeitas a esse mesmo efeito.

As capturas de tela seguintes mostram o efeito sendo dispersado a partir de um cacau plantado com metadado 12:

A aparência da textura ausente usada em diversos jogos feitos no motor de jogo Source, a qual serviu de inspiração para a textura do Minecraft. Note como a cor preta é um pouco acizentada.
  • A snapshot 14w04b é a última versão da Edição java a qual a textura ausente não pode ser encontrada no jogo padrão, sem que seja feito o uso de pacotes de recursos:
    • Da snapshot 14w05a até a 14w21b, o portal do End faz uso da textura ausente.
    • Durante a snapshot 14w25a, a versão seguida da 14w21b, o item de portal do End é removido, porém todos os itens contendo valores de dados inválidos ainda utilizam o modelo ausente deste.
      • Adicionado a isso, essa é a primeira versão que permite o uso do comando /particle para gerar partículas de blocos, o qual inclui partículas para blocos inválidos como o ar. Essa funcionalidade foi temporariamente removida em snapshots seguintes e durante o lançamento completo da versão 1.8, porém retorna pouco tempo depois, e a textura ausente ainda pode ser vista por meio de itens contendo valores de dados inválidos.
    • Na snapshot 17w47a, itens contendo valores de dados inválidos são efetivamente removidos, entretanto ainda é possível gerar partículas de textura ausente caso o item de ar for especificado. A partir da snapshot 24w09a, isso poderia levar o jogo a um crash, e a partir da versão 1.20.5 Pre-Release 1, isso não ocorre mais.
    • Desde a snapshot 21w42a, é possível criar partículas com a marcação block_marker, as quais utilizam da textura ausente ao se referenciar ao ar, ar da caverna ou ar do vazio. Isso permanece funcional até a versão mais atual do jogo.
  • A textura ausente pode ser vista em estandartes oficiais de versão nas snapshots 14w10a e 17w47a, ainda contendo uma referência ao banner durante a snapshot 13w24a.

Capturas de tela

[editar | editar código-fonte]

Imagens de desenvolvimento

[editar | editar código-fonte]