Compatibility
Minecraft: Java Edition
1.20.1
Platforms
Supported environments
Client-side
Links
Tags
Creators
Details
Licensed MIT
Published 2 days ago
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
- Outline and fill rendering for blocks, entities and AABB regions
- Region highlighting between two BlockPos points
- Built-in animations (Pulse, Blink, Fade In)
- Custom animation support via ICustomAnimation interface
- Depth modes (HIDE - hidden behind blocks, IGNORE - visible through blocks)
- Eternal and delayed lifetime support
- AnimationScope support (ALPHA or COLOR)
- Custom line width control
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();


