Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-236295

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • 24w45a
    • 1.17.1, 21w38a, 1.19, 1.19.2
    • None
    • Confirmed
    • Debug, Resource Packs

      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:
        • Unable to resolve texture reference: #texture in minecraft:block/stone
        • The block uses the missing texture on all sides:
      • 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:
      • 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:
      • 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:

      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.

        1. stone-invalid-block-texture.zip
          1 kB
        2. stone-invalid-particle-texture.zip
          1 kB
        3. stone-no-block-texture.zip
          1 kB
        4. stone-no-particle-texture.zip
          1 kB
        5. 2021-09-10_23.28.14.png
          2021-09-10_23.28.14.png
          149 kB
        6. 2021-09-10_23.29.55.png
          2021-09-10_23.29.55.png
          152 kB
        7. 2021-09-10_23.30.22.png
          2021-09-10_23.30.22.png
          151 kB
        8. 2021-09-10_23.31.42.png
          2021-09-10_23.31.42.png
          162 kB

            Unassigned Unassigned
            Awesoman3000 Connor Steppie
            Votes:
            6 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: