Darkhud

A Minecraft custom hud, using Freemarker template engine...

by
578 Downloads
fabric
Rent Server with this Mod

About this Mod

Darkhud

A Minecraft custom hud, using Freemarker template engine...

img

There are four positions that can be edited

path-to-version folder/config/darkhud/template/lt.ftl => top left corner

path-to-version folder/config/darkhud/template/rt.ftl => upper right corner

path-to-version folder/config/darkhud/template/lb.ftl => left lower corner

path-to-version folder/config/darkhud/template/rb.ftl => lower right corner

Command:

/darkhud query <lt|rt|lb|rb>: Query display status

/darkhud toggle <lt|rt|lb|rb>: Switch display

/darkhud edit <lt|rt|lb|rb>: Edit template file

Inject the following data into the template during use

class DarkhudData {
    // style
    StyleData style;

    // frame rate
    int fps;

    // millisecond per tick
    float mspt;

    // ticks Per Second
    int tps;

    // latency
    int latency;

    // biome id
    String biomeId;

    // dimension id
    String dimensionId;

    // is raining?
    boolean raining;

    // is thundering?
    boolean thundering;

    // is singleplayer?
    boolean singleplayer;

    // time of day
    int time;

    // light related
    LightData light;

    // player related
    PlayerData player;
}
class StyleData {
    String black = "§0";
    String darkBlue = "§1";
    String darkGreen = "§2";
    String darkAqua = "§3";
    String darkRed = "§4";
    String darkPurple = "§5";
    String gold = "§6";
    String gray = "§7";
    String darkGray = "§8";
    String blue = "§9";
    String green = "§a";
    String aqua = "§b";
    String red = "§c";
    String lightPurple = "§d";
    String yellow = "§e";
    String white = "§f";

    String obfuscated = "§k";
    String bold = "§l";
    String strikethrough = "§m";
    String underline = "§n";
    String italic = "§o";

    String reset = "§r";
}
class LightData {
    // block light
    int block;

    // sky light
    int sky;

    // calculated total light
    int total;
}
class PlayerData {
    // targeted block related
    BlockData targetedBlock;

    // targeted entity related
    EntityData targetedEntity;

    // items in hand related
    HandData hand;

    // armor related
    ArmorData armor;
}
class BlockData {
    // is has blockstate?
    boolean has;

    // block name
    String name;

    // block property, key is the property name
    Map<String, PropertyData> properties;
}
class PropertyData {
    // property value
    Object value;

    // possible values of property
    Collection<?> values;
}
class EntityData {
    // is has entity?
    boolean has;

    // entity name
    String name;

    // entity NBT data, https://minecraft.fandom.com/wiki/Entity_format
    // This is a hash value, https://freemarker.apache.org/docs/pgui_datamodel_parent.html
    // Additional data-blocked: nbt.has => Is there any data
    NbtData nbt;

    // default attribute value..., they are not in the NBT data
    // This is a hash value, https://freemarker.apache.org/docs/pgui_datamodel_parent.html
    // e.g. Max Health: darkhud.player.targetedEntity.baseAttribute["generic.max_health"]
    //   => Max Health: 20.0
    BaseAttributeData baseAttribute;
}
class HandData {
    // main hand item
    ItemData main;

    // off hand item
    ItemData off;
}
class ItemData {
    // is has item?
    boolean has;

    // item name
    String name;

    // item nbt data, https://minecraft.fandom.com/wiki/Player.dat_format#Item_structure
    // This is a hash value, https://freemarker.apache.org/docs/pgui_datamodel_parent.html
    // Additional data-blocked: nbt.has => Is there any data
    NbtData nbt;

    // item durable
    // if not, then it's 0
    int maxDamage;
}
class ArmorData {
    // helmet
    ItemData helmet;

    // chestplate
    ItemData chestplate;

    // leggings
    ItemData leggings;

    // boots
    ItemData boots;
}

Available Versions

Darkhud 1.0.1release
MC 1.20, 1.20.1fabric
July 9, 2023
Darkhud 1.0.0release
MC 1.20, 1.20.1fabric
July 7, 2023

How to Install Darkhud on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set fabric Loader

In the panel under "Egg", select the fabric loader and matching Minecraft version (1.20.1).

3

Install Mod

Open the mod browser in the dashboard and search for "Darkhud". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

fabric

Minecraft Versions

1.20.1, 1.20

Server-side

Unsupported

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

Darkhud server crashes on startup – what to do?

Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.20.1). You can switch loaders with one click in the panel.

Is Darkhud compatible with fabric?

Darkhud officially supports fabric for Minecraft 1.20.1, 1.20. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with Darkhud – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Darkhud consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install Darkhud with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
LicenseRef-All-Rights-Reserved
Server-side
Unsupported

Supported Versions

1.20.11.20