Tags
Creators
Details
All versions
4.1.0
Release
DynamicHUD 4.1.0last month 143
Uploaded by
Compatibility
Minecraft: Java Edition
1.21.11
Platform
Fabric
Supported environments
Client-side
Required content
Any compatible version
Changes
This version comes with many important features.
Major Highlights for Users:
- Smarter Snap & Anchoring: Widgets snapped to screen centers or margins will now adapt correctly and maintain their precise layout positions on screen resize/resolution changes.
- Drag Selection Window: Click and drag on empty space to draw a selection window to select multiple widgets at once and drag them together.
CTRL + LeftClickMulti-selection: HoldCTRLand click on individual widgets to toggle selection, allowing you to select and move multiple custom widgets.- Widget Grouping (
CTRL + G): Select multiple widgets and pressCTRL + Gto group them. Grouped widgets move together. - Dynamic Scaling Tools: Drag the new scale dot on the bottom-right corner of a selected widget, or hover over a widget and press
CTRL + Mouse Wheel Scrollto resize it. - Name Truncation: Long option names are now automatically truncated with
..., preventing overlap in compact context menus. - Locked Widget Fix: Locked widgets now correctly adapt their positions on screen resizing instead of staying at stale coordinates.
- YACL Global Configurations:
Enable Drag Selection: Toggles drawing select-dragging box overlays.Dashed Outline Color & Thickness: Custom colors and width parameters for widget guidelines.Show Lock Button & Lock Size: Custom sizes and display toggles for lock/unlock icons.Scale Dot Size & Scale Sensitivity: Fine-tune size and scale dragging speeds.Smart Snapping & Snap Size: Adjust axis alignments and snap grid sizes.
Major Changes for Developers:
- [Feat.] Node-Based Layouts: The
LayoutEnginenow processes context menu layouts using tree nodes (ColumnNode,GridNode,RowNode, etc.). (Currently used by ClassicSkin) - [Feat.] Properties Cleanup: Cleaned up the redundant
paddingandheightOffsetproperties fromContextMenuProperties, offloading positioning and gaps to layout strategies. - [Feat.] Keybind Options: Added support and documentation for
KeybindOptionallowing GLFW keyboard bindings to have dedicated UI option card renderers. - [Feat.] Widget Groups: Introduced the
WidgetGroupclass for linking multiple widgets together, supporting unlocked member drag propagation and unified outline box rendering. - [Feat.] Better Anchors: Replaced absolute offsets with precise anchoring. Widgets automatically detect their closest screen zone (out of 9 possible zones) to calculate precise relative positioning on window resizing.
- [Fix.] Screen Resize Injections: Fixed a bug in
ScreenMixinwhere the mixin was passing the old screen sizes instead of the new dimensions during a resize callback. - [Fix.] UUID Unique Identifiers: Replaced String-based
UIDunique identifiers in widgets withjava.util.UUID. - [Fix.] Option Name Truncation: Added utility functions
Util.getTruncatedNameandUtil.drawTruncatedScaledTextinUtil.javato support clean text rendering. - [Feat.] Base-Class Skin Renderers: Derived skins can now inherit their option renderers from the base class if not explicitly overridden.
The Wiki has also been updated.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:hQbzUScT:8tX9fvJP"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:hQbzUScT:8tX9fvJP"
}

