Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Packet-based text display library with animations, leaderboards, emojis, minimessage, and more!
FEATURES
- Text, Block & Item Holograms
- Text animations
- Minimessage support
- Packet based
- Per player holograms
- Leaderboard generators
- Advanced hologram customization
- Attachment and parenting support
- Flexible rendering modes
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.
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 **
steps
Gradle
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
compileOnly 'com.github.max1mde:HologramLib:1.6.3'
}
Maven
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.max1mde</groupId>
<artifactId>HologramLib</artifactId>
<version>1.6.3</version>
<scope>provided</scope>
</dependency>
You need to add this line to your plugin.yml:
depend:
- HologramLib
CODE EXAMPLES
Getting the instance
private HologramManager hologramManager;
@Override
public void onLoad() {
HologramLib.onLoad(this); /*Only needed if you shade HologramLib*/
}
@Override
public void onEnable() {
hologramManager = HologramLib.getManager().orElse(null);
if (hologramManager == null) {
getLogger().severe("Failed to initialize HologramAPI manager.");
return;
}
}
Block Hologram
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);
Item Hologram
ItemHologram hologram= new ItemHologram("unique_id")
.setItem(new ItemStack.Builder()
.type(ItemTypes.DIAMOND_SWORD)
.build())
.setGlowing(true)
.setGlowColor(Color.ORANGE)
.setOnFire(false)
.setDisplayType(ItemDisplayMeta.DisplayType.FIXED)
.setBillboard(Display.Billboard.VERTICAL)
.setScale(2.0F, 2.0F, 0.01F)
.setViewRange(1.0);
Spawing a hologram
hologramManager.spawn(hologram, <location>);
hologramManager.remove(hologram);
Leaderboard creation
Map<Integer, String> leaderboardData = new LinkedHashMap<>() {{
put(1, "MaximDe:1000");
put(2, "dream:950");
put(3, "BastiGHG:500");
put(4, "Wichtiger:400");
// ... more entries
}};
LeaderboardHologram leaderboard = hologramManager.generateLeaderboard(
location,
leaderboardData,
LeaderboardHologram.LeaderboardOptions.builder()
.title("Top Players - Kills")
.showEmptyPlaces(true)
.scale(1.2f)
.maxDisplayEntries(10)
.suffix("kills")
.topPlayerHead(true)
.build()
);
/*
Update the leaderboard later if needed
*/
hologramManager.updateLeaderboard(
leaderboard,
updatedData,
/*
ou can also use different options here
which will be applied to the leaderboard
*/
leaderboard.getOptions()
);
You can find more information in the GitHub readme
SUPPORT
Problems with the api?
Before you write a bad review ask for support on the discord server or open an issue on github
Do not use the review section below for suggestions/feature requests or support.
Information
Category | Developer Tools |
---|---|
Published on | December 28, 2024 |
License | GPL |
Downloads | 64 |
Stars | 5 |
Watchers | 3 |
Library
Supports Folia
Pinned Versions
Pages
Members
Owner