1 121
收录服务器
1484
注册
44 247
玩家
[API] MapManager 地图管理器
用于在项目框架和地图上显示自定义图像的API
作 者 inventivetalent
发布时间 2016年2月28日
支持核心 Spigot
原生版本
支持版本 1.18
点此下载

🗺️ MapManager 插件

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

捐赠

我喜欢免费制作所有插件,但我需要您的帮助来保持它们免费。

捐赠链接