[API] MapManager 地图管理器 | |
---|---|
|
用于在项目框架和地图上显示自定义图像的API |
作 者 | inventivetalent |
发布时间 | 2016年2月28日 |
支持核心 | Spigot | 原生版本 |
支持版本 | 1.18 |
插件详细介绍
MapManager 是一个允许在地图上显示自定义图像并将单独的地图发送给玩家的 API。其主要特点是支持快速地图更新(类似于 AnimatedFrames),因为地图数据可以发送给玩家,之后可以在物品框或玩家的背包中更改显示的地图。
MapManager 插件 🗺️ MapManager 插件
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(); // 添加 "inventivetalent" 作为查看者并发送内容 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(); }
依赖
依赖于 PacketListenerAPI!
命令
/mapmanager reload
- 重新加载配置mapmanager.reload
- 重新加载配置的权限# 是否允许将原版地图发送给玩家(效率较低,因为需要检查每个发送地图的 ID)
allowVanilla: true
# 更改此数值以“保留”一定数量的地图 ID,这些 ID 不会被 MapManager 插件使用
# 请注意,过多增加此数值会限制插件可以创建的地图数量
forcedOffset: 0
# 插件在创建新地图前是否检查重复图像(首次创建图像时效率较低,但总体上更高效)
checkDuplicates: true
# 在图像对象中缓存数据包数据(对于大量玩家来说 CPU 强度较低,但可能根据图像大小内存强度稍高)
cacheData: true
sender:
# 地图数据包之间的延迟(刻)
delay: 2
# 一次发送的最大地图数据包数量
amount: 10
# 允许立即发送地图数据
allowQueueBypass: true
# 如果您使用的是 PaperSpigot(或遇到此错误:http://paste.inventivetalent.org/damuhonebu),请启用此项
paperSpigot: false
我喜欢免费制作所有插件,但我需要您的帮助来保持它们免费。
捐赠链接