服务器使用量
未统计
服务玩家数
未统计
下载量
56,483
插件详细介绍
HamsterAPI 是一个轻量级的库,用于监听、读取、修改和取消 Minecraft 服务器与客户端之间收发的网络数据包。它让你无需直接使用反射或 NMS(Net Minecraft Server)代码,就能轻松地向玩家发送数据包,极大地简化了网络层交互的开发。
核心功能
- 数据包监听与控制:监听进出的数据包,基于优先级进行事件处理,并支持取消数据包。
- 玩家交互:向玩家发送标题、副标题、动作栏消息及自定义数据包。
- 连接管理:安全地断开玩家连接(数据包踢出)或立即关闭连接。
- 跨服通信:与 BungeeCord 通信,实现踢人、切换服务器、发送插件消息等功能。
未来计划
- BossBar API
- 客户端与服务器通过自定义频道通信(适用于模组客户端)
- BungeeCord 监听器
快速开始
首先,你需要通过静态方法获取 HamsterAPI 的实例,以访问其核心功能:
HamsterAPI.getInstance()
通过该实例,你可以访问以下工具方法
getBufferIO():用于将字节缓冲区拆解、解压、解码为数据包的工具。getBungeeMessenger():简化与 BungeeCord 进行 CustomPayload 通信的工具。getReflection():优化的工具,用于获取 NMS 和 CraftBukkit 类,同时保持版本兼容性。getPacketInjector():用于向玩家网络管道注入或移除 HamsterAPI 的工具。
可监听的事件
PacketDecodeEvent:在数据包经过管道拆解和解压后触发,允许你访问原始的字节缓冲区对象。你可以使用BufferIO将其解码为PacketWrapper对象。适用于修复漏洞和安全相关操作。PacketReceiveEvent/PacketSendEvent:在数据包解码后触发,允许你直接访问PacketWrapper对象。适用于装饰性功能或常规数据包处理。
关于如何监听事件,请参考官方指南:使用事件 API。
使用示例
发送标题与副标题
HamsterAPI.getInstance().getHamsterPlayerManager().get(player).sendTitle(String title, String subtitle, int fadeInTime, int showTime, int fadeOutTime);发送动作栏消息
HamsterAPI.getInstance().getHamsterPlayerManager().get(player).sendActionbar(String message);安全断开连接(数据包踢出)
HamsterAPI.getInstance().getHamsterPlayerManager().get(player).disconnect(String reason);立即关闭连接
HamsterAPI.getInstance().getHamsterPlayerManager().get(player).closeChannel();发送玩家至 BungeeCord 服务器
HamsterAPI.getInstance().getHamsterPlayerManager().get(player).sendServer(String serverName);开发者须知
重要:请务必将 HamsterAPI 作为依赖项添加到你的插件 plugin.yml 文件中。
测试支持版本
版本分布
基本信息
插件名称
[2LS] HamsterAPI
作者
Sammwy
平台
Bukkit / Spigot
支持版本
1.8 - 1.21
点赞数
12
最近版本
暂无数据
-