minecraft.wiki-mirror/wiki_backup/Missing textures and models#Missing texture.txt

579 lines
44 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{redirect|missingno|the error-handling splash text|Splash|the error case for the CanBreak/CanPlaceOn item tag|Tutorials/Command NBT tags}}
''Minecraft'' makes use of '''missing textures''' and '''missing models''' to handle potential errors present in the game's resources as well as [[resource pack]]s.
== Missing texture ==
{{info needed section|A solid magenta texture may be possible somehow:
* https://github.com/rwtema/DietHopper/issues/4
* Several examples by SalC1:
** https://youtu.be/q1UC2-6vtIw?t{{=}}4m16s
** https://www.youtube.com/live/FO767SNqAis?t{{=}}52m22s
** https://youtu.be/Ma-YlVEDq44?t{{=}}4m40s
** https://youtu.be/wmblRUaRmkg?t{{=}}3m40s}}
{{needs update|figure out what still works in 1.21.4}}
<div style="float:right;">{{pximg|Missing Texture JE4.png|160px}}</div>
The '''missing texture''' is a [[Dynamic textures|dynamic]] [[placeholder texture]] used by ''Minecraft'' for handling cases where a suitable texture cannot be found. Outside of its use in missing models, this is almost always due to a texture being referenced which simply does not exist under that name.
The texture uses a prominent black {{Color|#000000}} and magenta {{Color|#f800f8}} checkerboard {{in|JE}} or a black {{Color|#000000}} and magenta {{Color|#fc00ff}} checkerboard {{in|BE}}, in order to stand out as much as possible in most cases. Using bright colors is industry standard, and black and magenta is employed by other game development studios, notably Valve.<ref>{{Citation|url=https://developer.valvesoftware.com/wiki/Missing_content|title=Missing content|website=developer.valvesoftware.com}}</ref>
While internally referred to as ''missingno'', there is no file for the missing texture {{in|JE}}, and it therefore cannot be changed under intended mechanics. It is possible to overwrite the copies of it which appear in [[texture atlas]]es with another texture using atlas json files<ref>{{bug|MC-277702}}</ref>, although this is presumably not intended.
As of [[Java Edition 24w09a]], there are two main ways in which the missing texture can appear without using a resource pack, both of which require commands. More have been introduced since; this list will be updated soon. Hover over any text saying "ids" for a list of namespaced IDs which return the missing texture.
{| class="wikitable"
! Occurrence
! Example command
! Bug report
|-
| Creating {{code|minecraft:block_marker}} particles<br>for either [[air]], [[cave air]] or [[void air]]
| {{cmd|particle minecraft:block_marker{block_state:{Name:"<ref group="ids">{{code|minecraft:air}}<br>{{code|minecraft:cave_air}}<br>{{code|minecraft:void_air}}</ref>"<nowiki>}}</nowiki>}}{{until|JE 1.21.4|nocat=1}}
| {{bug|MC-239407|||WAI}}<br>{{bug|MC-270529|||Fixed}}
|-
| Creating {{code|minecraft:item}} particles<br>for a [[spyglass]]
| {{code|/particle minecraft:item{item:"minecraft:spyglass"<nowiki>}</nowiki>}}<br>{{cmd|summon minecraft:area_effect_cloud ~ ~ ~ {Particle:{type:item,item:"minecraft:spyglass"},Radius:10,Duration:200<nowiki>}</nowiki>}}<br>{{cmd|summon minecraft:panda ~ ~ ~ {HandItems:[{id:"minecraft:spyglass",Count:1}]<nowiki>}</nowiki>}}{{until|JE 1.21.4|nocat=1}}
| {{bug|MC-206684|||Fixed}}
|}
When the game has to use the missing texture, such uses are generally announced in the game's output log:
{| class="wikitable"
! Use case
! Logged message
! Type
|-
| A model file references a nonexistent texture
| {{code|Missing textures in model [MODEL]:}}<br>{{code|[ATLAS]:[NONEXISTENT TEXTURE]}}
| <samp>warn</samp>
|-
| A particle file references a nonexistent texture
| {{code|Missing particle sprites: [LIST OF NONEXISTENT TEXTURES]}}
| <samp>warn</samp>
|-
| An invalid image file is used as a texture
| {{code|Using missing texture, unable to load [INVALID TEXTURE]}}<br>{{code|java.io.IOException: Bad PNG Signature}}
| <samp>error</samp>
|-
| No particle texture is defined for a model<ref>{{Cite bug|MC|236295|The game does not report absent particle texture references in models to the output log|date=September 11, 2021|resolution=Fixed}}</ref>{{until|JE 1.21.2|nocat=1}}
| rowspan="4" colspan="2" | No error message
|-
| A #texture is defined in a model, but not pointed to an existing texture file<ref>{{Cite bug|MC|276828|Minecraft no longer prints an error to the game log when a model fails to define a texture|date=September 18, 2024|resolution=Fixed}}</ref>{{until|java 1.21.4|nocat=1}}
|-
| Textures for some hardcoded objects are not loaded<ref>{{Cite bug|MC|263121|Missing textures caused by atlas filtering do not always cause errors to appear in the game output log|date=June 1, 2023}}</ref>
|-
| An item has an invalid custom tooltip<ref>{{Cite bug|MC|276751|Items with invalid tooltip components do not print errors to the game log|date=September 16, 2024|resolution=Won't Fix}}</ref>
|}
=== History ===
{{for|cases where the missing texture was used in-game|Java Edition missing texture and model uses#Missing texture|Bedrock Edition missing texture and model uses#Missing texture}}
==== History of the texture itself ====
{{HistoryTable
|{{HistoryLine|java beta}}
|{{HistoryLine||1.4|{{pximg|Missing Texture (Windows) JE1.png|64px}} The missing texture has been implemented. It differs depending on the system - see the subsection below.}}
|{{HistoryLine|java}}
|{{HistoryLine||1.5|dev=13w02a|{{pximg|Missing Texture (Windows) JE2.png|64px}} The missing texture has changed to display more descriptive text.}}
|{{HistoryLine||1.6.1|dev=13w18a|{{pximg|Missing Texture JE3.png|64px}} The missing texture generated has changed to a magenta and black checkerboard texture.}}
|{{HistoryLine||1.7.2|dev=13w38a|{{pximg|Missing Texture (anisotropic filtering) JE3.png|64px}} When anisotropic filtering is enabled, the missing texture has a 4×4 checker instead of a 2×2 checker.<ref>https://youtu.be/nJun57MSyYY</ref><ref>Many screenshots from bug tracker tickets feature this version of the texture:
* {{bug|MC-31886|||Duplicate}}
* {{bug|MC-31913|||Duplicate}}
* {{bug|MC-31883|||Fixed}}
* {{bug|MC-47653|||Fixed}}
* {{bug|MC-50238|||Duplicate}}
* {{bug|MC-50252|||Duplicate}}
* {{bug|MC-50254|||Fixed}}
* {{bug|MC-50266|||Duplicate}}
* {{bug|MC-50385|||Duplicate}}
* {{bug|MC-50447|||WAI}}</ref><ref>https://web.archive.org/web/20140328101841/https://mojang.com/2014/03/minecraft-snapshot-14w10a/</ref> This is due to this option extending each texture by 8 pixels in each direction using the pixels from the opposite side of the texture, which for the missing texture gives the appearance of a 4×4 tiling.}}
|{{HistoryLine||1.8|dev=14w25a|Removed the anisotropic filtering option, meaning that the 2×2 checker is once again the only missing texture.}}
|{{HistoryLine||1.13|dev=17w43a|{{pximg|Missing Texture JE4.png|64px}} The missing texture generated has changed.}}
|{{HistoryLine|pocket alpha}}
|{{HistoryLine||v0.16.0|dev=build 5|{{pximg|Missing Texture BE1.png|64px}} The missing texture has been implemented.}}
}}
; b1.4-13w17a platform differences
{{info needed section|
* {{bug|MC-7225}} - OS X, monochromatic
* {{bug|MC-5094}} - OS X, polychromatic
* {{bug|MC-8997}} - OS X, polychromatic
}}
The missing texture used in these versions would be generated differently depending on the operating system and Java version.<ref>{{Citation|url=https://github.com/NeRdTheNed/MC-TextureGen/commit/efdaa6c6a637b1f8cf8d0160c4ac7c4f779f945e#commitcomment-56639065|title=Missing texture generator|author=NeRdTheNed|website=GitHub|date=September 17, 2021}}</ref>
{| class="wikitable pixel-image" data-description="Original missing texture platform differences"
! colspan="2" | Texture
! rowspan="2" | Operating system
! rowspan="2" | Java version
! rowspan="2" | Notes
|-
! b1.4 - 13w01b
! 13w02a - 13w17a
|-
| rowspan="4" | [[File:Missing Texture (Windows) JE1.png|128px]]
| rowspan="4" | [[File:Missing Texture (Windows) JE2.png|128px]]
| Windows XP
|
* 6.0.370.6<ref>{{Cite bug|MC|8149|Redstone Dust appears as a piece of code in the HUD|date=January 23, 2013|resolution=Fixed}}</ref>
| rowspan="4" | Appears standard across all Windows versions.<br>No smoothing.
|-
| Windows 7<ref>{{Cite bug|MC|7861|wrong door particle effect|date=January 18, 2013|resolution=Duplicate}}</ref>
|
* 7<ref>{{Cite bug|MC|6865|No texture on breaking doors particle|date=January 10, 2013}}</ref>
** Update 11<ref>{{Cite bug|MC|10625|Missing textures in texture packs|date=March 1, 2013|resolution=Invalid}}{{Cite bug|MC|10682|Animations missing|date=March 1, 2013|resolution=Duplicate}}</ref>
** Update 13<ref>{{Cite bug|MC|17999|high grass shows "missing texture" when it gets signal from a level-3-repeater|date=June 15, 2013|resolution=Incomplete}}</ref>
** r15<ref>{{Cite bug|MC|10328|Texture pack won't animated or missing textures|date=February 26, 2013|resolution=Duplicate}}</ref>
** Update 17<ref>{{Cite bug|MC|12026|water texure pack is missing|date=March 16, 2013}}</ref>
|-
| Windows 10
|
* 1.8.0_51<ref name="ClearedUp">{{Citation|url=https://github.com/NeRdTheNed/MC-TextureGen/issues/22#issuecomment-922438619|title=Text based textures generated by MC-TextureGen may differ from official generated textures (larger sample size needed)|author=NeRdTheNed|website=GitHub|date=September 19, 2021}}</ref>
|-
| Solaris 10<ref>https://discord.com/channels/361634042317111296/433407899403026434/1071555493904011294</ref>
|
* 1.6.0_37<ref>https://discord.com/channels/361634042317111296/433407899403026434/1074447704450670672</ref>
|-
| [[File:Missing Texture (Windows 10, Java 16.0.2) JE1.png|128px]]
| [[File:Missing Texture (Windows 10, Java 16.0.2) JE2.png|128px]]
| Windows 10
|
* 11.0.10<ref name="ClearedUp"/>
* 16.0.2
| Minor differences in the x and u. No smoothing.
|-
| rowspan="4" | [[File:Missing Texture (MacOS 10.14.6, Apple legacy Java runtime 1.6.0 65-b14-468) JE1.png|128px]]
| rowspan="4" | [[File:Missing Texture (MacOS 10.14.6, Apple legacy Java runtime 1.6.0 65-b14-468) JE2.png|128px]]
| MacOS 10.3.9<ref name="Mac1039">{{Citation|url=https://github.com/NeRdTheNed/MC-TextureGen/commit/efdaa6c6a637b1f8cf8d0160c4ac7c4f779f945e#commitcomment-56642974|title=Missing texture generator|author=NeRdTheNed|website=GitHub|date=September 17, 2021}}</ref>
|
* 4<ref name="Mac1039"/>
| rowspan="4" | No smoothing - standard for non-Retina systems.<ref name="ClearedUp"/>
|-
| MacOS 10.5.8
|
* 1.5.0_30<ref>{{Cite bug|MC|7319|missing textures for new 1.5 blocks and items|date=January 12, 2013|resolution=Duplicate}}</ref>
|-
| MacOS 10.6.8<ref name="Mac1068">{{Citation|url=https://github.com/NeRdTheNed/MC-TextureGen/commit/efdaa6c6a637b1f8cf8d0160c4ac7c4f779f945e#commitcomment-56649619|title=Missing texture generator|author=NeRdTheNed|website=GitHub|date=September 17, 2021}}</ref>
|
* 6<ref name="Mac1068"/>
|-
| MacOS 10.14.6<ref name="ClearedUp"/>
|
* Apple legacy Java runtime 1.6.0_65-b14-468<ref name="ClearedUp"/>
|-
| [[File:Missing Texture (MacOS 10.14.6, Apple legacy Java runtime 1.6.0 65-b14-468, antialiased) JE1.png|128px]]
| [[File:Missing Texture (MacOS 10.14.6, Apple legacy Java runtime 1.6.0 65-b14-468, antialiased) JE2.png|128px]]
| MacOS 10.14.6<ref name="ClearedUp"/>
|
* Apple legacy Java runtime 1.6.0_65-b14-468<ref name="ClearedUp"/>
| Monochromatic smoothing - standard for Retina systems.<ref name="ClearedUp"/>
|-
| [[File:Missing Texture (MacOS 10.14.6, Apple legacy Java runtime 1.6.0 65-b14-468, smoothed) JE1.png|128px]]
| [[File:Missing Texture (MacOS 10.14.6, Apple legacy Java runtime 1.6.0 65-b14-468, smoothed) JE2.png|128px]]
| MacOS 10.14.6
|
* Apple legacy Java runtime 1.6.0_65-b14-468<ref>{{Citation|url=https://github.com/NeRdTheNed/MC-TextureGen/issues/22#issuecomment-922492792|title=Text based textures generated by MC-TextureGen may differ from official generated textures (larger sample size needed)|author=NeRdTheNed|website=GitHub|date=September 19, 2021}}</ref>
| Uses polychromatic smoothing instead of monochromatic smoothing like above.
|-
| rowspan="2" |
| rowspan="2" | [[File:Missing Texture (MacOS 10.5.8) JE2.png|128px]]
| MacOS 10.3.9<ref name="comment9226">{{Citation|url=https://github.com/NeRdTheNed/MC-TextureGen/issues/22#issuecomment-922617901|title=Text based textures generated by MC-TextureGen may differ from official generated textures (larger sample size needed)|author=NeRdTheNed|website=GitHub|date=September 19, 2021}} (also refer to other specifications in source)</ref>
|
* 4<ref name="comment9226"/>
| rowspan="2" | Monochromatic smoothing. Almost identical to the above version, with almost unnoticeable single-pixel differences.
|-
| MacOS 10.5.8<ref>{{Cite bug|MC|7208|Missing quartz, hopper, and comparator textures|date=January 12, 2013|resolution=Fixed}}</ref>
| Unknown
|-
|
| [[File:Missing Texture (MacOS 10.4.11) JE2.png|128px]]
| MacOS 10.4.11
|
* 1.5.0_19<ref>{{Cite bug|MC|7267|Missing textures for new blocks/items (redstone block, hopper, quartz)|date=January 12, 2013|resolution=Duplicate}}</ref>
| Polychromatic smoothing.
|-
| [[File:Missing Texture (MacOS 10.14.6, Java 1.7.0 80-b15) JE1.png|128px]]
| [[File:Missing Texture (MacOS 10.14.6, Java 1.7.0 80-b15) JE2.png|128px]]
| MacOS 10.14.6<ref name="ClearedUp"/>
|
* 1.7.0 80-b15<ref name="ClearedUp"/>
* 1.8.0_51<ref name="ClearedUp"/>
| No smoothing.
|-
| [[File:Missing Texture (MacOS 10.14.6) JE1.png|128px]]
| [[File:Missing Texture (MacOS 10.14.6) JE2.png|128px]]
| MacOS 10.14.6<ref name="ClearedUp"/>
|
* 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
| Monochromatic smoothing.
|-
| [[File:Missing Texture (MacOS 12.3.0, Java 1.8.0 74 64 bit) JE1.png|128px]]
| [[File:Missing Texture (MacOS 12.3.0, Java 1.8.0 74 64 bit) JE2.png|128px]]
| MacOS 12.3.0<ref name="rightallalong">{{Citation|url=https://github.com/NeRdTheNed/MC-TextureGen/issues/22#issuecomment-1771775344|title=Text based textures generated by MC-TextureGen may differ from official generated textures (larger sample size needed)|author=NeRdTheNed|website=GitHub|date=October 19, 2023}}</ref>
|
* 1.8.0_74 (64-bit)<ref name="rightallalong"/>
| Appears to have been smoothed monochromatically with all non-white pixels subsequently set to black.
|-
| rowspan="2" | [[File:Missing Texture (Old Linux) JE1.png|128px]]
| rowspan="2" | [[File:Missing Texture (Old Linux) JE2.png|128px]]
| Debian<ref name="Jan92023">https://discord.com/channels/361634042317111296/433407899403026434/1062142954837377105</ref>
|
* 1.8.0_351
| rowspan="2" | No smoothing.
|-
| Kubuntu 24.04
|
* 1.8.0_202 via Prism Launcher
|-
| rowspan="7" | [[File:Missing Texture (Linux) JE1.png|128px]]
| rowspan="7" | [[File:Missing Texture (Linux) JE2.png|128px]]
| Debian<ref name="Jan92023"/>
|
* Zulu OpenJDK 1.8.0_352
| rowspan="7" | No smoothing.
|-
| Debian under WSL2<ref>{{Citation|url=https://github.com/NeRdTheNed/MC-TextureGen/commit/efdaa6c6a637b1f8cf8d0160c4ac7c4f779f945e#commitcomment-56731586|title=Missing texture generator|author=forkiesassds|website=GitHub|date=September 19, 2021}}</ref>
|
* 11.0.11
|-
| Ubuntu
|
* 16.0.1<ref>{{Citation|url=https://imgur.com/gallery/i3FaUkW|title=debug.stitched_items.png and debug.stitched_terrain.png (UBUNTU LINUX, 1.5.1) with 21w37a screenshot|author=MrRhino684|website=Imgur|date=September 18 2021|archive-url=https://web.archive.org/web/20230508203053/https://imgur.com/gallery/i3FaUkW}}</ref>
|-
| Kubuntu 24.04
|
* 1.8.0_422 64bit
|-
| FreeBSD
|
* 16.0.2
|-
| OpenBSD
|
* 16.0.2
|-
| Solaris 11<ref>https://discord.com/channels/361634042317111296/433407899403026434/1074451519673483415</ref>
|
* 1.8.0_311<ref>https://discord.com/channels/361634042317111296/433407899403026434/1074447243018506280</ref>
|-
| rowspan="2" | [[File:Missing Texture (Arch) JE1.png|128px]]
| rowspan="2" | [[File:Missing Texture (Arch) JE2.png|128px]]
| Arch<ref>https://discord.com/channels/361634042317111296/433407899403026434/986983086845730856</ref>
|
* Temurin-17.0.3+7
| rowspan="2" | No smoothing.
|-
| Ubuntu 23.10
|
* default Java (from launcher)
|-
| <!--[[File:Missing Texture (Not Arch) JE1.png|128px]]-->
| [[File:Missing Texture (Not Arch) JE2.png|128px]]
| Kubuntu 24.04
|
* 1.8.0_202 via Mojang's launcher
| No smoothing.
|-
|
| [[File:Missing Texture (Arch 6.1.1) JE2.png|128px]]
| Arch 6.1.1<ref>https://discord.com/channels/361634042317111296/433407899403026434/1061086331247284295</ref>
|
* 1.8.0_352 (64-bit)
| No smoothing.
|}
==== General history ====
{{HistoryTable
|{{HistoryLine|java beta}}
|{{HistoryLine||1.4|The game now generates missing textures for absent assets.
|Prior to this version, the game would outright crash if a texture could not be loaded.
|The texture does not exist in the vanilla game files as an image, and must be induced through either modding (such as simply deleting existing texture files from the jar) or major glitches which cannot be reliably reproduced.<ref>https://www.minecraftforum.net/forums/archive/legacy-support/1805293-client-problems-game-isnt-even-playable</ref><ref>https://www.minecraftforum.net/forums/discussion/175235-most-usless-item-block/previous</ref><ref>https://www.minecraftforum.net/forums/archive/legacy-support/1841577-weird-rain-bug</ref><ref>https://www.minecraftforum.net/forums/support/java-edition-support/1947231-missing-tex-inventory-screen-and-other-item-uis</ref>}}
|{{HistoryLine|java}}
|{{HistoryLine||1.5|dev=13w02a|The missing texture is now added to procedurally-generated block and item texture atlases (<samp>[[stitched_terrain.png]]</samp> and <samp>[[stitched_items.png]]</samp>).}}
|{{HistoryLine|||dev=13w09a|The missing texture is now used if an animated texture is provided, but no accompanying text file exists.<ref>https://web.archive.org/web/20200728074157/http://www.mojang.com/2013/02/minecraft-snapshot-13w09a/</ref><ref>{{bug|MC-10625}}</ref> Previously, animated texture files would be accepted even without a text file.}}
|{{HistoryLine||1.6.4|dev=13w24b|The missing texture is now used if the game tries to load a texture file which is not valid. Previously, the game would seemingly outright refuse to load texture packs or resource packs containing invalid png files.}}
|{{HistoryLine||1.8|dev=14w25a|With the merging of <samp>[[blocks-atlas]]</samp> and <samp>[[items-atlas]]</samp> into <samp>[[textures-atlas]]</samp>, blocks and items now both reference the same missing texture.}}
|{{HistoryLine||1.14|dev=19w06a|Added <samp>[[particles.png-atlas]]</samp> with the deprecation of <samp>[[particles.png]]</samp>, containing a missing particle texture.}}
|{{HistoryLine|||dev=19w07a|Added <samp>[[paintings.png-atlas]]</samp> with the deprecation of <samp>[[paintings_kristoffer_zetterstrand.png]]</samp>, containing a missing painting texture.
|Textures which are not animated and not square are now supported, and no longer return the missing texture due to being interpreted as invalid animations. This change may have been due to some paintings not being perfect squares.}}
|{{HistoryLine|||dev=19w08a|Added <samp>[[mob_effects.png-atlas]]</samp> with the removal of effect icons from <samp>[[inventory.png]]</samp>, containing a missing effect texture.}}
|{{HistoryLine||1.15|dev=Pre-release 1|<samp>textures-atlas</samp> has been split into seven other atlases, each having its own copy of the missing texture, rather than all of these referencing the same missing texture:
* Blocks, items and some entities into <samp>[[blocks.png-atlas]]</samp>
* Banner patterns on banners into <samp>[[banner_patterns.png-atlas]]</samp>
* Banner patterns on shields into <samp>[[shield_patterns.png-atlas]]</samp>
* Beds into <samp>[[beds.png-atlas]]</samp>
* Chests into <samp>[[chest.png-atlas]]</samp>
* Signs into <samp>[[signs.png-atlas]]</samp>
* Shulker boxes into <samp>[[shulker_boxes.png-atlas]]</samp>}}
|{{HistoryLine||1.19.3|dev=22w42a|Added <samp>[[hanging_signs.png-atlas]]</samp>, containing a missing hanging sign texture.}}
|{{HistoryLine|||dev=22w46a|Merged <samp>hanging_signs.png-atlas</samp> into <samp>signs.png-atlas</samp>; all types of signs now reference the same missing texture.}}
|{{HistoryLine||1.19.4|dev=23w04a|Added <samp>[[armor_trims.png-atlas]]</samp>, containing a missing armor trim texture.}}
|{{HistoryLine|||dev=23w07a|Added <samp>[[decorated_pot.png-atlas]]</samp>, containing a missing decorated pot texture.}}
|{{HistoryLine|||dev=Pre-release 3|F3+S now dumps all dynamic textures to the screenshots folder. This includes the missing texture (as <samp>minecraft_missingno.png</samp>), alongside every texture atlas containing one.}}
|{{HistoryLine||1.20.2|dev=23w31a|Added <samp>[[gui.png-atlas]]</samp> with the deprecation and splitting of many files, containing a missing user interface sprite texture.}}
|{{HistoryLine||1.20.5|dev=24w12a|Added <samp>[[map_decorations.png-atlas]]</samp> with the deprecation of <samp>[[map_icons.png]]</samp>, containing a missing map icon texture.}}
|{{HistoryLine||?|An error is no longer produced in the output log if a model is loaded which does not resolve a texture reference.}}
|{{HistoryLine||1.21.4|dev=24w45a|An error is once again produced in the log if a model does not resolve a texture reference.<ref>{{bug|MC-276828}}</ref>
|An error is also now produced if a model fails to define a particle texture for a block.<ref>{{bug|MC-236295}}</ref>}}
|{{HistoryLine|pocket alpha}}
|{{HistoryLine||v0.16.0|dev=build 5|Presumably the version that added the missing texture. It is predefined as an actual file, rather than generated by the game.}}
}}
== Missing model ==
{{info needed section|Console output when a model is missing or invalid}}
[[File:Missing Model.png|thumb|Missing model]]
In an analogous fashion to the missing texture being used for instances where no texture is defined, the '''missing model''' is use in cases where no [[model]] is defined, or the model is invalid.
By default, the missing model is a full 16×16 cube which uses the missing texture on all six faces. These faces are culled accordingly where possible. Only two faces will have the same color at each vertex, rather than the three one may expect; Mojang have decided to not fix this.<ref>{{Cite bug|MC|239083|Missing model textures do not match up correctly at each corner|date=October 16, 2021|resolution=Won't Fix}}</ref>
The missing model is obviously also never intended to appear in standard gameplay, and uses the missing texture again to appear prominent and highlight errors to fix.
Contrary to popular belief, no central "missing texture block" has ever existed in the game; all cases of blocks which use this model are due to another block simply having no assigned texture or model.
=== History ===
{{for|cases where the missing model was used in-game|Java Edition missing texture and model uses#Missing model}}
==== History of the model itself ====
===== Block =====
{{HistoryTable
|{{HistoryLine|java}}
|{{HistoryLine||1.8|dev=14w06b|[[File:Missing Model JE1.png|32px]] [[File:Missing Model (anisotropic filtering) JE1.png|32px]] Added the missing model.
|It is worth noting that despite being 8x8x8, it maps the entire 16x16 texture on each side as opposed to only the central 8x8 section. This results in no visual oddities for the 2x2 missing texture due to it already only having four distinct square regions at each corner.}}
|{{HistoryLine|||dev=14w10a|[[File:Missing Model JE2.png|32px]] [[File:Missing Model (anisotropic filtering) JE2.png|32px]] The missing model has changed to be a full cube.}}
|{{HistoryLine|||dev=14w25a|Removed the anisotropic filtering option, meaning that the 2x2 checker is once again the only missing texture, and the missing model that uses it the only missing model.}}
|{{HistoryLine||1.13|dev=17w43a|[[File:Missing Model JE3.png|32px]] The missing texture's change has resulted in the appearance of the missing model also changing.}}
}}
===== Item =====
{{info needed section|"equipped on head" history}}
; Inventory
{{HistoryTable
|{{HistoryLine|java}}
|{{HistoryLine||1.8|dev=14w25a|[[File:Missing Model (inventory) JE1.png|32px]] The missing model now also applies to items. Its "gui" display type appears equivalent to other cubes.}}
|{{HistoryLine||1.9|dev=15w31a|[[File:Missing Model (inventory) JE2.png|32px]] In the inventory, the missing model visually ''appears'' to be a 2D missing texture; this is due to its viewing angle defaulting to straight-on from a face instead of at an angle, due to changes in how item models can be rendered, and only one face is visible as a result.}}
|{{HistoryLine||1.13|dev=17w43a|[[File:Missing Model (inventory) JE3.png|32px]] The changes to the missing texture have modified the appearance of the missing model.}}
|{{HistoryLine||1.15|dev=19w39a|[[File:Missing Model (inventory) JE4.png|32px]] Major changes to rendering in this version have made the missing model appear very slightly darker by default.}}
|{{HistoryLine|||dev=19w40a|[[File:Missing Model (inventory) JE5.png|32px]] Items in the inventory are now shaded far less than previously. As a result, the missing model now appears much brighter.}}
|{{HistoryLine|||dev=pre3|[[File:Missing Model (inventory) JE6.png|32px]] Shading has returned to items. The missing model now appears far darker than before 19w40a.}}
|{{HistoryLine|||dev=pre4|[[File:Missing Model (inventory) JE7.png|32px]] Item shading has changed, resulting in the missing model appearing darker than in the prior pre-release.}}
|{{HistoryLine||1.17|dev=21w10a|[[File:Missing Model (inventory) JE8.png|32px]] The missing model's shading has returned to the level of shading it had in 1.15-pre3.}}
}}
; Dropped
{{HistoryTable
|{{HistoryLine|java}}
|{{HistoryLine||1.8|dev=14w25a|[[File:Missing Model (dropped) JE1.gif|64px]] [[File:Missing Model (dropped) JE1.png|64px]] The missing model now also applies to items. Its "ground" display type appears equivalent to other cubes.}}
|{{HistoryLine||1.9|dev=15w31a|[[File:Missing Model (dropped) JE2.gif|64px]] [[File:Missing Model (dropped) JE2.png|64px]] The missing model now appears the size of a full block as a dropped item.}}
|{{HistoryLine||1.13|dev=17w43a|[[File:Missing Model (dropped) JE3.gif|64px]] [[File:Missing Model (dropped) JE3.png|64px]] The changes to the missing texture have modified the appearance of the missing model.}}
}}
; Fixed
{{HistoryTable
|{{HistoryLine|java}}
|{{HistoryLine||1.8|dev=14w25a|[[File:Missing Model (fixed) 14w25a.png|64px]] The missing model now also applies to items. Its "fixed" display type appears equivalent to other cubes.}}
|{{HistoryLine|||dev=14w31a|[[File:Missing Model (fixed) 14w31a.png|64px]] Changed lighting for the "fixed" model.}}
|{{HistoryLine||1.9|dev=15w31a|[[File:Missing Model (fixed) 15w31a.png|64px]] The missing model now appears larger than before in an item frame.}}
|{{HistoryLine||1.13|dev=17w43a|[[File:Missing Model (fixed) 17w43a.png|64px]] The changes to the missing texture have modified the appearance of the missing model.}}
}}
; Held, first person
{{HistoryTable
|{{HistoryLine|java}}
|{{HistoryLine||1.8|dev=14w25a|[[File:Missing Model (first person, right hand) JE1.png|64px]] The missing model now also applies to items. Its "firstperson_righthand" display type appears equivalent to other cubes.}}
|{{HistoryLine||1.9|dev=15w31a|[[File:Missing Model (first person, right hand) JE2.png|64px]] The missing model now appears the size of a full block when held in first person.
|[[File:Missing Model (first person, left hand) JE1.png|64px]] Objects can now be held in the player's left hand.}}
|{{HistoryLine||1.13|dev=17w43a|[[File:Missing Model (first person, left hand) JE2.png|64px]] [[File:Missing Model (first person, right hand) JE3.png|64px]] The changes to the missing texture have modified the appearance of the missing model.}}
}}
; Held, third person/other entity
{{HistoryTable
|{{HistoryLine|java}}
|{{HistoryLine||1.8|dev=14w25a|[[File:Missing Model (third person, right hand) 14w25a.png|64px]] The missing model now also applies to items. Its "thirdperson_righthand" display type appears equivalent to other cubes.
|[[File:Missing Model (translucent, third person, right hand) 14w25a.png|64px]] Translucent items with a missing model exhibit a particularly interesting visual bug in relation to entities (including its holder) and translucent objects.}}
|{{HistoryLine|||dev=14w29a|[[File:Missing Model (third person, right hand) 14w29a.png|64px]] [[File:Missing Model (translucent, third person, right hand) 14w29a.png|64px]] The "thirdperson_righthand" model has changed.}}
|{{HistoryLine|||dev=14w30a|[[File:Missing Model (third person, right hand) 14w30a.png|64px]] [[File:Missing Model (translucent, third person, right hand) 14w30a.png|64px]] For most items, the missing model is now the size of a full block when held in third person or by a mob or another player. Some invalid data value items such as invalid data value chests still appear to use the normal size.{{info needed|Full list?}}}}
|{{HistoryLine||1.9|dev=15w31a|The remaining invalid data value items like chests now use the full-size missing model.
|[[File:Missing Model (third person, left hand) 15w31a.png|64px]] [[File:Missing Model (translucent, third person, left hand) 15w31a.png|64px]] Objects can now be held in the player's left hand.}}
|{{HistoryLine||1.13|dev=17w43a|[[File:Missing Model (third person, left hand) 17w43a.png|64px]] [[File:Missing Model (translucent, third person, left hand) 17w43a.png|64px]] [[File:Missing Model (third person, right hand) 17w43a.png|64px]] [[File:Missing Model (translucent, third person, right hand) 17w43a.png|64px]] The changes to the missing texture have modified the appearance of the missing model.}}
|{{HistoryLine||1.15|dev=19w39a|Fixed the rendering bug that caused translucent items with broken models to render very strangely around entities and translucent objects, likely as part of the fix to {{bug|MC-9553}}.}}
}}
==== General history ====
{{HistoryTable
|{{HistoryLine|java}}
|{{HistoryLine||1.8|dev=14w06b|The missing model has been added as a model file under <samp>models/block/missingno.json</samp>.
|Prior to this version, the game would crash with a NullPointerException if it tried to render a block with no defined model.<ref>{{bug|MC-47560|||Fixed}}</ref>}}
|{{HistoryLine|||dev=14w07a|Invalid model files will now cause the missing model to be loaded in their place. Previously, no model would be loaded at all, and the block in question would appear completely empty.}}
|{{HistoryLine|||dev=14w18a|The missing model is now hardcoded and cannot be modified by resource packs, as to prevent a crash if the model is replaced by something invalid.<ref>{{bug|MC-50073|||Fixed}}</ref>
|As a result, it is also absent from the jar file from this point onwards.}}
|{{HistoryLine|||dev=14w25a|The block breaking animation now applies properly to the model; previously, blocks that used it would appear to light up when broken (similarly to the tops and bottoms of [[bed]]s before 14w10a) without displaying the cracking animation properly.
|The missing model now uses the missing texture for its particles. Particle textures were previously hardcoded per block ID and could not be changed.}}
|{{HistoryLine||1.21.2|dev=24w33a|The missing model is now affected by [[color]]s for biomes, tinted items, and so on.<ref>{{bug|MC-277830}}</ref>}}
|{{HistoryLine|||dev=24w40a|The missing material, used by the missing model for particles, is now defined in the block model .java rather than the missing model .java.}}
}}
== Missing font character ==
Much like for missing textures and missing models, ''Minecraft'' also uses a graphic for rendering Unicode characters when it cannot find a valid texture. This appears as a hollow rectangle, sometimes referred to as "[[Wikipedia:Unicode replacement character|tofu]]".
Generally, in fonts, the <samp>[[wikipedia:.notdef|.notdef]]</samp> character is used for this purpose, and is defined per-font. However, Minecraft's missing font character is hardcoded and cannot be configured by resource packs.
The missing font character is most often seen when trying to render a character for which no fonts currently define a glyph. It can also be seen when the game attempts to render a character with an invalid texture, such as one whose dimensions exceed 256 pixels on one or both axes. In this case, the horizontal width of the character will still be used, causing either large gaps in text or the missing glyph to intersect the next character, a bug which Mojang has decided not to fix.<ref>{{Cite bug|MC|277677|Invalid font characters remember their width and the placeholder glyph incorrectly uses it|date=October 18, 2024|resolution=Won't Fix}}</ref>
=== History ===
==== History of the character itself ====
{{HistoryTable
|{{HistoryLine|java}}
|{{HistoryLine||1.13|dev=pre7|[[File:Missing Glyph JE2.png|10px]] Added the missing font character.
|Before this version, characters without defined glyphs would simply render as blank and of minimum width.}}
|{{HistoryLine|||dev=pre9|[[File:Missing Glyph JE3.png|10px]] The center of the missing font character is now solid black.}}
|{{HistoryLine||1.13.1|dev=18w30a|[[File:Missing Glyph JE4.png|10px]] The center of the missing font character is now transparent again.<ref>https://cdn.skye.lol/diffs/1.13_to_18w30a.html, line 17 of net/minecraft/client/render/font/MissingGlyph.java: changed -16777216 (full opacity black) to 0 (no opacity black)</ref>}}
}}
==== General history ====
{{HistoryTable
|{{HistoryLine|java}}
|{{HistoryLine||1.13|dev=pre6|Characters without a defined texture now print an error to the game log.}}
|{{HistoryLine|||dev=pre7|The error message now includes the ID of the character in question.}}
|{{HistoryLine|||dev=pre8|Errors are no longer printed for characters without defined textures.}}
|{{HistoryLine||1.13.1|dev=18w30a|The missing glyph is now used for invalid font characters, such as those with dimensions too large; previously they would fall back to the default font.}}
|{{HistoryLine||1.16|dev=20w17a|[[Raw JSON text format]] now supports applying any font to text, allowing for the missing font character to be seen with more accessible characters, or with any character if a nonexistent font is specified.{{note|Example command: /tellraw @p {"text": "ABCDEFGHIJKLMNOPQRSTUVWXYZ\nabcdefghijklmnopqrstuvwxyz\n0123456789↊↋", "font": "fontthatdoesnotexist"<nowiki>}</nowiki>}}}}
|{{HistoryLine||1.21.2|dev=Pre-Release 2|Characters without a defined texture now print an error to the game log once again.<ref>{{bug|MC-276813|||fixed}}</ref>}}
}}
== Other missing assets ==
Missing and misconfigured sounds are not played at all. Errors are still logged in the game output when attempting to play a sound event with no assigned sound, for example.
== Notable bugs ==
{{section needed|14w07a/14w08a "contagious textures" bug}}
=== Examples of cases where the missing model is not used ===
By definition, any block which does not use a model does not use the cubic missing model. If a model is still not defined for the block, however, this will likely still reflect in the block's particles.
{{Non-remodellable blocks}}
The vast majority of entity models are also completely hardcoded. There are two notable exceptions in the [[item frame]] and [[glow item frame]], which do in fact have customizable models. Therefore, the item frame and glow item frame are the only two entities which are capable of using the missing model; all other entities may lose their texture, but retain the same model shape.
Entities that exist to extend the behaviour of blocks, such as [[falling sand]] and [[primed TNT]], reference block models, and therefore will use the missing model if required. In addition, other entities that incorporate block models, such as [[mooshroom]]s, [[endermen]] holding blocks, and [[minecart]]s containing blocks, will use the missing model for the part that references the block model, but the entity model itself will remain intact.
[[Horse]]s are a particularly interesting example of an entity which are discussed further in a later section. In multiple version ranges, certain invalid horses can either appear completely invisible or have a solid white texture, neither of which are the missing model.
=== Translucency ordering ===
From 14w25a up to 19w38b, there existed a remarkable visual bug where missing models associated with blocks that used translucent rendering (such as ice, stained glass, stained glass panes and slime blocks) would interact anomalously with the rendering of transparent blocks in the world, as well as of entities, including the holder. Unlike normal missing models, translucent blocks and other entities would render in front of such a model when held, even if they were physically farther away from the camera. However, this only applies if the distant entity or transparent block in question is not first occluded by the player model. As a result, the held translucent block can form a player-shaped silhouette around the player model in front of a background made of entities (such as paintings) or translucent blocks.
This effect can be seen without the use of resource packs up to 17w46a simply by holding ice, stained glass, stained glass panes or slime blocks of an invalid data value. For versions 17w47a up to 19w38b a resource pack is required to break the model of an existing translucent item, and from 19w39a the bug is no longer present at all.
<div style="text-align: center;">
<gallery>
No missing model.png|Normal player model for shape reference
Normal missing model.png|Missing model belonging to a non-translucent item
Translucent missing model.png|Missing model belonging to a translucent item, resulting in a player outline forming behind it
</gallery>
</div>
This effect also happened to particles and certain other objects in-game from 13w41a onwards.
=== Unloading the default resources ===
If a sufficiently broken resource pack is loaded, the game will catch such resource packs and unload them automatically if errors were detected. From [[Java Edition 17w43a|17w43a]] up to the full release of [[Java Edition 1.13|1.13]], this also included the default resources, meaning that applying a flawed resource pack would result in all assets being unloaded, and as such the missing error assets appearing everywhere.
<div style="text-align: center;">
<gallery>
All textures unloaded.png
</gallery>
</div>
From 18w30a onwards, the game was made to unload all resource packs ''except'' the default resources in cases like these.<ref>{{Cite bug|MC|123756|Trying to load broken resource pack also disables all intact resource packs ("Caught error stitching, removing all assigned resourcepacks")|date=January 2, 2018|resolution=Cannot Reproduce}}</ref>
; Layered textures
Certain game objects do not use textures in the standard way, instead layering them on top of each other. Horses use these for their pattern variants, and banners for each banner pattern. When there is no texture to pick from, these instead appear completely white. If the textures in question have already been loaded into the game, it is not possible to unload them even if all other textures are unloaded.
As shields use an item model, even though said item model points to an entity model, it appears as a missing model even though it makes use of texture layering.
Tropical fish, despite also using composite textures to distinguish variants, do not turn white if a texture cannot be loaded, and instead use the usual checkerboard (which is tinted in certain cases).
The screenshots below also demonstrate that player skins, despite not being layer-based, are also not unloaded due to not being resource pack dependent.
<div style="text-align: center;">
<gallery>
Unloaded layer textures.png|Horses and banners with no textures loaded
Loaded layer textures.png|Horses and banners with textures persisting after everything else has been unloaded
</gallery>
</div>
; Main menu
{{info needed section|What happens if a resource pack with a different font is loaded first before unloading everything, before 1.13-pre6? Were character sizes indeed hardcoded?}}
It is interesting to note how this bug highlights different changes to parts of the game through 1.13's development. Focusing on the main menu, for example, reveals multiple details:
* From 17w43a up to 18w22c, the menu appears as in the first image. The panorama cube is clearly visible, with each square replaced with the missing texture.
* From 1.13-pre1 up to 1.13-pre5, the main menu background is now a large missing texture itself, obscuring the view of the panorama cube. This is likely due to the introduction of the <samp>panorama_overlay.png</samp> texture file in this version, which is responsible for the whitish gradient effect visible above the panorama; previously the gradient was hardcoded and unable to be changed with resource packs.
* In 1.13-pre6, the font does not seem to load at all.
* In 1.13-pre7 and 1.13-pre8, the newly-implemented missing font character is used for all non-space glyphs; in versions before 1.13-pre6, they instead used colors from the missing texture, implying that the font was reading from the missing texture itself as though it were a font texture file.
* From 1.13-pre9 up to the full release of 1.13, due to the missing font character visually changing, this also manifests visually; the interior is black rather than transparent.
<div style="text-align: center;">
<gallery>
Broken main menu 17w43a.png|17w43a - 18w22c
Broken main menu 1.13-pre1.png|1.13-pre1 - 1.13-pre5
Broken main menu 1.13-pre6.png|1.13-pre6
Broken main menu 1.13-pre7.png|1.13-pre7 - 1.13-pre8
Broken main menu 1.13-pre9.png|1.13-pre9 - 1.13
</gallery>
</div>
; Enchantment glint
Interestingly, the rendering of the enchantment glint on items to which it applies appears different when all assets are unloaded, compared to cases where the enchantment glint image file and its associated mcmeta are deleted instead. For the unloaded case, the texture is rendered much smaller and moved much slower. This is due to the enchantment glint's rendering being tied to the size of the atlas - since unloading all textures results in a 16&times;16 atlas consisting of only the missing texture, the effect is exaggerated.<ref>{{Cite bug|MC|276841|Enchantment glint rendering depends on the current size of the texture atlas|date=September 19, 2024|resolution=Unresolved}}</ref>
{| class="wikitable" style="text-align:center"
!
! Unenchanted
! Normal
! Deleted
! Unloaded
|-
! JE1
| [[File:Missing Model (dropped) JE1.gif|128px]]
| [[File:Enchanted Missing Model (dropped) JE1.gif|128px]]
| [[File:Deleted Enchanted Missing Model (dropped) JE1.gif|128px]]
| ?
|-
! JE2
| [[File:Missing Model (dropped) JE2.gif|128px]]
| [[File:Enchanted Missing Model (dropped) JE2.gif|128px]]
| [[File:Deleted Enchanted Missing Model (dropped) JE2.gif|128px]]
| ?
|-
! JE3
| [[File:Missing Model (dropped) JE3.gif|128px]]
| [[File:Enchanted Missing Model (dropped) JE3.gif|128px]]
| [[File:Deleted Enchanted Missing Model (dropped) JE3.gif|128px]]
| [[File:Unloaded Enchanted Missing Model (dropped) JE3.gif|128px]]
|}
== Trivia ==
* 14w04b is the last Java Edition version in which the missing texture cannot be encountered in the vanilla game without resource packs:
** From 14w05a through 14w21b inclusive, the end portal item uses the missing texture.
** In 14w25a, the version directly following 14w21b, the end portal item is removed, but all invalid data value items use the missing item model.
*** In addition, this is the first version that allows the use of the {{cmd|particle}} command to generate block particles, which includes particles for invalid blocks such as air. This functionality is temporarily removed in later snapshots and the full release of 1.8, but returns soon after, and the missing texture can still be seen via invalid data value items.
** In 17w47a, invalid data value items are effectively removed, however it is still possible to generate missing texture particles if the air item is specified. From 24w09a, this could crash the game, and from 1.20.5 Pre-Release 1, is now forbidden.
** Since 21w42a, it has been possible to create block_marker particles which use the missing texture by referencing air, cave air or void air. This continues to the latest version.
* The missing texture can be seen in the official version banners for [[14w10a]] and [[17w47a]], and is also referenced by the banner for [[13w24a]].
<gallery>
14w10a Banner.png|14w10a
17w47a.gif|17w47a
</gallery>
== Gallery ==
<gallery>
Rain Missing Texture.png|What it looks like when the rain texture is missing.
debugempty.png|The missing texture graphic used in several Source Engine games (<samp>debugempty.vtf</samp>), on which the ''Minecraft'' texture is based.
Missing texture in Classic JS.png|The [[Classic 0.0.23a 01 (remake)|2019 Classic remake]] also has a missing texture.
</gallery>
== Notes ==
{{notelist}}
=== ID lists ===
Lists of relevant IDs for commands listed in previous sections.
<references group="ids"/>
== References ==
{{reflist}}
== Navigation ==
{{Navbox gameplay}}
[[ja:欠落したテクスチャとモデル]]
[[zh:无效纹理与模型]]