CustomHud v4 Changelog

New Config Screen

New Language Features

New Colors and Formatting

New Variable Flags

New Theming

Reminder that the local variant has 1 less = on both sides

  Scaling (Global only)   Visual (Works Globally and Locally)   Change how the profile is read (Works Globally and Locally)

New List Variables

List variables will be shown without the {} around them, as they are intended to be used in the syntax laid out in Language Features

The e: and likewise can be changed with the -pre:<prefix> list flag.
Example: {effects -pre:eff, "{eff:icon}"}

You can reverse the list using the -r / -reverse list flag.
Example: {effects -r, "{eff:icon}"}

effects
pos_effects / positive_effects
neg_effects / negative_effects
neu_effects / neutral_effects
 Child Vars:
  • {e:name} , {e:id} (see ID variables)
  • {e:amp} / {e:amplification} (how it's stored, 0 to 127 then -128 to -1)
  • {e:lvl} / {e:level} (1 to 256)
  • {e:dur} / {e:duration} , {e:inf} / {e:infinite}
  • {e:ambient} , {e:show_particles} / {e:particles} , {e:show_icon}
  • {e:category} / {e:cat}
  • {e:color} (see new color feature)
  • {e:icon} , {e:icon_no_bg}
players
 Child Vars:
  • {p:name} / {p:display_name} , {p:username}
  • {p:id} / {p:uuid}
  • {p:latency} , {p:list_score}
  • {p:gamemode} , {p:survival} , {p:creative} , {p:adventure} , {p:spectator}
  • {p:head} (icon)
  • {p:team} , {p:team:<team method>} (see {team:<team>:<method>})
    • Example {p:team:id}
subtitles
 Child Vars:
  • {s:id} , {s:name}
  • {s:age} , {s:time}
  • {s:x} , {s:y} , {s:z} , {s:dist} / {s:distance}
  • {s:dir} / {s:direction} , {s:left} , {s:right}
  • {s:dir_yaw} / {s:direction_yaw},{s:dir_pitch} , {s:direction_pitch}
  • {s:alpha} (allows you to control the fade, see new color feature)
  • List Var {s:sounds} (1.21+, same child vars as this, excluding id/name)
target_block_properties / target_block_props / tbprops
target_fluid_properties / target_fluid_props / tfprops
 Child Vars:
  • {p:name} , {p:value} , {p:type} , {p:full_type}
target_block_tags / tbt
target_fluid_tags / tft
 Child Vars:
  • {t:name} , {t:id}
target_block_powers / tbpowers
 Child Vars:
  • {r:dir} / {r:direction}
  • {r:odir} / {r:opposite_direction}
  • {r:power}
  • {r:strong} / {r:strong_power}
target_villager_offers , tvo
 Child Vars:
  • {o:uses},{o:max_uses}
  • {o:special_price},{o:demand_bonus},{o:price_multiplier}
  • {o:disabled},{o:can_afford} (will also look into shulker boxes)

  • {o:first:<method>}

  • {o:first_base:<method>}
  • {o:second:<method>}
  • {o:result:<method>}
    • For the 4 above: See items child vars, method is the same, but without the i:
  • List Var {o:first} , {o:first_base}
  • List Var {o:second}
  • List Var {o:result}
    • For the 4 above: See items child vars
attributes
target_entity_attributes / target_entity_attrs / teas
hooked_entity_attributes / hooked_entity_attrs / heas
 If not in singleplayer, you will only see tracked ones  Child Vars:
  • {a:name} , {a:id}
  • {a:value} , {a:base_value} , {a:default_value}
  • {a:tracked} (if the server sends it to the client)
  • List Var: a:modifiers. Child Vars:
    • {am:name} (1.21+: alias of {am:id})
    • {am:id} (1.20.6-: UUID, 1.21+: Identifier)
    • {am:value}
    • {am:op} / {am:operatopn} (+ (addition), ☒ (multiply base), × (multiply total))
    • {am:op_name} , {am:operation_name} (Addition, Multiplication Base, Multiplication Total)
items
all_items
quipped_items
armor_items
inv_items
inv_items_unpacked
hotbar_items
- Hotbar + Inventory. Stacks are combined
- Hotbar + Inventory. Includes items from Shulker Boxes / similar
- Hotbar + Inventory + Armor + Offhand
- Armor + Mainhand + Offhand
- Armor
- Inventory
- Hotbar
 Child Vars:
  • {i:id} , {i:item} (Item name)
  • {i:name} (Custom name of the item)
  • {i:count} , {i:max_count} , {i:inv_count}
  • {i:dur} / {i:durability} , {i:max_dur} , {i:max_durability}
  • {i:dur_per} , {i:durability_percentage}
  • {i:dur_color} , {i:durability_color} (See new color feature)
  • {i:unbreakable} , {i:repair_cost}
  • {i:rarity} (The name of rarity, can also be used with the new color feature)
  • {i:armor_slot} (which armor slot the item can go in)
  • {i:icon} , {i:inv_count_icon}
  • List Var i:enchants (See i:enchants section above)
  • List Var i:lore with child var {lore:line}
  • List Var i:attributes / i:attrs (See Item Attribute Modifiers child vars)
  • List Var i:can_destroy and i:can_place_on
    • Children {c:name} , {c:id}
  • List Var i:tags with children {t:name} and {t:id}
  • List Var i:items (items stored in stuff like Shulker Boxes and bundles). Same child vars.
  • List Var i:items_compact (items stored in stuff like Shulker Boxes and bundles, compacted). Same child vars.
  • i:enchant:<id>:<method>
    • Ex: i:enchant:sharpness:full
    • Methods:
      • name , id
      • level / lvl (like IV)
      • max_level (max level the enchantment can be)
      • full (like Sharpness IV)
      • num / number (0 indexed)
      • max_num , max_number (0 indexed)
      • rarity
  • 1.20.4 Only:
    • {i:hide_flags}
    • List Var i:info_shown and i:info_hidden with child {ii:info}
item:<slot>:enchants
 Child Vars:
  • {e:name} , {e:id}
  • {e:level} / {e:lvl} (like IV)
  • {e:max_level} (max level the enchantment can be)
  • {e:full} (like Sharpness IV)
  • {e:num} / {e:number} (0 indexed)
  • {e:max_num} , {e:max_number} (0 indexed)
  • {e:rarity} (1.20.4 only)
item:<slot>:lore
 Child Vars:
  • {lore:line}
item:<slot>:attributes / item:<slot>:attrs
attribute's a:modifiers
 Child Vars:
  • {am:slot} (where the item has to be for the attr to apply) Attribute Info
  • {am:attribute} / {am:attr} (attribute name)
  • {am:attribute_id} , {am:attr_id}
  • {am:attribute_value} , {am:attr_value}
  • {am:default_value} , {am:tracked} Attribute Modifier Info
  • {am:modifier_name} / {am:mod_name} (1.21+: alias of {am:modifier_id})
  • {am:modifier_id} / {am:mod_id} (1.20.6-: UUID, 1.21+: Identifier)
  • {am:mod_amount} , {am:amount}
  • {am:op} , {am:operation} (+ (addition), ☒ (multiply base), × (multiply total))
  • {am:op_name} , {am:operation_name} (Addition, Multiplication Base, Multiplication Total)
item:<slot>:can_destroy , item:<slot>:can_place_on
 Child Vars:
  • {c:name} , {c:id}
item:<slot>:info_shown , item:<slot>:info_hidden
 Child Vars:
  • {ii:info}
teams
 Child Vars:
  • {t:name} , {t:id}
  • {t:color} (see new color feature)
  • {t:friendly_fire} , {t:see_friendly_invis} , {t:collision}
  • {t:name_tag_visibility} / {t:name_tag} , {t:death_msg_visibility} / {t:death_msg}
  • List Var t:members with child {m:member} (members include offline players)
  • List Var t:online_players / players (See players child vars)
objectives
 Child Vars:
  • {o:name} , {o:id}
  • {o:criteria} / {o:criterion} (Singleplayer only)
  • {o:display_slot}
  • List Var o:scores (see below)
  • List Var o:online_scores (see below)
objective:<objective_id>:scores
objective:<objective_id>:online_scores
objective's o:scores , o:online_scores
 Child Vars:
  • {os:name} / {os:holder} , {os:display} / {os:display_name}
  • {os:score} / {os:value}
scores
score:<player>
 Child Vars:
  • {ss:name} (objective name)
  • {ss:id} (objective id)
  • {ss:criteria} / {ss:criterion} (Singleplayer only)
  • {ss:display_slot}
  • {ss:score} / {ss:value} (player's score for this objective)
bossbars all_bossbars (Singleplayer only)
 Child Vars:
  • {bb:name} , {bb:uuid}
  • {bb:id} (Singpleplayer only, and only for command made bossbars),
  • {bb:percent} / {bb:per} / {bb:value}
  • {bb:darken_sky} , {bb:dragon_music} , {bb:thickens_fog}
  • {bb:style} , {bb:color} , {bb:text_color}
  • {bb:enabled} / {bb:visible} (Singleplayer only)
  • {bb:icon}
  • List Var bb:players (See players child vars)
    • A list of players that can see the bossbar, Singleplayer only
records (Currently playing records)
 Child Vars:
  • {r:name} , {r:id}
  • {r:elapsed} , {r:elapsed_per} / {r:elapsed_percentage}
  • {r:length} , {r:remaining}
  • {r:icon}
profiler_timings
(numbers from the Profiler Chart)
 Child Vars:
  • {pt:name} , {pt:path} , &{pt:color}
  • {pt:per_of_parent} / {pt:percent_of_parent}
  • {pt:per_of_total} / {pt:percent_of_total}
  • {pt:entries} (sub-entries). Same child vars.
 Related:
  • {refresh_profiler_timings} (also available as a keybind)
    • Refreshes timings from the profiler. Don't run often, or it'll flicker
itag:<item_tag> , btag:<block_tag>
 Child Vars:
  • {t:name} , {t:id} , {t:icon}
mods (List of mods, excluding libraries, child-mods, and "non-mods" like java)
all_root (List of mods, excluding child-mods and "non-mods" like java)
all_mods (List of mods, no exclusions)
 Child Vars:
  • {m:name} , {m:id} , {m:version} , {m:hash}
  • {m:summary} , {m:desc} / {m:description}
  • {m:icon}
  • If the mod is a library mod, client mod, etc:
    • {m:library} , {m:client} , {m:deprecated} , {m:patchwork} , {m:from_modpack} , {m:minecraft}
  • List Var m:authors with child var {ma:name}
  • List Var m:contributors with child var {mc:name} (and {mc:group} for 1.20.6)
  • List Var m:credits with child var {mc:name} (and {mc:group} for 1.20.6)
  • List Var m:licenses with child var {ml:name}
  • List Var m:children same child vars
  • List Var m:parent same child vars (only 1 entry)
  • {m:parent:<method>} (method is the same as child, but without the m:)
  • List Var m:badges. Child Vars:
    • {mb:name}
    • {mb:outline_color} , {mb:fill_color}
    • {mb:icon}
resource_packs , disabled_resource_packs
data_packs / datapacks , disabled_data_packs / disabled_datapacks
 Child Vars:
  • {p:name} , {p:id} , {p:version}
  • {p:desc} / {p:description}
  • {p:compatible} , {p:always_enabled} , {p:pinned}
  • {p:icon}
chat_messages
 Child Vars:
  • {cm:type} (Normal, SinglePlayer, System, Chat Error, Not Secure)
  • {cm:text} (the actual message)
  • {cm:time_ago} (how many ticks ago the message was recieved)
  • {p:icon}
loop[<start>,<end>,<step>]
loop[<start>,<end>>] (step = 1)
loop[<end>] (start = 0, step = 1)
  • start, end, and step allows expressions
  • Example:
    • loop[1, health, 2]
  • Child Var: {loop:value}

New Variables

Variable Changes

Other Changes

New Registry System

Fixes