All Mods Resource Packs Data Packs Shaders Modpacks Plugins
CustomHud

CustomHud

by Minenash • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

CustomHud is a highly configurable variable-based text HUD. While there's mods that also add text HUDS or allow you to customize the F3 debug screen, they aren't fully customizable, their customization is mostly limited to colors and if a line/module is displayed or not. CustomHud allows you to put the data exactly where you want (in addition to full color support, including hex), and it does it with a "variable" type system.

In the profile file you write what you want to see and use "variables" like {fps}, {version}, {block_x}, etc where you want them to be. There's also a feature called conditionals, which allows you to change what's displayed depending on the output of certain variables. Documentation and in-depth examples of variables and conditionals can be found in the wiki.

Here's a full example: CustomHud Example Output

The config that produced it:

Minecraft {version} ({client_version})
&a{fps}&f/{max_fps} fps {{vsync, "(vsync)", ""}}
&cX&aY&bZ: &c{bx} &a{by} &b{bz}
Facing: &a{facing}&f (&a{yaw}&f, &a{pitch}&f)
Looking {{tbx, "at {tbx} {tby} {tbz}", "into the abyss"}}

Mem: &a{memory_used_percentage}%&f of {total_memory}MiB, &a{allocated_percentage}%&f allocated
{{tps, "&a{tps}&f tps (&a{ms_ticks}&f ms ticks)", ""}}

{{nether, "Overworld:", "Nether:"}}&a {nx} {nz}
Time: &a{real_time:HH:mm}

For a look at all of the features that CustomHud offers, like putting info on all 4 corners, changing the background color, a better look on variables and conditionals, and more, check out the project's wiki.

This is a Fabric Mod, there's no plans for a Forge port, but the license allows you to port it yourself if you wish.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.x
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.21.5
Fabric
16h ago 1
1.21.5
Fabric
16h ago 1
1.21.5
Fabric
16h ago 1
1.21.4
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.20.6
Fabric
16h ago 1
1.20.4
Fabric
16h ago 1
1.21.5
Fabric
16h ago 1
1.21.4
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.20.6
Fabric
16h ago 1
1.20.4
Fabric
16h ago 1
1.20.6
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.20.6
Fabric
16h ago 1
1.20.4
Fabric
16h ago 1
1.20.4
Fabric
16h ago 1
1.20.4
Fabric
16h ago 1
1.20.4
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.20.x
Fabric
16h ago 1
1.20.1
Fabric
16h ago 1
1.21.x
Fabric
16h ago 1
1.20.x
Fabric
16h ago 1
1.20.1
Fabric
16h ago 1
1.20.x
Fabric
16h ago 1
1.20.x
Fabric
16h ago 1
1.20.x
Fabric
16h ago 1
1.20.x
Fabric
16h ago 1
1.20.x
Fabric
16h ago 1
1.20.2
Fabric
16h ago 1
1.20.2
Fabric
16h ago 1
1.20.1
Fabric
16h ago 1
1.20.x
Fabric
16h ago 1
1.19.4
Fabric
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.2
Fabric
16h ago 1
1.19.4
Fabric
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.2
Fabric
16h ago 1
1.19.3
Fabric
16h ago 1
1.19.2
Fabric
16h ago 1
1.19.x
Fabric
16h ago 1
1.19
Fabric
16h ago 1
1.18.2
Fabric
16h ago 1
1.18.2
Fabric
16h ago 1
1.18.x
Fabric
16h ago 1
1.17.x
Fabric
16h ago 1
1.16.x
Fabric
16h ago 1
1.17
Fabric
16h ago 1
1.16.x
Fabric
16h ago 1
1.17
Fabric
16h ago 1
1.16.x
Fabric
16h ago 1
1.16.x
Fabric
16h ago 1
1.16.x
Fabric
16h ago 1
1.16.x
Fabric
16h ago 1
  • What's New?**
  • Fixed crosshair not rendering when customhud is disabled
  • Fixed translation key for Keybind category
  • What's New?**
  • Fixed start-up crash
  • Don't you love when a mixin works in dev, but not in production for no discernible reason?
  • What's New?**
  • Updated to 1.21.9/10
  • Pack formats are now 'major.minor' instead of a single number. The following changes reflect that:
  • {rp_version} / {resource_pack_version} are now string variables. Ex: 88.0
  • {dp_version} / {datapack_version} are also now string variables
  • Added {rp_major} / {rp_major_version} / {resource_pack_major_version}
  • Added {rp_minor} / {rp_minor_version} / {resource_pack_minor_version}
  • Added {dp_major} / {dp_major_version} / {datapack_major_version}
  • Added {dp_minor} / {dp_minor_version} / {datapack_minor_version}
  • Similar change to the resource pack and datapack list variables:
  • {p:version} has been replaced with {p:min} / {p:min_version} and {p:max} / {p:max_version}
  • Added: {p:min_major} / {p:min_version_major} and {p:max_major} / {p:max_version_major}
  • What's New?**
  • Updated to 1.21.6 through 1.21.8
  • Lost the ability to use {gizmo} due to a change in 1.21.6
  • What's New?**
  • The velocity-related errors actually make sense now.
