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。
/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: falsepaperSpigot 选项仅在遇到特定错误时启用。友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人次:3,030,766 | 今日访问人次:14,894 | 昨日访问人次:11,147
独立 IP:5,138 | 最近24小时独立访客:7,145
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6