Minecraft:Icons.png
More actions
- REDIRECT Template:Work in progress
Template:RedrScript error: No such module "Exclusive".Template:Outdated featureicons.png is a texture sheet used by the game to store the textures of several UI elements.
Content
icons.png contains the sprites of older UI elements, including health, hunger, experience, and Minecraft:armor.
in Template:Editions, unlike a large amount of texture sheets, it was still used until recent updates. However, it has now been split into multiple files in the hud folder (assets/minecraft/textures/gui/sprites/hud).
The following image map shows how the elements are used when hovered over. Several of them are unused and therefore have no label.<ref>Template:Cite</ref>
<imagemap> File:icons-tripled.png|768px|border|center
rect 0 0 48 48 Minecraft:Cursor
rect 48 0 75 27 Heart outline rect 48 0 102 27 Half heart outline rect 48 0 156 27 Half heart outline
rect 48 0 183 27 Health heart rect 48 0 210 27 Half health heart rect 48 0 237 27 Health heart flashed when hurt rect 48 0 264 27 Half health heart flashed when hurt
rect 48 0 291 27 Poisoned heart rect 48 0 318 27 Half poisoned heart rect 48 0 345 27 Poisoned heart flashed when hurt rect 48 0 372 27 Half poisoned heart flashed when hurt
rect 48 0 399 27 Wither heart rect 48 0 426 27 Half wither heart rect 48 0 453 27 Wither heart, flashed when hurt rect 48 0 480 27 Half wither heart, flashed when hurt
rect 48 0 507 27 Absorption heart rect 48 0 534 27 Half absorption heart
rect 48 27 75 54 Empty armor slot
rect 48 27 102 54 Half armor slot
rect 48 27 129 54 Full armor slot
rect 48 27 156 54 Full armor slot
rect 48 27 183 54 Mob (horse) heart outline rect 48 27 210 54 Mob (horse) half heart outline rect 48 27 264 54 Mob (horse) half heart outline
rect 48 27 291 54 Mob (horse) health heart rect 48 27 318 54 Half mob (horse) health heart rect 48 27 345 54 Mob (horse) health heart flashed when hurt rect 48 27 372 54 Half mob (horse) health heart flashed when hurt
rect 48 54 75 81 Underwater bubble
rect 48 54 102 81 Underwater bubble popping
rect 48 81 75 108 Haunch outline
rect 48 81 102 108 Half haunch outline
rect 48 81 183 108 Haunch rect 48 81 210 108 Half haunch
rect 48 81 291 108 Hunger haunch rect 48 81 318 108 Half hunger haunch
rect 48 135 75 162 Heart outline (hardcore) rect 48 135 102 162 Half heart outline (hardcore) rect 48 135 156 162 Half heart outline
rect 48 135 183 162 Health heart (hardcore) rect 48 135 210 162 Half health heart (hardcore) rect 48 135 237 162 Health heart flashed when hurt (hardcore) rect 48 135 264 162 Half health heart flashed when hurt (hardcore)
rect 48 135 291 162 Poisoned heart (hardcore) rect 48 135 318 162 Half poisoned heart (hardcore) rect 48 135 345 162 Poisoned heart flashed when hurt (hardcore) rect 48 135 372 162 Half poisoned heart flashed when hurt (hardcore)
rect 48 135 399 162 Wither heart (hardcore) rect 48 135 426 162 Half wither heart (hardcore) rect 48 135 453 162 Wither heart, flashed when hurt (hardcore) rect 48 135 480 162 Half wither heart, flashed when hurt (hardcore)
rect 48 135 507 162 Absorption heart (hardcore)
rect 48 135 534 162 Half absorption heart (hardcore)
rect 0 192 546 207 Empty experience bar
rect 0 207 546 222 Full experience bar
rect 0 252 546 267 Empty horse jump bar rect 0 267 546 282 Full horse jump bar
rect 0 282 108 345 Weapon readiness indicators (hotbar) rect 108 282 252 310 Weapon readiness indicators (crosshair)
rect 0 48 30 228 Player list signal strength rect 0 531 30 672 Server list signal strength rect 30 531 60 648 Server ping animation frames </imagemap>
Logic for determining what heart or haunch icon to use:
<syntaxhighlight lang="python">
def draw_heart(x, y):
if is_hardcore:
v = 45
else:
v = 0
# Draw background/outline
if recently_changed:
# White outline
draw(x, y, 16 + 9, v, 9, 9) # 25
else:
# Black outline
draw(x, y, 16, v, 9, 9)
if not is_absorption_heart:
# Above check did not exist until 20w49a, causing invisible absorption hearts
# https://bugs.mojang.com/browse/MC-18880
if is_poisoned:
u = 16 + 36 # 52
elif is_withered:
u = 16 + 72 # 88
elif is_frozen:
u = 16 + 126 # 142
else:
u = 16
if recently_lost:
# These are always drawn, but are overwritten in most cases
# (They draw up to the previous health value, while the regular hearts
# draw to the current health value)
# This references a nonexistent texture when frozen:
# https://bugs.mojang.com/browse/MC-206881
if half_heart:
draw(x, y, u + 54 + 9, v, 9, 9) # 79 / 115 / 151 / 205 (invalid)
else:
draw(x, y, u + 54, v, 9, 9) # 70 / 106 / 142 / 196 (invalid)
if is_absorption_heart:
# Prior to MC-18880 being fixed this could use missing textures
# After the fix u is always 16
if half_heart:
draw(x, y, u + 144 + 9, v, 9, 9) # 169
else:
draw(x, y, u + 144, v, 9, 9) # 160
else:
if half_heart:
draw(x, y, u + 36 + 9, v, 9, 9) # 61 / 97 / 133 / 203
else:
draw(x, y, u + 36, v, 9, 9) # 52 / 88 / 124 / 194
# 34 and 43 (red outline, white outline) seem to be unused)
def draw_haunch(x, y):
# Draw background/outline
if has_hunger:
# Green outline
draw(x, y, 16 + 13 * 9, 27, 9, 9) # 133
u = 16 + 36 # 52
else:
# Black outline
draw(x, y, 16, 27, 9, 9)
u = 16
if half_haunch:
draw(x, y, u + 45, 27, 9, 9) # 61 / 97
else:
draw(x, y, u + 36, 27, 9, 9) # 52 / 88
# 25, 34, 43, and 124 (white, red, white, and brown outlines) go unused # As are 70, 79, 106, 155 (lighter variants that could have served the same # purpose as recently lost hearts, but that doesn't really make sense for # hunger)
</syntaxhighlight>
There are a few additional invisible textures that have alpha set to zero but still have color data.
History
- REDIRECT Template:Incomplete section
The file was compressed in 13w09c, 15w49a, 1.11-pre1, 17w50a and 19w41a.
Java Edition
Bedrock Edition
Gallery
-
Most of the historically unused textures in icons.png, excluding those whose positions would have coincided.
See also
- Resource pack
References
<references group="">
</references>
| |||||||||||||
| |||||||||||||
| |||||||||||||
ja:Icons.png pt:Icons.png