HologramLib / API | Paginated Leaderboards & Custom Holograms [1.19.4 - 1.21.x] ⚡ Java Library icon

HologramLib / API | Paginated Leaderboards & Custom Holograms [1.19.4 - 1.21.x] ⚡ Java Library -----

Packet-based text display library / api with animations, leaderboards, emojis, and more!



[​IMG] [​IMG]
ʜɪ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 ✅
[​IMG]
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
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.


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


PROJECT SETUP
View documentation on GitHub
Gradle
Code (Text):
repositories {
  maven { url 'https://jitpack.io' }
}

dependencies {
  compileOnly 'com.github.HologramLib:HologramLib:1.7.6'
}
Maven
Code (Text):
<repository>
  <id>jitpack.io</id>
  <url>https://jitpack.io</url>
</repository>

<dependency>
  <groupId>com.github.HologramLib</groupId>
  <artifactId>HologramLib</artifactId>
  <version>1.7.6</version>
  <scope>provided</scope>
</dependency>
You need to add this line to your plugin.yml:
Code (YAML):
depend :
 - 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." )
    ) ;
}
Text Hologram

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 ) ;
Spawing a hologram
Code (Java):
hologramManager. spawn (hologram, <location > ) ;
hologramManager. remove (hologram ) ;
Leaderboard creation
[​IMG]
[​IMG]
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 ) ;


You can find more information on the wiki page
And here https://maximjsx.com/projects/hologramlib

SUPPORT
Problems with the library?
Before you write a bad review ask for support on the discord server or open an issue on github
[​IMG]



[​IMG]


Do not use the review section below for suggestions/feature requests or support.
Resource Information
Author:
----------
Total Downloads: 2,708
First Release: Aug 3, 2023
Last Update: Sep 3, 2025
Category: ---------------
All-Time Rating:
1 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings