HologramLib | Leaderboards & Custom Holograms ⚡

基于数据包的文本显示库,具有动画、排行榜、表情符号、minimessage 等功能!

资源图片

FOLIA ✅ PAPER ✅ PURPUR ✅ 1.19.4 - 1.21.5 ✅

Version Join Discord Server Version jitpack
HologramLib **一个易于使用的、基于数据包的文本/物品/方块显示全息 API,支持 MiniMessage 和表情符号。**
## 特性 - 文本、方块和物品全息 - 文本动画 - Minimessage 支持 - 基于数据包 - 针对玩家的全息 - 排行榜生成器 - 高级全息自定义 - 附件和父子关系支持 - 灵活的渲染模式
免责声明 此 API 仅适用于 1.19.4+
全息显示不支持基岩版玩家
在旧版本 Spigot 上使用时可能会出现一些问题(最好使用 Paper 或其衍生版本)
它只是一个 Java API。 此插件不能独立运行。
## 设置 - 下载插件 .jar - 下载 [Packet Events](https://www.spigotmc.org/resources/packetevents-api.80279/) - 将 .jar 文件上传到您的服务器 (*yourserver/plugins* 文件夹) - 将插件作为依赖项添加到您的插件并使用它 ## 项目设置 **Gradle 安装** ```groovy repositories { maven { url 'https://jitpack.io' } } dependencies { compileOnly 'com.github.HologramLib:HologramLib:1.7.6' } ``` **Maven 安装** ```xml jitpack.io https://jitpack.io com.github.HologramLib HologramLib 1.7.6 provided ``` 将此添加到您的插件 `plugin.yml` ```yml depend: - HologramLib ``` # 代码示例 ### 获取实例 ```java private HologramManager hologramManager; @Override public void onLoad() { HologramLib.onLoad(this); /*只有在进行混淆时才需要*/ } @Override public void onEnable() { hologramManager = HologramLib.getManager().orElse(null); if (hologramManager == null) { getLogger().severe("Failed to initialize HologramLib manager."); return; } } ``` ### 创建全息 ```java TextHologram hologram = new TextHologram("unique_id") .setMiniMessageText("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); ``` ### 生成和销毁 ```java hologramManager.spawn(hologram, ); hologramManager.remove(hologram); ``` ### 动画 ```java TextAnimation animation = new TextAnimation() .addFrame( "First frame") .addFrame("Second frame") .addFrame("Third frame\n" + "Second line in third frame") .addFrame("Last frame"); animation.setDelay(20L); // 1 second animation.setDelay(20L * 2); hologramManager.applyAnimation(this.hologram, animation); ``` ### 排行榜 ```java Map 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() ); ``` # Wiki 代码示例 & 更多 https://github.com/HologramLib/HologramLib/wiki # 示例/展示插件 https://github.com/HologramLib/ExamplePlugin 更多信息 https://maximjsx.com/projects/hologramlib