mojira.dev
MC-236295

The game does not report absent particle texture references in models to the output log

The bug

The game does not output empty particle texture reference warnings in the console at all, even though it results in use of the missing texture.

How to reproduce

Attached are four resource packs which each modify the model for minecraft:stone. These resource packs should be applied independently of each other.

For the purpose of this report, each of the four resource packs is made to be flawed in some sense, as to demonstrate specific cases of absent or invalid references to textures, and the game's reaction to each:

  • stone-no-block-texture does not reference a texture to use for the block itself

  • stone-invalid-block-texture references a nonexistent texture to use for the block

  • stone-no-particle-texture does not reference a texture to use for the particles produced by the block

  • stone-invalid-particle-texture references a nonexistent texture to use for the particles produced by the block

To reproduce this issue, firstly make sure no other resource packs are applied, and then:

  1. Apply one of the four resource packs

  2. Pay close attention to the game's output log to check for any errors with the resource packs, noting which errors appear with each pack

  3. Once the resource pack is done loading, place and break stone blocks to check for missing textures, noting where they occur

  4. Repeat this with the other three resource packs

Expected result

As the missing texture is never, under any circumstances, meant to be used or seen in-game, outside of cases where resources are misconfigured to a point where it must show up, it'd be expected that a warning be shown in the game logs regarding the use of the texture to notify resource pack developers to its presence in cases that may otherwise be overlooked.

Actual result

The game only appears to output an explicit error in cases where an invalid texture is specified.

  • stone-no-block-texture: :info:

    • Unable to resolve texture reference: #texture in minecraft:block/stone

    • The block uses the missing texture on all sides:

    • [media]
  • stone-invalid-block-texture: ✔

    • Using missing texture, unable to load minecraft:textures/block/nonexistent_texture.png : java.io.FileNotFoundException: minecraft:textures/block/nonexistent_texture.png

    • The block uses the missing texture on all sides:

    • [media]
  • stone-no-particle-texture: ❌

    • Absolutely no console output at all indicating that a missing texture is used!

    • The block uses the missing texture for its particles:

    • [media]
  • stone-invalid-particle-texture: ✔

    • Using missing texture, unable to load minecraft:textures/block/nonexistent_texture.png : java.io.FileNotFoundException: minecraft:textures/block/nonexistent_texture.png

    • The block uses the missing texture for its particles:

    • [media]

Further notes

Not only is this internally inconsistent among these four detailed cases, it's also inconsistent with other related resource pack errors, such as invalid models, blockstates files referencing nonexistent models, sound events pointing to nonexistent sounds, and so on.

In addition, the unresolved texture reference output for textures which do in fact see direct use within the model could be considered somewhat incomplete, as it doesn't explicitly announce that the missing texture will be used, only hinting that there may be one. I can't think of any cases where the message would show up where the missing texture wouldn't end up being used, however it might be a good idea to output the "Using missing texture" error after such cases as well.

Errors should only be reported by models which end up being directly used in the game - template models which define no textures by themselves but are referenced by other models which apply their own textures should not report anything to the log.

Related issues

Attachments

Comments

migrated
[media][media][media][media][media][media][media][media]
muzikbike

Fixed in 24w45a.

muzikbike

(Unassigned)

Confirmed

Debug, Resource Packs

1.17.1, 21w38a, 1.19, 1.19.2

24w45a

Retrieved