Описание
**An in-game HUD engine for mod creators**
[](https://discord.com/invite/Rqpn3C7yR5)
[](https://tanishisherewith.gitbook.io/dynamic-hud)
DynamicHUD is a library. It is an API for developers to create customizable HUD elements for their mods that players can modify and interact with.
## Features
| Feature | Description |
| :--- | :--- |
| **Automatic Saving & Loading** | Widgets automatically save their state and reload upon game restart |
| **Interactive Context Menus** | Right-click widgets supporting menus to open customisable sliders, color pickers, runnables, and lists/enum selection |
| **Screen Boundary Clamping** | Made to prevent widgets from clipping outside window boundaries |
| **Grid Snapping and alignment** | Smart snapping along other widgets and alignment grid displayed for your convienence (can be toggled in settings) |
| **Rendering Utilities** | Use `DrawHelper`, `ColorHelper`, and `TextureHelper` to simplify rendering code like drawing rounded rectangles, textures, chroma text, gradients,outlines, shadows, any shape, scaling utilities and scrollable text |
| **Animation system** | DynamicHUD comes with a 2D easing based animation system to help your widgets and menus feel smooth |
| **Wiki** | https://tanishisherewith.gitbook.io/dynamic-hud |
> DynamicHUD has a dedicated settings button when you open the option screen beside the 'FOV' slider which you can use to customise your widgets and menus.
## Keybinds (v4.0.0+)
> Currently these keybinds are unmodifiable.
>
Open the **DynamicHUD Settings Button** located next to the **FOV Slider** in the Minecraft options screen to modify DynamicHUD's settings.
### Selection & Grouping
| Action | Control | Details |
| :--- | :--- | :--- |
| **Box Select** | `Click + Drag` on canvas | Selects all widgets inside the drawn boundary box |
| **Multi-Select** | `CTRL + Left Click` | Toggles selection state on individual elements |
| **Group / Ungroup** | `CTRL + G` | Links selected elements together (shows a green dashed outline) |
| **Grid Snapping** | `Shift` | Hold while dragging to lock elements to nearest grid. Grid size can be changed in the settings (`Snap Size)` |
> *Note: Locked widgets (`isLocked = true`) remain anchored in place and will not move when dragging a group.*
### Widget Scaling
| Method | How to Use |
| :--- | :--- |
| **Accurate** | Hover over any widget and use `CTRL + Scroll Wheel` |
| **Simple** | Click and drag the small white dot on the bottom-right corner of a selected widget |
## Showcase
Showcase Video
## Quick Setup (For Players)
1. Ensure you have **[Fabric Loader](https://fabricmc.net/)**, **[Fabric API](https://modrinth.com/mod/fabric-api/)**. (**Note**: *You may also need **[YACL](https://modrinth.com/mod/yacl)** installed for older versions of DynamicHUD*).
3. Download the latest `.jar` from the **[Releases Tab](https://modrinth.com/mod/dynamichud/versions)**.
4. Drop the file into your `.minecraft/mods` directory.
5. Launch the game and enjoy ;)
## Getting Started For Developers
> Visit our [wiki](https://tanishisherewith.gitbook.io/dynamic-hud) for more detailed documentation.
To get started, begin with adding DynamicHUD as a dependency in your `build.gradle` file:
```groovy
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
maven {
name 'Xander Maven'
url 'https://maven.isxander.dev/releases'
}
}
dependencies {
// Dynamic HUD
modImplementation 'com.github.V-Fast:DynamicHUD:'
}
```
## Contributing
Contributions are welcome! If you’re interested to do any help, please review our [contributing guidelines](https://github.com/V-Fast/DynamicHUD/blob/master/CONTRIBUTING.md).
I myself am a solo developer in college and still learning to code. Updating to latest versions may take time. Any help will be greatly appreciated!
## License
DynamicHUD is released under the MIT License. Feel free to use and modify it in your mods, with proper attribution back to this repository.
## Support
Need assistance or have suggestions? Join our [Discord](https://discord.com/invite/Rqpn3C7yR5) community or submit an issue on our GitHub [repository](https://github.com/V-Fast/DynamicHUD).