<b>What's New?</b>
<ul>
<li>Section offsets now support expressions <ul>
<li>Example: <code>==Section:TopLeft, x + 5, x + 3==</code></li>
<li>Don't ask why your hud's position would change on your x coords... but.</li>
<li>For real though, it's intended use are values created with get/set variables</li>
</ul></li>
<li>Added Event Variables! <ul>
<li><code>{on_join}</code> - Is true for the first frame after joining a world</li>
<li><code>{on_load}</code> - Is true for the first frame after the profile is (re)loaded</li>
<li>List var <code>on_chat_message</code> / <code>on_chat_msg</code> <ul>
<li>Contains chat message received between last frame and now.</li>
<li>Same child vars as <code>chat_messages</code></li>
</ul></li>
</ul></li>
<li>New icon variable: <code>{crosshair:&lt;texture_path&gt;}</code><ul>
<li>Acts just like <code>{icon:&lt;texture_path&gt;}</code>, but renders how the crosshair renders</li>
</ul></li>
<li>Variables related to the freezing (staying in powdered snow): <ul>
<li><code>{is_frozen}</code> , <code>{is_freezing}</code> , <code>{frozen_per}</code> / <code>{frozen_percentage}</code> , <code>{frozen_ticks}</code></li>
</ul></li>
<li>Is on fire: <code>{on_fire}</code></li>
<li>Attack Cooldown: <code>{attack_cooldown}</code></li>
<li>Added child variables for items related to cooldowns:<ul>
<li><code>{i:cooldown}</code> , <code>{i:max_cooldown}</code> , <code>{i:cooling_down}</code> , <code>{i:cooldown_percentage}</code> / <code>{i:cooldown_per}</code></li>
</ul></li>
<li>Facing variables:<ul>
<li>Added variables that display 8 directions instead of 4: <code>{facing8}</code> and <code>{facing8_short}</code><ul>
<li>north, northeast, east, southeast, south, southwest, west, northwest</li>
</ul></li>
<li><code>{facing}</code> and <code>{facing_short}</code> are now alias of <code>{facing4}</code> and <code>{facing4_short}</code></li>
</ul></li>
<li>Velocity Variables have been overhauled<ul>
<li><code>{velocity}</code> is now an alias of <code>{velocity_xyz}</code></li>
<li>You can now have any combination of XYZ (Ex: <code>{velocity_x}</code> and <code>{velocity_xy}</code>)</li>
<li>Adding _kph to the end still works (Ex: <code>{velocity_x_kph}</code>)</li>
<li>You can now also end it with _mph for miles per hour! (Ex: <code>{velocity_x_mph}</code>)</li>
<li>You can now set a "smoothing" value from 0-19<ul>
<li>A value below 0 will act as 0, and a value above 19 will act as 19. This also supports expressions!</li>
<li>Ex: <code>{velocity_xz[4]}</code>. This will compare the positions between now and 5 ticks ago to calculate the velocity)</li>
<li>Before, to make it more readable, it only updated every 5th render tick. However it's been a common request for
it to update every tick. In v4, <code>-freq#</code> / <code>-v#</code> was added, which limits how fast a
variable updates on the hud. Despite this sounding like it would be a good substitute for the old system, it
is not, as it loses the "smoothing" that updating the actual change in distance would have</li>
</ul></li>
</ul></li>
</ul>
  • What's New?**
  • Fixed Icon variables not working
  • While v4 releases will still be in the beta release channel until docs are fully done, they will now start to follow normal version numbering instead of the betas. This makes tracking versions that are bug fixes or new features easier
  • What's New?**
  • Fixed Icon variables not working
  • While v4 releases will still be in the beta release channel until docs are fully done, they will now start to follow normal version numbering instead of the betas. This makes tracking versions that are bug fixes or new features easier
  • What's New?**
  • Fixed Icon variables not working
  • While v4 releases will still be in the beta release channel until docs are fully done, they will now start to follow normal version numbering instead of the betas. This makes tracking versions that are bug fixes or new features easier
  • What's New?**
  • While v4 releases will still be in the beta release channel until docs are fully done, they will now start to follow normal version numbering instead of the betas. This makes tracking versions that are bug fixes or new features easier
  • What's New?**
  • While v4 releases will still be in the beta release channel until docs are fully done, they will now start to follow normal version numbering instead of the betas. This makes tracking versions that are bug fixes or new features easier
  • What's New?**
  • While v4 releases will still be in the beta release channel until docs are fully done, they will now start to follow normal version numbering instead of the betas. This makes tracking versions that are bug fixes or new features easier
  • What's new?**
  • Updated to 1.21.5
  • What's New?**
  • Updated to 1.21.4
  • Fixed crash when using debug crosshair
  • What's New?**
  • Updated to 1.21.2/3
  • Fixed crash when using debug crosshair
  • What's fixed?**
  • Fixed crash when using debug crosshair

  • What's fixed?**
  • Fixed crash when using debug crosshair
  • What's fixed?**
  • Ported fixes from 1.21's Beta 6-8, which are:
  • Fixed default profiles not showing on some systems
  • Fixed a crash when loaded on cursed systems (like a phone)
  • Fixed crash when doing &{{...}}
  • Fixed errors in logs when parsing incomplete conditionals
  • Improved (player-facing) error messages when parsing incomplete conditionals
  • Fixed {target_fluid_icon} (now shows bucket item)
  • Fixed text/icons not showing above the hotbar
  • Fixed extra line when a section ends with a conditional/list that ends in a line
  • Fixed Optifine conflict
  • Fixed Legacy4j conflict
  • What's fixed?**
  • Ported fixes from 1.21's Beta 6-8, which are:
  • Fixed default profiles not showing on some systems
  • Fixed a crash when loaded on cursed systems (like a phone)
  • Fixed crash when doing &{{...}}
  • Fixed errors in logs when parsing incomplete conditionals
  • Improved (player-facing) error messages when parsing incomplete conditionals
  • Fixed {target_fluid_icon} (now shows bucket item)
  • Fixed text/icons not showing above the hotbar
  • Fixed extra line when a section ends with a conditional/list that ends in a line
  • Fixed WhenHudHidden just being broken
  • Fixed Optifine conflict
  • Fixed Legacy4j conflict
  • What's Fixed?**
  • Fixed WhenHudHidden just being broken
  • Fixed Optifine conflict
  • Fixed Legacy4j conflict
  • What's Fixed?**
  • Fixed {target_fluid_icon} (now shows bucket item)
  • Fixed text/icons not showing above the hotbar
  • Fixed extra line when a section ends with a conditional/list that ends in a line
  • What's Fixed?**
  • Fixed default profiles not showing on some systems
  • Fixed a crash when loaded on cursed systems (like a phone)
  • Fixed crash when doing &{{...}}
  • Fixed errors in logs when parsing incomplete conditionals
  • Improved (player-facing) error messages when parsing incomplete conditionals
  • What's different in the 1.21 port:**
  • attributes's a:modifiers's {am:name} is now alias of {am:id}
  • {am:id} is not an Identifier rather than a string uuid
  • subtitles now has the child variable {s:sounds}
  • Same child vars has subtitles exluding id/name
  • What's new in Beta 4?**
  • item's i:can_destroy and i:can_place_on now has child variable c:icon
  • Added alias for enchant's max_level: max_lvl
  • Fabric loader/api resource packs are now properly filtered for newer fapi versions
  • mods's m:authors, m:contributors, m:credits, and m:licenses list variables had their sole child variable renamed to <prefix>:name

  • What's different in the 1.20.6 Port:**
  • Parity with v3 1.20.6
  • {block_reach_distance} / {block_reach}
  • How far away you can interact with blocks
  • {entity_reach_distance} / {entity_reach}
  • How far away you can interact with entities
  • {reach_distance}/{reach} are now aliases of this
  • Added {mc:group} child var to mod's m:contributors and m:credits
  • Removed item child variables {i:hide_flags}, list i:info_shown, list i:info_hide
  • In 1.20.6, there is no longer a reliable way to get this info
  • Removed enchant's child variable {e:rarity}
  • It doesn't seem to exist in 1.20.6?

  • What's new in Beta 4?**
  • item's i:can_destroy and i:can_place_on now has child variable c:icon
  • Added alias for enchant's max_level: max_lvl
  • Fabric loader/api resource packs are now properly filtered for newer fapi versions
  • mods's m:authors, m:contributors, m:credits, and m:licenses list variables had their sole child variable renamed to <prefix>:name
  • Changes:**
  • Record variables now support the formatted flag (-f)
  • {last_hit_time_ago} → {last_hit_ago}, {lhta} → {lha}

  • Fixes:**
  • Fixed -shX not working in variables like {item:main:icon -sh3} caused by me fixing -shX,Y in beta 2
  • Fixed number/boolean values for Text variables with no value
  • {tps_samples} now is actual samples of tps, not samples of tick_ms
  • Fixes for {set:<name>, <value>}
  • No longer adds lines in multi-line for loops
  • conditionals/list no longer shows as "null"
  • variables without a text value, no longer show as "null"
  • Fixed Crash with immediately using local theming after starting a section with max/set width
  • Fixed hex colors of length 3 or 6 not working correctly for foreground/background color theme options
  • Fixed status effect icons breaking when using the width flag (-w)
  • Fixed icons with translucency not being translucent
  • Added:**
  • {item:<slot>:inv_count} and {item:<slot>:inv_count_icon}
  • The amount of that item in your entire inventory
  • Also works in lists, like items's {i:inv_count}
  • -r/-reverse flag for list variables

  • Fixes:**
  • effects, pos_effects, neu_effects, and neg_effects are now sorted by which will end the soonest
  • Fixed the -rn (roman-numeral) flag not working
  • Fixed the -shX,Y (shift) flag not working in variables like {item:main:icon -sh0,2}
  • Fixed flags not working in variables like {item:main -uc}
  • Fixed empty storage-capable items not showing up in {item:<slot>:items} / {i:items}
  • What's New?**
  • Fixed crash with Lunar/Feather
  • What's New?**
  • Fixed crash with Lunar/Feather
CustomHud Icon
Download CustomHud
Select game version
Select platform