Holograms is a powerful plugin that allows you to create and manage holographic displays in your Minecraft server.With the HologramAPI, you can easily add user-specific and static holograms to enhance the gameplay experience.
Important
Holograms only supports the latest version of Paper (1.20.6)
The latest version of Holograms requires Java 21
Latest version supporting 1.19-1.20.4 (Java 19)
Latest version supporting 1.19-1.20.2 (Java 17)
To seamlessly integrate our library into your project, please visit our repository. Select your preferred build tool and incorporate the version you intend to use.
For Gradle users, add the repository and dependency to your build.gradle.kts
:
repositories {
maven("https://repo.thenextlvl.net/releases")
}
dependencies {
compileOnly("net.thenextlvl.holograms:api:version")
}
Note: Be sure to replace version with the actual version number. Also note that you shouldn't shade the API as it is already provided by the plugin.
To get started with Holograms, you'll need to access various components of the API. Here's how you can do that:
HologramProvider provider = Bukkit.getServicesManager().getRegistration(HologramProvider.class).getProvider();
The Hologram Provider serves as the foundation for all the capabilities offered by the Hologram API.
HologramLoader loader = provider.getHologramLoader();
The Hologram Loader is responsible for the dynamic management of holograms, including loading, unloading, updating, and teleporting them for specific players.
HologramRegistry registry = provider.getHologramRegistry();
The Hologram Registry plays a crucial role in managing static holograms.
HologramFactory factory = provider.getHologramFactory();
The factory is your go-to tool for creating new holograms and hologram lines.
To create a hologram, use the HologramFactory:
Hologram hologram = factory.createHologram(location, factory.createTextLine(display -> {
display.text("Your Text Here");
}));
Note: hologram objects are not yet rendered, first you have to either register or load them.
Static holograms are holograms that are visible to all players, providing a consistent viewing experience for everyone. They are commonly used to display static content without user-specific data. Importantly, the loading and unloading of static holograms are fully automated, requiring no manual intervention.
To add a static hologram, simply call the register method from the HologramRegistry:
registry.register(hologram);
This will add the static hologram for everyone.
To remove a static hologram, call the unregister method from the HologramRegistry:
registry.unregister(hologram);
This will remove the static hologram for everyone.
User-Specific Holograms are unique holograms that are exclusively visible to the players for whom they are loaded. They are typically used to display personalized text or data. However, it's important to note that the loading and unloading of these holograms must be managed manually.
To load a user-specific hologram, simply call the load method from the HologramLoader:
loader.load(hologram, player);
This will load the hologram for the specified player.
To remove a user-specific hologram, call the unload method from the HologramLoader:
loader.unload(hologram, player);
This will remove the hologram displayed for the specified player.
Note: In future updates, we are planning to merge the concepts of user-specific and static holograms to create an even simpler and more streamlined method for loading and managing holograms. This enhancement will provide a more straightforward way to handle holographic displays in your server.