A lightweight utility to make entities (and blocks) glow per-player on modern Paper servers.
Originally by SkytAsul, modified and maintained by qore games.
- Paper-only
26.3+ - No ProtocolLib dependency
This library is intended to be embedded in your plugin jar. You should shade and relocate it.
dependencies {
implementation("games.qore:glowingentities:{VERSION}")
}<dependency>
<groupId>games.qore</groupId>
<artifactId>glowingentities</artifactId>
<version>{VERSION}</version>
<scope>compile</scope>
</dependency>You must shade this library and relocate the package to avoid classpath conflicts.
Minimal Gradle Shadow setup:
plugins {
id("com.gradleup.shadow") version "9.4.1"
}
tasks.shadowJar {
relocate("games.qore.glowingentities", "com.your.plugin.glowingentities")
}import games.qore.glowingentities.GlowingEntities;
import org.bukkit.entity.Item;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public final class MyPlugin extends JavaPlugin {
private GlowingEntities glowingEntities;
@Override
public void onEnable() {
this.glowingEntities = new GlowingEntities(this);
// Example placeholders: replace with your real entities/players.
Item itemEntity = null;
Player player = null;
if (itemEntity != null && player != null) {
this.glowingEntities.setGlowing(itemEntity, player);
}
}
@Override
public void onDisable() {
if (this.glowingEntities != null) {
this.glowingEntities.disable();
}
}
}- Create a single
GlowingEntitiesinstance withnew GlowingEntities(plugin). - Call
GlowingEntities#setGlowing(Entity entity, Player receiver, NamedTextColor color). - Reuse
setGlowingwith a different color to update it. - Call
GlowingEntities#unsetGlowing(Entity entity, Player receiver)to remove the effect. - Call
GlowingEntities#disable()when your plugin shuts down.
Use GlowingBlocks in the same way.
- Original project and API design: SkytAsul
- This fork: package namespace migration to
games.qore.glowingentities, Gradle/Paper-first tooling, and Paper26.3+support

