Home›Java›Mods›HologramLib / API | Paginated Leaderboards & Custom Holograms [1.19.4 - 1.21.x] ⚡ Java Library
ModsJava
HologramLib / API | Paginated Leaderboards & Custom Holograms [1.19.4 - 1.21.x] ⚡ Java Library
ᴛʜɪs ɪs ᴀ ʟɪʙʀᴀʀʏ.
There are no pre-made commands. It's a library for your own plugins.
FOLIA ✅ PAPER ✅ PURPUR ✅ 1.19.4 - 1.21.5 ✅
FEATURES
- Text, Block & Item Holograms
- Text animations with MiniMessage & ItemsAdder emoji support
- Packet-based implementation for optimal performance
- Per-player hologram visibility
- Automated leaderboard generation
- Advanced customization options
- Entity attachment support
Spoiler: DISCLAIMER
This api only works on 1.19.4+
The holograms do not work for Bedrock players
There can be some issues when using spigot on older versions (Preferably use Paper or a fork of it)
Its just a Java API. This plugin does not work standalone.
The holograms do not work for Bedrock players
There can be some issues when using spigot on older versions (Preferably use Paper or a fork of it)
Its just a Java API. This plugin does not work standalone.
SETUP
-
Download the plugin .jar
-
Download Packet Events
-
Upload the .jar files onto your server (yourserver/plugins folder)
-
Add the plugin as a dependency to your plugin and use it
Spoiler: Steps
Gradle
Maven
You need to add this line to your plugin.yml:
Code (Text):
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
compileOnly 'com.github.HologramLib:HologramLib:1.8.3.2'
}
maven { url 'https://jitpack.io' }
}
dependencies {
compileOnly 'com.github.HologramLib:HologramLib:1.8.3.2'
}
Code (Text):
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.HologramLib</groupId>
<artifactId>HologramLib</artifactId>
<version>1.8.3.2</version>
<scope>provided</scope>
</dependency>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.HologramLib</groupId>
<artifactId>HologramLib</artifactId>
<version>1.8.3.2</version>
<scope>provided</scope>
</dependency>
Code (YAML):
depend
:
- HologramLib
- HologramLib
CODE EXAMPLES
Getting the instance
Code (Java):
private HologramManager hologramManager
;
@Override
public void onLoad ( ) {
HologramLib. onLoad ( this ) ; /*Only needed if you shade HologramLib*/
}
@Override
public void onEnable ( ) {
HologramLib. getManager ( ). ifPresentOrElse (
manager -> hologramManager = manager,
( ) -> getLogger ( ). severe ( "Failed to initialize HologramLib manager." )
) ;
}
@Override
public void onLoad ( ) {
HologramLib. onLoad ( this ) ; /*Only needed if you shade HologramLib*/
}
@Override
public void onEnable ( ) {
HologramLib. getManager ( ). ifPresentOrElse (
manager -> hologramManager = manager,
( ) -> getLogger ( ). severe ( "Failed to initialize HologramLib manager." )
) ;
}
Code (Java):
TextHologram hologram
=
new TextHologram
(
"unique_id"
)
. setMiniMessageText ( "<aqua>Hello world!" )
. setSeeThroughBlocks ( false )
. setBillboard (Display. Billboard. VERTICAL )
. setShadow ( true )
. setScale (1.5F, 1.5F, 1.5F )
. setTextOpacity ( ( byte ) 200 )
. setBackgroundColor ( Color. fromARGB ( 60, 255, 236, 222 ). asARGB ( ) )
. setAlignment (TextDisplay. TextAlignment. CENTER )
. setViewRange ( 1.0 )
. setMaxLineWidth ( 200 ) ;
. setMiniMessageText ( "<aqua>Hello world!" )
. setSeeThroughBlocks ( false )
. setBillboard (Display. Billboard. VERTICAL )
. setShadow ( true )
. setScale (1.5F, 1.5F, 1.5F )
. setTextOpacity ( ( byte ) 200 )
. setBackgroundColor ( Color. fromARGB ( 60, 255, 236, 222 ). asARGB ( ) )
. setAlignment (TextDisplay. TextAlignment. CENTER )
. setViewRange ( 1.0 )
. setMaxLineWidth ( 200 ) ;
Spawing a hologram
Leaderboard creation
Code (Java):
hologramManager.
spawn
(hologram,
<location
>
)
;
hologramManager. remove (hologram ) ;
hologramManager. remove (hologram ) ;
Spoiler: Leaderboard Code
Code (Java):
Map
<UUID, LeaderboardHologram.
PlayerScore
> scores
=
new HashMap
<>
(
)
;
LeaderboardHologram. LeaderboardOptions pvpOptions = LeaderboardHologram. LeaderboardOptions. builder ( )
. title ( "PvP Champions" )
. suffix ( "Kills" )
. showEmptyPlaces ( false )
. maxDisplayEntries ( 10 )
. sortOrder (LeaderboardHologram. SortOrder. DESCENDING )
. headMode (LeaderboardHologram. HeadMode. RESOURCEPACK )
. leaderboardType (LeaderboardHologram. LeaderboardType. ALL_PLAYER_HEADS )
. build ( ) ;
LeaderboardHologram pvpLeaderboard = new LeaderboardHologram (pvpOptions, "pvp_lb" ) ;
pvpLeaderboard. setAllScores (scores ) ;
/* You can combine the leaderboard with others in a paginated leaderboard
but you can also just spawn the pvpLeaderboard for example
directly using hologramManager.spawn(pvpLeaderboard, location)
*/
PagedLeaderboard pagedLeaderboard = new PagedLeaderboard ( "paged_holo" )
. addPage (pvpLeaderboard )
. addPage ( <... another page > )
. setArrowBackgrounds (pvpLeaderboard. getBackgroundHologram ( ). getBackgroundColor ( ) )
. setLeftArrowText ( "<red><<" )
. setRightArrowText ( "<red>>>" )
. setArrowOffset ( 3.5 )
. setClickSounds (Sound. BLOCK_AMETHYST_CLUSTER_FALL, Sound. BLOCK_AMETHYST_CLUSTER_FALL )
. addPage (economyLeaderboard )
. rotate ( 0 ) ;
hologramManager. spawn (pagedLeaderboard, location ) ;
LeaderboardHologram. LeaderboardOptions pvpOptions = LeaderboardHologram. LeaderboardOptions. builder ( )
. title ( "PvP Champions" )
. suffix ( "Kills" )
. showEmptyPlaces ( false )
. maxDisplayEntries ( 10 )
. sortOrder (LeaderboardHologram. SortOrder. DESCENDING )
. headMode (LeaderboardHologram. HeadMode. RESOURCEPACK )
. leaderboardType (LeaderboardHologram. LeaderboardType. ALL_PLAYER_HEADS )
. build ( ) ;
LeaderboardHologram pvpLeaderboard = new LeaderboardHologram (pvpOptions, "pvp_lb" ) ;
pvpLeaderboard. setAllScores (scores ) ;
/* You can combine the leaderboard with others in a paginated leaderboard
but you can also just spawn the pvpLeaderboard for example
directly using hologramManager.spawn(pvpLeaderboard, location)
*/
PagedLeaderboard pagedLeaderboard = new PagedLeaderboard ( "paged_holo" )
. addPage (pvpLeaderboard )
. addPage ( <... another page > )
. setArrowBackgrounds (pvpLeaderboard. getBackgroundHologram ( ). getBackgroundColor ( ) )
. setLeftArrowText ( "<red><<" )
. setRightArrowText ( "<red>>>" )
. setArrowOffset ( 3.5 )
. setClickSounds (Sound. BLOCK_AMETHYST_CLUSTER_FALL, Sound. BLOCK_AMETHYST_CLUSTER_FALL )
. addPage (economyLeaderboard )
. rotate ( 0 ) ;
hologramManager. spawn (pagedLeaderboard, location ) ;
Problems with the library?
Before you write a bad review ask for support on the discord server or open an issue on github
Before you write a bad review ask for support on the discord server or open an issue on github
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.19, 1.20, 1.20.6
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
HologramLib / API | Paginated Leaderboards & Custom Holograms [1.19.4 - 1.21.x] ⚡ Java Library is a free Minecraft Java mod. Compatible with Minecraft 1.19, 1.20, 1.20.6, 1.21. Downloaded 3,160 times (via Spigot). Download it and open it directly in the game.