服务器使用量
未统计
服务玩家数
未统计
下载量
57,680
插件详细介绍
MapManager 是一款允许你在游戏中显示自定义图像并发送独立地图给玩家的 API。其核心特性是支持快速地图更新(类似 AnimatedFrames),因为地图数据可以发送给玩家,之后你还可以更改展示在物品展示框或玩家背包中的地图内容。
核心功能
- 将自定义图像渲染到游戏地图上。
- 支持快速更新地图内容,适用于动画或动态图像。
- 可将地图发送给指定玩家,并显示在物品展示框或玩家手中。
- 支持缓存数据以优化性能。
使用方法
以下是一个基础的使用示例,展示如何加载图像并发送给玩家。
代码示例
try {
// 获取 MapManager 实例
MapManager mapManager = ((MapManagerPlugin) Bukkit.getPluginManager().getPlugin("MapManager")).getMapManager();
// 加载本地图像文件 "myImage.png"
MapWrapper mapWrapper = mapManager.wrapImage(ImageIO.read(new File("myImage.png")));
MapController mapController = mapWrapper.getController();
// 添加玩家为查看者并发送地图内容
mapController.addViewer(Bukkit.getPlayer("inventivetalent"));
mapController.sendContent(Bukkit.getPlayer("inventivetalent"));
// 此时玩家已能查看图像,可以将其显示在物品展示框中
mapController.showInFrame(Bukkit.getPlayer("inventivetalent"), null /* <Item Frame Object> */);
// 或者直接作为物品显示在玩家手中
mapController.showInHand(Bukkit.getPlayer("inventivetalent"));
} catch (IOException e) {
e.printStackTrace();
}更多详细用法,请查阅 Javadocs。
依赖
- 必需依赖: PacketListenerAPI
命令与权限
命令
/mapmanager reload- 重新加载插件配置。
权限
mapmanager.reload- 允许使用重载配置命令的权限。
配置文件
配置文件 (config.yml) 允许你调整插件行为。
# 是否允许发送原版地图(效率较低,因为需要检查每个发送地图的ID)
allowVanilla: true
# 设置一个偏移量来“保留”一定数量的地图ID,使其不被 MapManager 使用
# 注意:设置过大会限制插件可创建的地图数量
forcedOffset: 0
# 是否在创建新图像前检查重复图像(首次创建时效率较低,但整体更高效)
checkDuplicates: true
# 在图像对象中缓存数据包数据(对大量玩家而言CPU负载更低,但可能根据图像大小占用更多内存)
cacheData: true
sender:
# 发送地图数据包之间的延迟(单位:游戏刻)
delay: 2
# 单次发送的最大数据包数量
amount: 10
# 是否允许绕过队列立即发送地图数据
allowQueueBypass: true
# 如果你在使用 PaperSpigot(或遇到此错误:http://paste.inventivetalent.org/damuhonebu),请启用此项
paperSpigot: false注意事项与链接
- 此插件免费提供,但作者接受捐赠以支持持续开发。
- 配置中的
paperSpigot选项仅在遇到特定错误时启用。 - 使用前请确保已安装必需的 PacketListenerAPI。
相关链接
- 源代码: GitHub
- 问题反馈: Issue Tracker
- API 文档: Javadocs
- 捐赠支持: Donate
- 作者网站: Website
测试支持版本
版本分布
基本信息
插件名称
[API] MapManager
作者
inventivetalent
平台
Bukkit / Spigot
支持版本
1.18 - 1.18
点赞数
11
最近版本
暂无数据
-