HomeJavaModsHighlight API
Highlight API
ModsJava

Highlight API

by NOIST1611 · on Modrinth

A Minecraft Forge 1.20.1 library mod that adds support for custom highlights and outlines for blocks, entities and regions.

⬇ Download on Modrinth
Highlight API — screenshot 1Highlight API — screenshot 2Highlight API — screenshot 3

Highlight API

⚠️ This is a developer library, not a standalone mod. It does nothing on its own - it is intended to be used as a dependency by other mods.

A Minecraft Forge 1.20.1 library mod that adds support for custom highlights and outlines for blocks, entities and regions.

Features

Usage

Adding as dependency

JitPack:

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation fg.deobf("com.github.NOIST1611:HighlightAPI:v1.0.0")
}

Modrinth Maven:

repositories {
    maven { url "https://api.modrinth.com/maven" }
}

dependencies {
    implementation fg.deobf("maven.modrinth:highlight-api:1.0.0")
}

Quick start

HighlightHandle handle = HighlightAPI.create(Lifetime.ETERNAL)
    .setTarget(blockPos)
    .setOutlineColor(1.0f, 0.0f, 0.0f, 1.0f)
    .setFillColor(1.0f, 0.0f, 0.0f, 0.3f)
    .register();

// Remove when done
handle.remove();

Region highlight

HighlightAPI.create(Lifetime.ETERNAL)
    .setRenderMode(RenderMode.REGION)
    .setTarget(new BlockPos(0, 64, 0))
    .setTargetEnd(new BlockPos(10, 70, 10))
    .setOutlineColor(0.0f, 1.0f, 0.0f, 1.0f)
    .setFillColor(0.0f, 1.0f, 0.0f, 0.2f)
    .register();

Animation Scope

// Animate alpha (transparency)
HighlightAPI.create(Lifetime.ETERNAL)
    .setTarget(blockPos)
    .setAnimation(AnimationType.PULSE)
    .setAnimationScope(AnimationScope.ALPHA)
    .register();

// Animate color (black → original color)
HighlightAPI.create(Lifetime.ETERNAL)
    .setTarget(blockPos)
    .setAnimation(AnimationType.PULSE)
    .setAnimationScope(AnimationScope.COLOR)
    .register();

// Custom animation

HighlightAPI.create(Lifetime.ETERNAL)
    .setTarget(blockPos)
    .setAnimation(new ICustomAnimation() {
        private float time = 0.0f;

        @Override
        public float tick(float partialTick) {
            time += partialTick * 0.05f;
            return (float)(Math.sin(time) * 0.5 + 0.5);
        }
    })
    .register();

Depth mode

// Visible through blocks
HighlightAPI.create(Lifetime.ETERNAL)
    .setTarget(blockPos)
    .setDepthMode(DepthMode.IGNORE)
    .register();

Links

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.

Verified by MCModsHub

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

Explore more