Home›Java›Mods›DataTip
DataTip
ModsJava

DataTip

Java mod listed for Minecraft 1.20–1.21. Downloads from the MC Java Mods app on Android.

by cooobird · on CurseForge

JSON-driven custom item tooltips via resource packs. Multi-language, rich text, NBT/condition matching, shift-protected display. No coding — just JSON.

Which build do you need?

This mod ships a separate file for every mod loader and every version of the game. Pick both, then download — the wrong build installs fine and then does nothing in the game.

Mod loader

Minecraft version

⬇ Download for 1.21.1 · NeoForge⬇ Download for 1.20.1 · Forge
I don't know my version or loader
Open the Minecraft launcher and look at the profile you play on — it names both, like fabric-loader-1.21.4. The version also shows in the bottom-right corner of the game's main menu.
No loader in the profile name? Then it's plain Minecraft, and these mods won't run — you need Fabric or NeoForge installed first.
DataTip — screenshot 1DataTip — screenshot 2DataTip — screenshot 3DataTip — screenshot 4DataTip — screenshot 5DataTip — screenshot 6DataTip — screenshot 7DataTip — screenshot 8

About

Add custom tooltips to any item with a JSON file in your resource pack. Multi-language, rich styling, conditional display — no Java required.

{
  "minecraft:diamond": {
    "type": "text",
    "text": "A shiny diamond",
    "color": "#55FFFF"
  }
}

Features

Quick Start

  1. Create assets/<namespace>/datatip/datatip.json in your resource pack
  2. Define entries with item ID as key
  3. /reload — done

Configuration

config/datatip-common.toml:

Key bind in Controls → DataTip (default: Left Shift)

For Mod Developers

Datagen Support

// Text with styles and fonts
TipContentBuilder.text("Hello", "gold", true, false, false, false)
TipContentBuilder.text("Hello", "gold", "minecraft:alt")

// Multi-language with styles
TipContentBuilder.langText(langMap, "gold", true, false, false, false)

// All content types
TipContentBuilder.item("minecraft:diamond")
TipContentBuilder.entity("minecraft:wolf", 48, 0, 8)
TipContentBuilder.block("minecraft:stone", 48)
TipContentBuilder.atlas("minecraft:apple", 32)
TipContentBuilder.image("mymod:icon.png", 32, 32)
TipContentBuilder.progress(0.75f, 100, "75%")
TipContentBuilder.chart("bar", 100, 60, "Title", chartEntry("A", 50, "#FF0000"))
TipContentBuilder.typewriter(0xFF55FF, "Line 1", "Line 2")
TipContentBuilder.divider("gray", "dashed")
TipContentBuilder.aligned(content, HorizontalAlign.CENTER)

Java API

// Register custom content type
TipContentRegistry.registerParser("my_type", new MyContentParser());

// Register custom variable
VariableResolver.registerVariable("my_var", stack -> "custom_value");

// Register custom condition
ConditionChecker.registerCondition("my_condition", (value, stack, player, level) -> {
    return player.getAbsorptionAmount() > 0;
});

// Event hooks
TipEventManager.onPreRender(event -> { /* ... */ });
TipEventManager.onResolveVariable(event -> { /* ... */ });
TipEventManager.onAppendLines(event -> { /* ... */ });
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

File checked by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more