FOLIA ✅ PAPER ✅ PURPUR ✅ 1.19.4 - 1.21.5 ✅
**一个易于使用的、基于数据包的文本/物品/方块显示全息 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