public class GermPacketAPI
extends java.lang.Object
| Constructor and Description |
|---|
GermPacketAPI() |
| Modifier and Type | Method and Description |
|---|---|
static void |
changeEntityModelAnimationState(org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity,
java.lang.String animationState)
Deprecated.
|
static void |
changeEntityModelAnimationState(org.bukkit.entity.Player player,
int entityId,
java.lang.String animState)
改变实体模型动画状态
在特定状态时,可以改变一套基础动作。
|
static void |
clearEffect(org.bukkit.entity.Player player)
清除玩家的所有特效
|
static void |
clearItemAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String identity)
清除指定槽位的所有物品动画
|
static void |
clearModelAnimation(org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity)
Deprecated.
|
static void |
clearModelAnimation(org.bukkit.entity.Player player,
int entityId)
清除所有模型动画
|
static void |
clearModelBlockAnimation(org.bukkit.entity.Player player,
int x,
int y,
int z)
清除指定坐标方块的所有模型动画
|
static void |
clearModelBlockAnimation(org.bukkit.entity.Player player,
java.lang.String indexName)
清除方块模型所有动画
|
static void |
clearPlaceholder(org.bukkit.entity.Player player)
清除玩家的所有变量
|
static void |
clearPlate(org.bukkit.entity.Player player,
int plateId,
int piece)
清除转盘指定片段
|
static void |
clearPlayerCameraBehavior(org.bukkit.entity.Player player)
取消所有玩家镜头的行为
|
static void |
clearSkin(org.bukkit.entity.Player player,
java.lang.String descName,
SkinType skinType)
通知玩家清除某个玩家名字下的指定类型皮肤
清除后客户端会向服务器自动重新获取 |
static void |
openGui(org.bukkit.entity.Player player,
java.lang.String name)
为玩家打开GUI
前提是玩家的客户端已经有了该GUI名字下对应的源码 如果没有你应该先发送 |
static void |
openHud(org.bukkit.entity.Player player,
java.lang.String name)
为玩家打开HUD
前提是玩家的客户端已经有了该HUD名字下对应的源码 如果没有你应该先发送 |
static void |
playSound(org.bukkit.Location location,
java.lang.String soundName,
SoundType soundType,
int delayTick)
在某个坐标处给附近的所有玩家播放一个音效
|
static void |
playSound(org.bukkit.Location location,
java.lang.String soundName,
SoundType soundType,
int delayTick,
float volume,
float pitch)
在某个坐标处给附近的所有玩家播放一个音效
|
static void |
playSound(org.bukkit.Location location,
java.lang.String soundName,
SoundType soundType,
int delayTick,
float volume,
float pitch,
boolean cycle,
int fadeInTick)
在某个坐标处给附近的所有玩家播放音效(完整参数版本)
|
static void |
playSound(org.bukkit.entity.Player player,
java.lang.String soundName)
直接以最大音量在玩家电脑中播放声音
|
static void |
playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
float volume,
float pitch)
播放声音并设置音量和音调
|
static void |
playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType)
播放指定类型的声音(默认音量和音调)
|
static void |
playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType,
float volume,
float pitch)
播放指定类型的声音并设置音量和音调
|
static void |
playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType,
float x,
float y,
float z,
int delayTick)
给玩家在某个坐标上播放一个音效,与坐标的距离会导致声音变化
如果x,y,z都设置为0就是直接播放到玩家的耳朵里 |
static void |
playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType,
float x,
float y,
float z,
int delayTick,
float volume,
float pitch)
在指定坐标播放声音并设置音量和音调
|
static void |
playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType,
float x,
float y,
float z,
int delayTick,
float volume,
float pitch,
boolean cycle)
在指定坐标播放声音并设置循环
|
static void |
playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType,
float x,
float y,
float z,
int delayTick,
float volume,
float pitch,
boolean cycle,
int fadeInTick)
在指定坐标播放声音并设置淡入效果
|
static void |
removeEffect(org.bukkit.entity.Player player,
GermEffectType germEffectType)
根据特效类型删除一类特效
|
static void |
removeEffect(org.bukkit.entity.Player player,
java.lang.String indexName)
根据索引名删除玩家正在播放的特效
|
static void |
removeEffectStartsWith(org.bukkit.entity.Player player,
java.lang.String conditionName)
根据索引名前缀删除玩家正在播放的特效
|
static void |
removePlaceholder(org.bukkit.entity.Player player,
java.lang.String variable)
删除玩家的某个变量
|
static void |
removePlaceholderIfContain(org.bukkit.entity.Player player,
java.lang.String variable)
删除玩家所有包含指定名称的变量
|
static void |
removeSkin(org.bukkit.entity.Player player,
java.lang.String descName,
SkinType skinType)
Deprecated.
|
static void |
removeSkin(org.bukkit.entity.Player player,
java.lang.String descName,
SkinType skinType,
java.lang.String identity)
移除指定皮肤槽位
|
static void |
removeSrc(org.bukkit.entity.Player player,
RootType rootType,
java.lang.String yamlIndex)
删除客户端对应的源码
|
static void |
send(org.bukkit.entity.Player p,
IPacket packet)
发送数据包给玩家
这是核心的数据包发送方法,会自动处理大数据包的分片发送
|
static void |
sendBatch(org.bukkit.entity.Player player)
发送批量数据包
将之前收集的所有数据包一次性发送给玩家
|
static void |
sendBendAction(@NotNull org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity,
@NotNull java.lang.String bendName)
Deprecated.
请直接使用
sendModelAnimation(Player, int, String) 方法,会自动判断是玩家还是怪物做动作 |
static void |
sendBendAction(@NotNull org.bukkit.entity.Player player,
int entityId,
@NotNull AnimDataDTO animDataDTO)
Deprecated.
请直接使用
sendModelAnimation(Player, int, AnimDataDTO) 方法,会自动判断是玩家还是怪物做动作 |
static void |
sendBendAction(@NotNull org.bukkit.entity.Player player,
int entityId,
@NotNull java.lang.String bendName)
Deprecated.
请直接使用
sendModelAnimation(Player, int, String) 方法,会自动判断是玩家还是怪物做动作 |
static void |
sendBendClear(@NotNull org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity)
Deprecated.
请直接使用
clearModelAnimation(Player, int) 方法,会自动判断是玩家还是怪物做动作 |
static void |
sendBendClear(@NotNull org.bukkit.entity.Player player,
int entityId)
Deprecated.
请直接使用
clearModelAnimation(Player, int) 方法,会自动判断是玩家还是怪物做动作 |
static void |
sendBoundingBox(org.bukkit.entity.Player player,
int entityId,
float width,
float height,
float length)
发送实体边界框信息
|
static void |
sendCacheFile(org.bukkit.entity.Player player,
java.lang.String file,
byte[] bytes)
发送文件到缓存文件夹
|
static void |
sendCacheTask(org.bukkit.entity.Player player,
java.util.List<java.lang.String> urls)
发送一组缓存图片和GIF任务
客户端收到后会立即异步进行下载 |
static void |
sendCacheTask(org.bukkit.entity.Player player,
java.lang.String url)
发送一个缓存任务
|
static void |
sendCameraShake(org.bukkit.entity.Player player,
CameraShakeDTO cameraShakeDTO)
发送摄像头震动效果
|
static void |
sendCameraZoom(org.bukkit.entity.Player player,
CameraZoomDTO cameraZoomDTO)
发送摄像头缩放效果
|
static void |
sendEffect(org.bukkit.entity.Player player,
java.lang.String effectName,
java.lang.String indexName,
double x,
double y,
double z)
在指定坐标发送特效
|
static void |
sendEffect(org.bukkit.entity.Player player,
java.lang.String effectName,
java.lang.String indexName,
double x,
double y,
double z,
double pitch,
double yaw,
double roll)
在指定坐标发送特效并设置旋转角度
|
static void |
sendEffectDos(org.bukkit.entity.Player player,
java.lang.String guiName,
java.util.List<java.lang.String> dos)
执行一组特效的DOS命令
|
static void |
sendEffectDos(org.bukkit.entity.Player player,
java.lang.String parentGuiName,
java.lang.String dos)
执行一个特效的DOS命令
|
static void |
sendEffectPlayerModelAnimation(org.bukkit.entity.Player player,
java.lang.String indexName,
AnimDataDTO animDataDTO)
Deprecated.
|
static void |
sendEffectPlayModelAnimation(org.bukkit.entity.Player player,
java.lang.String indexName,
AnimDataDTO animDataDTO)
播放特效模型动画
|
static void |
sendEffectStopModelAnimation(org.bukkit.entity.Player player,
java.lang.String indexName,
AnimDataDTO animDataDTO)
停止特效模型动画
|
static void |
sendEffectToEntity(@NotNull org.bukkit.entity.Player player,
@NotNull java.lang.String effectName,
@NotNull java.lang.String indexName,
@NotNull org.bukkit.entity.Entity entity)
将特效绑定到实体
|
static void |
sendEffectToEntity(@NotNull org.bukkit.entity.Player player,
@NotNull java.lang.String effectName,
@NotNull java.lang.String indexName,
@NotNull org.bukkit.entity.Entity entity,
double pitch,
double yaw,
double roll)
将特效绑定到实体并设置旋转角度
要播放这个特效,前提是客户端存在这个effect源码。
|
static void |
sendEffectToEntity(@NotNull org.bukkit.entity.Player player,
@NotNull java.lang.String effectName,
@NotNull java.lang.String indexName,
int entityId)
将特效绑定到指定ID的实体
|
static void |
sendEffectToEntity(@NotNull org.bukkit.entity.Player player,
@NotNull java.lang.String effectName,
@NotNull java.lang.String indexName,
int entityId,
double pitch,
double yaw,
double roll)
将特效绑定到指定ID的实体并设置旋转角度
|
static void |
sendEntityFaceYaw(org.bukkit.entity.Player player,
int entityID,
float yaw)
使其玩家客户端的指定实体面向yaw 不用等待实体的bodyOffset同步
|
static void |
sendGuiDos(org.bukkit.entity.Player player,
java.util.List<java.lang.String> dos)
执行一组GUI的DOS命令
|
static void |
sendGuiDos(org.bukkit.entity.Player player,
java.lang.String dos)
执行一个GUI的DOS命令
|
static void |
sendHudDos(org.bukkit.entity.Player player,
java.util.List<java.lang.String> dos)
执行一组HUD的DOS命令
|
static void |
sendHudDos(org.bukkit.entity.Player player,
java.lang.String dos)
执行一个HUD的DOS命令
|
static void |
sendHudMessage(org.bukkit.entity.Player player,
HudMessageType messageType,
java.lang.String msg)
发送HUD消息
|
static void |
sendHudMessage(org.bukkit.entity.Player player,
int type,
java.lang.String msg)
Deprecated.
|
static void |
sendInitSrc(org.bukkit.entity.Player player)
初始化源码
重新加载玩家客户端的所有源码
|
static void |
sendItemAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String identity,
AnimDataDTO animDataDTO)
发送物品动画(高级版本)
使用动画数据DTO发送更复杂的物品动画
|
static void |
sendItemAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String identity,
java.lang.String animName)
发送物品动画
|
static void |
sendKeyRegister(org.bukkit.entity.Player player,
int key)
告诉玩家的客户端要监听按键
|
static void |
sendLockPlayerCameraFaceEntity(org.bukkit.entity.Player player,
int entityId,
long durationTime)
使玩家面向某实体
|
static void |
sendLockPlayerCameraRotate(org.bukkit.entity.Player player,
long durationTime)
锁定玩家镜头的旋转
|
static void |
sendLockPlayerCameraView(org.bukkit.entity.Player player,
ViewType viewType,
long duration)
修改玩家的视角并锁定
修改后玩家不能使用F5改变视角
|
static void |
sendLockPlayerMove(org.bukkit.entity.Player player,
long duration)
锁定玩家的移动行为
从玩家的按键响应阻断,比取消
PlayerMoveEvent 效果更好 |
static void |
sendLockPlayerQuickBar(org.bukkit.entity.Player player,
int slot)
将玩家手持位置锁定到指定栏位
永久禁止玩家切换物品栏 |
static void |
sendLockPlayerQuickBar(org.bukkit.entity.Player player,
int slot,
long lockTime)
将玩家手持位置锁定到指定栏位
在指定时间内禁止玩家切换物品栏 |
static void |
sendModelAnimation(org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity,
java.lang.String animationName)
Deprecated.
|
static void |
sendModelAnimation(org.bukkit.entity.Player player,
int entityId,
AnimDataDTO animDataDTO)
发送模型动画(高级版本)
使用动画数据DTO发送更复杂的模型动画
|
static void |
sendModelAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String animName)
发送模型动画
|
static void |
sendModelBlockAnimation(org.bukkit.entity.Player player,
int x,
int y,
int z,
AnimDataDTO animDataDTO)
在指定坐标设置方块模型动画(高级版本)
|
static void |
sendModelBlockAnimation(org.bukkit.entity.Player player,
int x,
int y,
int z,
java.lang.String animName)
在指定坐标设置方块模型动画
|
static void |
sendModelBlockAnimation(org.bukkit.entity.Player player,
java.lang.String indexName,
java.lang.String animName)
设置方块模型进行动画
|
static void |
sendModelBoneReplace(org.bukkit.entity.Player player,
int entityId,
ModelDataDTO newModelDataDTO)
发送模型部件替换
使用提供的模型数据替换指定实体的模型部件
|
static void |
sendModelBoneReplace(org.bukkit.entity.Player player,
int entityId,
java.lang.String replaceBoneName,
ModelDataDTO newModelDataDTO,
java.lang.String newBoneName)
Deprecated.
|
static void |
sendNavigate(org.bukkit.entity.Player player,
java.lang.String effectName,
java.lang.String indexName,
double x,
double y,
double z)
发送导航效果
|
static void |
sendPacket(org.bukkit.entity.Player player,
java.lang.String channel,
io.netty.buffer.ByteBuf byteBuf)
发送数据包到指定通道
|
static void |
sendPlaceholder(org.bukkit.entity.Player player,
java.lang.String variable,
java.util.ArrayList<java.lang.String> list)
Deprecated.
|
static void |
sendPlaceholder(org.bukkit.entity.Player player,
java.lang.String variable,
java.util.List<java.lang.String> list)
向玩家发送一个字符串集合变量
|
static void |
sendPlaceholder(org.bukkit.entity.Player player,
java.lang.String variable,
java.util.List<java.lang.String> list,
boolean autoExpire)
向玩家发送一个字符串集合变量并设置是否自动过期
|
static void |
sendPlaceholder(org.bukkit.entity.Player player,
java.lang.String variable,
java.lang.String vault)
向玩家发送变量
|
static void |
sendPlaceholder(org.bukkit.entity.Player player,
java.lang.String variable,
java.lang.String vault,
boolean autoExpire)
向玩家发送变量并设置是否自动过期
|
static void |
sendPlateData(org.bukkit.entity.Player player,
int plateId,
int piece,
java.lang.String backgroundPath,
java.lang.String text,
java.lang.String iconPath)
发送转盘数据
|
static void |
sendPlayerCameraBehavior(org.bukkit.entity.Player player,
CameraType cameraType,
long transitionTime,
long durationTime,
float value,
boolean override)
发送一个玩家镜头控制的行为
旋转玩家当前正在渲染的镜头方向 当某个方向上的行为持续时玩家将不能移动该方向的镜头位置 |
static void |
sendPlayerCameraView(org.bukkit.entity.Player player,
ViewType viewType)
修改玩家的视角
|
static void |
sendPost(org.bukkit.entity.Player player,
java.lang.String path,
java.util.Map map)
发送POST请求数据
|
static void |
sendRemoteSpectator(org.bukkit.entity.Player player,
double posX,
double posY,
double posZ,
float yaw,
float pitch,
long translateTime)
发送远程观察者位置
|
static void |
sendRemoteSpectator(org.bukkit.entity.Player player,
org.bukkit.Location location,
long translateTime)
发送远程观察者位置
|
static void |
sendSkin(org.bukkit.entity.Player player,
java.lang.String descName,
SkinType skinType,
java.lang.String data)
给玩家发送一个指定类型的皮肤
添加skin_armour时,这里的data和YML添加的时装路径格式一样 注意:玩家A穿了什么时装,只发给玩家A的客户端是不行的,所有客户端都知道才行 |
static void |
sendSkinHide(org.bukkit.entity.Player player,
java.lang.String descName,
SkinType skinType,
java.lang.String slotIdentity,
boolean hide)
设置指定玩家的皮肤槽位是否隐藏
|
static void |
sendSkinTagAbove(org.bukkit.entity.Player player,
java.lang.String descName,
java.util.List<java.lang.String> data)
发送头顶标签皮肤
|
static void |
sendSlotItemStack(org.bukkit.entity.Player player,
java.lang.String slotIdentity,
org.bukkit.inventory.ItemStack slotItemStack)
给指定槽位ID发送一个ItemStack
对应槽位ID的槽位会渲染出该物品 |
static void |
sendSrc(org.bukkit.entity.Player player,
RootType rootType,
java.lang.String yamlIndex,
org.bukkit.configuration.file.YamlConfiguration yamlConfiguration)
给玩家发送一个的源码
在发送任何一个源码到客户端时 你都可以进行拦截操作 |
static void |
sendSrcClear(org.bukkit.entity.Player player)
给玩家清空萌芽的所有缓存
|
static void |
sendSwitchRemoteSpectator(org.bukkit.entity.Player player,
boolean enable)
将玩家切换至远程的观察模式
切换后玩家可以进行远程观察 |
static void |
sendUnlockPlayerCameraFaceEntity(org.bukkit.entity.Player player)
解锁玩家面向某实体
|
static void |
sendUnlockPlayerCameraRotate(org.bukkit.entity.Player player)
解锁玩家镜头的旋转
|
static void |
sendUnlockPlayerCameraView(org.bukkit.entity.Player player)
将玩家的视角类型恢复到设置之前的状态
|
static void |
sendUnlockPlayerMove(org.bukkit.entity.Player player)
解锁玩家的移动
|
static void |
sendUnlockPlayerQuickBar(org.bukkit.entity.Player player)
解除玩家切换物品栏的限制
|
static void |
setBatching()
开始批量发送模式
在此模式下,所有的数据包将被收集到批次中,而不是立即发送
|
static void |
setItemStackCooldown(org.bukkit.entity.Player player,
org.bukkit.inventory.ItemStack itemStack,
int tick)
设置玩家某个物品的冷却效果
|
static void |
setPlayerFocus(org.bukkit.entity.Player player,
boolean isFocus)
设置玩家指针是否弹出
|
static void |
setSlotIdentityCooldown(org.bukkit.entity.Player player,
java.lang.String identity,
int tick)
设置玩家某个槽位中的物品冷却效果
会在客户端通过slotIdentity去获取物品,然后执行与 setItemStackCooldown 相同的代码
区别是这个方法流量消耗更小
|
static void |
showDamage(org.bukkit.entity.Player player,
java.lang.String name,
java.lang.String damage,
double x,
double y,
double z)
显示伤害数字
|
static void |
stopAllSound(org.bukkit.entity.Player player)
停止播放所有声音
|
static void |
stopAllSound(org.bukkit.entity.Player player,
java.lang.String soundName)
Deprecated.
请使用
stopAllSound(Player) 方法 |
static void |
stopItemAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String identity,
java.lang.String animName)
停止物品动画
|
static void |
stopModelAnimation(org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity,
java.lang.String animationName)
Deprecated.
|
static void |
stopModelAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String animName)
停止模型动画
|
static void |
stopModelBlockAnimation(org.bukkit.entity.Player player,
int x,
int y,
int z,
java.lang.String animName)
停止指定坐标的方块模型动画
|
static void |
stopModelBlockAnimation(org.bukkit.entity.Player player,
java.lang.String indexName,
java.lang.String animName)
停止方块模型动画
|
static void |
stopSound(org.bukkit.entity.Player player,
java.lang.String soundName)
停止播放指定声音
|
static void |
stopSound(org.bukkit.entity.Player player,
java.lang.String soundName,
int fadeOutTick)
停止播放指定声音并设置淡出效果
|
public static void openGui(org.bukkit.entity.Player player,
java.lang.String name)
player - 玩家name - GUI的名字public static void openHud(org.bukkit.entity.Player player,
java.lang.String name)
player - 玩家name - HUD的名字public static void sendEntityFaceYaw(org.bukkit.entity.Player player,
int entityID,
float yaw)
player - 目标玩家entityID - 实体IDyaw - 偏航角度public static void sendBoundingBox(org.bukkit.entity.Player player,
int entityId,
float width,
float height,
float length)
player - 目标玩家entityId - 实体IDwidth - 宽度height - 高度length - 长度public static void sendSrc(org.bukkit.entity.Player player,
RootType rootType,
java.lang.String yamlIndex,
org.bukkit.configuration.file.YamlConfiguration yamlConfiguration)
player - 玩家rootType - 根文件夹的材质 如 gui、animation、bendyamlIndex - 资源文件索引,之后删除的时候使用yamlConfiguration - 源码public static void removeSrc(org.bukkit.entity.Player player,
RootType rootType,
java.lang.String yamlIndex)
player - 目标玩家rootType - 根文件夹类型yamlIndex - 资源文件索引public static void sendSwitchRemoteSpectator(org.bukkit.entity.Player player,
boolean enable)
player - 目标玩家enable - 是否启用远程观察模式public static void sendRemoteSpectator(org.bukkit.entity.Player player,
double posX,
double posY,
double posZ,
float yaw,
float pitch,
long translateTime)
player - 目标玩家posX - X坐标posY - Y坐标posZ - Z坐标yaw - 偏航角pitch - 俯仰角translateTime - 过渡时间public static void sendRemoteSpectator(org.bukkit.entity.Player player,
org.bukkit.Location location,
long translateTime)
player - 目标玩家location - 目标位置translateTime - 过渡时间public static void sendCameraShake(org.bukkit.entity.Player player,
CameraShakeDTO cameraShakeDTO)
player - 目标玩家cameraShakeDTO - 摄像头震动数据public static void sendCameraZoom(org.bukkit.entity.Player player,
CameraZoomDTO cameraZoomDTO)
player - 目标玩家cameraZoomDTO - 摄像头缩放数据public static void sendPost(org.bukkit.entity.Player player,
java.lang.String path,
java.util.Map map)
player - 目标玩家path - 请求路径map - 请求数据public static void sendPlayerCameraBehavior(org.bukkit.entity.Player player,
CameraType cameraType,
long transitionTime,
long durationTime,
float value,
boolean override)
player - 目标玩家cameraType - 镜头移动类型 CameraTypetransitionTime - 在多久内从当前位置过渡到目标位置durationTime - 过渡到目标位置后持续多久 -1为不断持续value - 目标值override - true时为旋转至目标值,false为旋转多少public static void clearPlayerCameraBehavior(org.bukkit.entity.Player player)
player - 目标玩家public static void sendLockPlayerCameraRotate(org.bukkit.entity.Player player,
long durationTime)
player - 目标玩家durationTime - 持续时间 -1为持续持续public static void sendUnlockPlayerCameraRotate(org.bukkit.entity.Player player)
player - 目标玩家public static void sendLockPlayerCameraFaceEntity(org.bukkit.entity.Player player,
int entityId,
long durationTime)
player - 目标玩家entityId - 实体IDdurationTime - 持续时间public static void sendUnlockPlayerCameraFaceEntity(org.bukkit.entity.Player player)
player - 目标玩家public static void sendLockPlayerQuickBar(org.bukkit.entity.Player player,
int slot)
player - 目标玩家slot - 快捷栏栏位 [0,8] 填-1为解锁public static void sendLockPlayerQuickBar(org.bukkit.entity.Player player,
int slot,
long lockTime)
player - 目标玩家slot - 快捷栏栏位 [0,8] 填-1为解锁lockTime - 锁定时间,-1为永久,单位是毫秒public static void sendUnlockPlayerQuickBar(org.bukkit.entity.Player player)
player - 目标玩家public static void sendLockPlayerCameraView(org.bukkit.entity.Player player,
ViewType viewType,
long duration)
修改后玩家不能使用F5改变视角
player - 目标玩家viewType - 强制玩家的视角类型duration - 持续时间,-1为永久public static void sendPlayerCameraView(org.bukkit.entity.Player player,
ViewType viewType)
player - 目标玩家viewType - 玩家视角类型public static void sendUnlockPlayerCameraView(org.bukkit.entity.Player player)
player - 目标玩家public static void sendLockPlayerMove(org.bukkit.entity.Player player,
long duration)
从玩家的按键响应阻断,比取消 PlayerMoveEvent 效果更好
player - 目标玩家duration - 持续时间,毫秒级,-1为不断持续public static void sendUnlockPlayerMove(org.bukkit.entity.Player player)
player - 目标玩家public static void setItemStackCooldown(org.bukkit.entity.Player player,
org.bukkit.inventory.ItemStack itemStack,
int tick)
player - 目标玩家itemStack - 道具,会识别名称、材质、Lore、NBT作为判断是否相同的依据tick - 冷却时间,以tick为单位(每秒20tick)public static void setSlotIdentityCooldown(org.bukkit.entity.Player player,
java.lang.String identity,
int tick)
会在客户端通过slotIdentity去获取物品,然后执行与 setItemStackCooldown 相同的代码
区别是这个方法流量消耗更小
player - 目标玩家identity - 槽位标识符tick - 冷却时间,以tick为单位(每秒20tick)@Deprecated
public static void sendModelAnimation(org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity,
java.lang.String animationName)
sendModelAnimation(Player, int, String) 方法player - 目标玩家entity - 目标实体animationName - 动画名称@Deprecated
public static void stopModelAnimation(org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity,
java.lang.String animationName)
stopModelAnimation(Player, int, String) 方法player - 目标玩家entity - 目标实体animationName - 动画名称@Deprecated
public static void changeEntityModelAnimationState(org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity,
java.lang.String animationState)
changeEntityModelAnimationState(Player, int, String) 方法player - 目标玩家entity - 目标实体animationState - 动画状态@Deprecated
public static void clearModelAnimation(org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity)
clearModelAnimation(Player, int) 方法player - 目标玩家entity - 目标实体@Deprecated
public static void sendModelBoneReplace(org.bukkit.entity.Player player,
int entityId,
java.lang.String replaceBoneName,
ModelDataDTO newModelDataDTO,
java.lang.String newBoneName)
sendModelBoneReplace(Player, int, ModelDataDTO) 方法替换指定实体的模型部件,用新的模型数据替换原有部件
player - 目标玩家entityId - 实体IDreplaceBoneName - 需要替换的组名newModelDataDTO - 新模型数据newBoneName - 替换的新组名public static void sendModelBoneReplace(org.bukkit.entity.Player player,
int entityId,
ModelDataDTO newModelDataDTO)
使用提供的模型数据替换指定实体的模型部件
player - 目标玩家entityId - 实体IDnewModelDataDTO - 新模型数据,包含替换信息public static void sendModelAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String animName)
player - 目标玩家entityId - 实体ID Entity.getEntityId()animName - 动画名称public static void sendModelAnimation(org.bukkit.entity.Player player,
int entityId,
AnimDataDTO animDataDTO)
使用动画数据DTO发送更复杂的模型动画
player - 目标玩家entityId - 实体IDanimDataDTO - 动画数据传输对象public static void stopModelAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String animName)
player - 目标玩家entityId - 实体IDanimName - 要停止的动画名称public static void clearModelAnimation(org.bukkit.entity.Player player,
int entityId)
player - 目标玩家entityId - 实体IDpublic static void changeEntityModelAnimationState(org.bukkit.entity.Player player,
int entityId,
java.lang.String animState)
在特定状态时,可以改变一套基础动作。当animState等于"ab"时, 再触发attack或者idle(诸如此类的自触发动作)会优先选择ab@attack或者ab@idle。
当animState等于"default"时会切换回无前缀的状态,此逻辑可以用于怪物愤怒时改变基础动作。
player - 目标玩家entityId - 实体IDanimState - 动画状态public static void sendItemAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String identity,
java.lang.String animName)
player - 目标玩家entityId - 实体IDidentity - 槽位ID,例如germplugin_main_hand、germplugin_extend_1animName - 动画名称public static void sendItemAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String identity,
AnimDataDTO animDataDTO)
使用动画数据DTO发送更复杂的物品动画
player - 目标玩家entityId - 实体IDidentity - 槽位IDanimDataDTO - 动画数据传输对象public static void stopItemAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String identity,
java.lang.String animName)
player - 目标玩家entityId - 实体IDidentity - 槽位IDanimName - 要停止的动画名称public static void clearItemAnimation(org.bukkit.entity.Player player,
int entityId,
java.lang.String identity)
player - 目标玩家entityId - 实体IDidentity - 槽位IDpublic static void sendModelBlockAnimation(org.bukkit.entity.Player player,
java.lang.String indexName,
java.lang.String animName)
player - 目标玩家indexName - 模型方块在GermPlugin/item文件夹中的索引名animName - 动画名称public static void stopModelBlockAnimation(org.bukkit.entity.Player player,
java.lang.String indexName,
java.lang.String animName)
player - 目标玩家indexName - 模型方块索引名animName - 要停止的动画名称public static void clearModelBlockAnimation(org.bukkit.entity.Player player,
java.lang.String indexName)
player - 目标玩家indexName - 模型方块索引名public static void sendModelBlockAnimation(org.bukkit.entity.Player player,
int x,
int y,
int z,
java.lang.String animName)
player - 目标玩家x - X坐标y - Y坐标z - Z坐标animName - 动画名称public static void sendModelBlockAnimation(org.bukkit.entity.Player player,
int x,
int y,
int z,
AnimDataDTO animDataDTO)
player - 目标玩家x - X坐标y - Y坐标z - Z坐标animDataDTO - 动画数据传输对象public static void stopModelBlockAnimation(org.bukkit.entity.Player player,
int x,
int y,
int z,
java.lang.String animName)
player - 目标玩家x - X坐标y - Y坐标z - Z坐标animName - 要停止的动画名称public static void clearModelBlockAnimation(org.bukkit.entity.Player player,
int x,
int y,
int z)
player - 目标玩家x - X坐标y - Y坐标z - Z坐标public static void sendSrcClear(org.bukkit.entity.Player player)
player - 目标玩家public static void sendInitSrc(org.bukkit.entity.Player player)
重新加载玩家客户端的所有源码
player - 目标玩家@Deprecated
public static void sendBendAction(@NotNull
@NotNull org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity,
@NotNull
@NotNull java.lang.String bendName)
sendModelAnimation(Player, int, String) 方法,会自动判断是玩家还是怪物做动作player - 目标玩家entity - 执行动作的实体bendName - 动作名称@Deprecated
public static void sendBendClear(@NotNull
@NotNull org.bukkit.entity.Player player,
org.bukkit.entity.Entity entity)
clearModelAnimation(Player, int) 方法,会自动判断是玩家还是怪物做动作player - 目标玩家entity - 目标实体@Deprecated
public static void sendBendAction(@NotNull
@NotNull org.bukkit.entity.Player player,
int entityId,
@NotNull
@NotNull java.lang.String bendName)
sendModelAnimation(Player, int, String) 方法,会自动判断是玩家还是怪物做动作player - 目标玩家entityId - 实体ID Entity.getEntityId()bendName - 动作名称@Deprecated
public static void sendBendAction(@NotNull
@NotNull org.bukkit.entity.Player player,
int entityId,
@NotNull
@NotNull AnimDataDTO animDataDTO)
sendModelAnimation(Player, int, AnimDataDTO) 方法,会自动判断是玩家还是怪物做动作player - 目标玩家entityId - 实体IDanimDataDTO - 动画数据传输对象@Deprecated
public static void sendBendClear(@NotNull
@NotNull org.bukkit.entity.Player player,
int entityId)
clearModelAnimation(Player, int) 方法,会自动判断是玩家还是怪物做动作player - 目标玩家entityId - 实体IDpublic static void playSound(org.bukkit.entity.Player player,
java.lang.String soundName)
player - 目标玩家soundName - 声音名称public static void playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
float volume,
float pitch)
player - 目标玩家soundName - 声音名称volume - 音量pitch - 音调public static void playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType,
float volume,
float pitch)
player - 目标玩家soundName - 声音名称soundType - 声音类型volume - 音量pitch - 音调public static void playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType)
player - 目标玩家soundName - 声音名称soundType - 声音类型public static void playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType,
float x,
float y,
float z,
int delayTick)
player - 目标玩家,只有该玩家能听到soundName - 声音名称,对应声音文件中添加的soundType - 播放类型,为了让玩家可以在游戏设置中设置该类型的声音大小x - X坐标y - Y坐标z - Z坐标delayTick - 延迟多少tick后开始播放public static void playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType,
float x,
float y,
float z,
int delayTick,
float volume,
float pitch)
player - 目标玩家soundName - 声音名称soundType - 声音类型x - X坐标y - Y坐标z - Z坐标delayTick - 延迟tick数volume - 音量pitch - 音调public static void playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType,
float x,
float y,
float z,
int delayTick,
float volume,
float pitch,
boolean cycle)
player - 目标玩家soundName - 声音名称soundType - 声音类型x - X坐标y - Y坐标z - Z坐标delayTick - 延迟tick数volume - 音量pitch - 音调cycle - 是否循环播放public static void playSound(org.bukkit.entity.Player player,
java.lang.String soundName,
SoundType soundType,
float x,
float y,
float z,
int delayTick,
float volume,
float pitch,
boolean cycle,
int fadeInTick)
player - 目标玩家soundName - 声音名称soundType - 声音类型x - X坐标y - Y坐标z - Z坐标delayTick - 延迟tick数volume - 音量pitch - 音调cycle - 是否循环播放fadeInTick - 淡入时间(tick)public static void playSound(org.bukkit.Location location,
java.lang.String soundName,
SoundType soundType,
int delayTick)
location - 播放位置soundName - 声音名称soundType - 声音类型delayTick - 延迟tick数public static void playSound(org.bukkit.Location location,
java.lang.String soundName,
SoundType soundType,
int delayTick,
float volume,
float pitch)
location - 播放位置soundName - 声音名称soundType - 声音类型delayTick - 延迟tick数volume - 音量pitch - 音调public static void playSound(org.bukkit.Location location,
java.lang.String soundName,
SoundType soundType,
int delayTick,
float volume,
float pitch,
boolean cycle,
int fadeInTick)
location - 播放位置soundName - 声音名称soundType - 声音类型delayTick - 延迟tick数volume - 音量pitch - 音调cycle - 是否循环播放fadeInTick - 淡入时间(tick)public static void stopSound(org.bukkit.entity.Player player,
java.lang.String soundName)
player - 目标玩家soundName - 要停止的声音名称public static void stopSound(org.bukkit.entity.Player player,
java.lang.String soundName,
int fadeOutTick)
player - 目标玩家soundName - 要停止的声音名称fadeOutTick - 淡出时间(tick)public static void stopAllSound(org.bukkit.entity.Player player)
player - 目标玩家@Deprecated
public static void stopAllSound(org.bukkit.entity.Player player,
java.lang.String soundName)
stopAllSound(Player) 方法player - 目标玩家soundName - 此参数已被忽略public static void sendPlateData(org.bukkit.entity.Player player,
int plateId,
int piece,
java.lang.String backgroundPath,
java.lang.String text,
java.lang.String iconPath)
player - 目标玩家plateId - 转盘ID,0是技能盘,1是表情盘piece - 转盘片段ID,中间最上面是0backgroundPath - 背景图片路径text - 显示文本iconPath - 图标路径,如果要改变转盘的背景就写上内容,否则传入空字符串public static void clearPlate(org.bukkit.entity.Player player,
int plateId,
int piece)
player - 目标玩家plateId - 转盘IDpiece - 转盘片段IDpublic static void sendNavigate(org.bukkit.entity.Player player,
java.lang.String effectName,
java.lang.String indexName,
double x,
double y,
double z)
player - 目标玩家effectName - 效果名称indexName - 索引名称x - X坐标y - Y坐标z - Z坐标public static void clearEffect(org.bukkit.entity.Player player)
player - 目标玩家public static void sendEffect(org.bukkit.entity.Player player,
java.lang.String effectName,
java.lang.String indexName,
double x,
double y,
double z)
player - 目标玩家effectName - 效果名称indexName - 索引名称x - X坐标y - Y坐标z - Z坐标@Deprecated
public static void sendEffectPlayerModelAnimation(org.bukkit.entity.Player player,
java.lang.String indexName,
AnimDataDTO animDataDTO)
sendEffectPlayModelAnimation(Player, String, AnimDataDTO) 方法player - 目标玩家indexName - 索引名称animDataDTO - 动画数据传输对象public static void sendEffectPlayModelAnimation(org.bukkit.entity.Player player,
java.lang.String indexName,
AnimDataDTO animDataDTO)
player - 目标玩家indexName - 索引名称animDataDTO - 动画数据传输对象public static void sendEffectStopModelAnimation(org.bukkit.entity.Player player,
java.lang.String indexName,
AnimDataDTO animDataDTO)
player - 目标玩家indexName - 索引名称animDataDTO - 动画数据传输对象public static void sendEffect(org.bukkit.entity.Player player,
java.lang.String effectName,
java.lang.String indexName,
double x,
double y,
double z,
double pitch,
double yaw,
double roll)
player - 目标玩家effectName - 效果名称indexName - 索引名称x - X坐标y - Y坐标z - Z坐标pitch - 俯仰角yaw - 偏航角roll - 翻滚角public static void sendEffectToEntity(@NotNull
@NotNull org.bukkit.entity.Player player,
@NotNull
@NotNull java.lang.String effectName,
@NotNull
@NotNull java.lang.String indexName,
@NotNull
@NotNull org.bukkit.entity.Entity entity)
player - 目标玩家effectName - 效果名称indexName - 索引名称entity - 目标实体public static void sendEffectToEntity(@NotNull
@NotNull org.bukkit.entity.Player player,
@NotNull
@NotNull java.lang.String effectName,
@NotNull
@NotNull java.lang.String indexName,
int entityId)
player - 目标玩家effectName - 效果名称indexName - 索引名称entityId - 实体IDpublic static void sendEffectToEntity(@NotNull
@NotNull org.bukkit.entity.Player player,
@NotNull
@NotNull java.lang.String effectName,
@NotNull
@NotNull java.lang.String indexName,
@NotNull
@NotNull org.bukkit.entity.Entity entity,
double pitch,
double yaw,
double roll)
要播放这个特效,前提是客户端存在这个effect源码。在GermPlugin/effect文件夹下的effect会被GermPlugin插件发送到客户端,
其他的需要自己发送 sendSrc(Player, RootType, String, YamlConfiguration)
player - 目标玩家effectName - 效果名称indexName - 索引名称,删除时用到的名字 removeEffect(Player, String)entity - 目标实体pitch - 俯仰角yaw - 偏航角roll - 翻滚角public static void sendEffectToEntity(@NotNull
@NotNull org.bukkit.entity.Player player,
@NotNull
@NotNull java.lang.String effectName,
@NotNull
@NotNull java.lang.String indexName,
int entityId,
double pitch,
double yaw,
double roll)
player - 目标玩家effectName - 效果名称indexName - 索引名称entityId - 实体IDpitch - 俯仰角yaw - 偏航角roll - 翻滚角public static void removeEffect(org.bukkit.entity.Player player,
java.lang.String indexName)
player - 目标玩家indexName - 索引名称public static void removeEffectStartsWith(org.bukkit.entity.Player player,
java.lang.String conditionName)
player - 目标玩家conditionName - 条件名称,如果对应的effect的indexName.startsWith(conditionName),就会被删除public static void removeEffect(org.bukkit.entity.Player player,
GermEffectType germEffectType)
player - 目标玩家germEffectType - 特效类型public static void setPlayerFocus(org.bukkit.entity.Player player,
boolean isFocus)
player - 目标玩家isFocus - 是否显示指针焦点public static void showDamage(org.bukkit.entity.Player player,
java.lang.String name,
java.lang.String damage,
double x,
double y,
double z)
player - 目标玩家name - 伤害名称/类型damage - 伤害数值x - X坐标y - Y坐标z - Z坐标public static void sendGuiDos(org.bukkit.entity.Player player,
java.lang.String dos)
player - 目标玩家dos - DOS命令字符串public static void sendGuiDos(org.bukkit.entity.Player player,
java.util.List<java.lang.String> dos)
player - 目标玩家dos - DOS命令列表public static void sendEffectDos(org.bukkit.entity.Player player,
java.lang.String parentGuiName,
java.lang.String dos)
player - 目标玩家parentGuiName - 父GUI名称dos - DOS命令字符串public static void sendEffectDos(org.bukkit.entity.Player player,
java.lang.String guiName,
java.util.List<java.lang.String> dos)
player - 目标玩家guiName - GUI名称dos - DOS命令列表public static void sendHudMessage(org.bukkit.entity.Player player,
HudMessageType messageType,
java.lang.String msg)
player - 目标玩家messageType - 消息类型,当该参数为anchor时,msg参数格式为"锚点名<->消息"msg - 消息内容,通常直接写信息内容即可,\n为换行@Deprecated
public static void sendHudMessage(org.bukkit.entity.Player player,
int type,
java.lang.String msg)
sendHudMessage(Player, HudMessageType, String) 方法player - 目标玩家type - 消息类型(数字形式)msg - 消息内容public static void sendHudDos(org.bukkit.entity.Player player,
java.lang.String dos)
player - 目标玩家dos - DOS命令字符串public static void sendHudDos(org.bukkit.entity.Player player,
java.util.List<java.lang.String> dos)
player - 目标玩家dos - DOS命令列表public static void sendKeyRegister(org.bukkit.entity.Player player,
int key)
player - 目标玩家key - 按键码public static void sendSlotItemStack(org.bukkit.entity.Player player,
java.lang.String slotIdentity,
org.bukkit.inventory.ItemStack slotItemStack)
player - 目标玩家slotIdentity - 槽位IDslotItemStack - 槽位物品public static void sendSkin(org.bukkit.entity.Player player,
java.lang.String descName,
SkinType skinType,
java.lang.String data)
player - 要通知的玩家descName - 目标玩家的名字skinType - 皮肤类型data - 皮肤信息,注意当skintype为armour时为时装的路径(带后缀),当skintype为bedrockitem时为整个配置实例public static void sendSkinTagAbove(org.bukkit.entity.Player player,
java.lang.String descName,
java.util.List<java.lang.String> data)
player - 目标玩家descName - 目标玩家名字data - 标签数据列表@Deprecated
public static void removeSkin(org.bukkit.entity.Player player,
java.lang.String descName,
SkinType skinType)
clearSkin(Player, String, SkinType) 方法player - 要通知的玩家descName - 目标名字,可以是NPC,或者以玩家为模型的怪物skinType - 皮肤类型public static void sendSkinHide(org.bukkit.entity.Player player,
java.lang.String descName,
SkinType skinType,
java.lang.String slotIdentity,
boolean hide)
player - 目标玩家descName - 目标玩家名字skinType - 皮肤类型slotIdentity - 槽位标识符hide - 是否隐藏public static void clearSkin(org.bukkit.entity.Player player,
java.lang.String descName,
SkinType skinType)
player - 要通知的玩家descName - 目标名字,可以是NPC,或者以玩家为模型的怪物skinType - 皮肤类型public static void removeSkin(org.bukkit.entity.Player player,
java.lang.String descName,
SkinType skinType,
java.lang.String identity)
player - 目标玩家descName - 目标玩家名字skinType - 皮肤类型identity - 槽位标识符public static void sendCacheTask(org.bukkit.entity.Player player,
java.lang.String url)
player - 目标玩家url - 要缓存的链接public static void sendCacheTask(org.bukkit.entity.Player player,
java.util.List<java.lang.String> urls)
player - 目标玩家urls - 连接列表public static void sendCacheFile(org.bukkit.entity.Player player,
java.lang.String file,
byte[] bytes)
player - 目标玩家file - 文件名bytes - 文件字节数据public static void sendPlaceholder(org.bukkit.entity.Player player,
java.lang.String variable,
java.lang.String vault)
player - 目标玩家variable - 变量名vault - 变量值public static void sendPlaceholder(org.bukkit.entity.Player player,
java.lang.String variable,
java.lang.String vault,
boolean autoExpire)
player - 目标玩家variable - 变量名vault - 变量值autoExpire - 是否自动过期,在300秒没有使用后就会删除变量以免占用内存@Deprecated
public static void sendPlaceholder(org.bukkit.entity.Player player,
java.lang.String variable,
java.util.ArrayList<java.lang.String> list)
sendPlaceholder(Player, String, List) 方法player - 目标玩家variable - 变量名list - 字符串列表public static void sendPlaceholder(org.bukkit.entity.Player player,
java.lang.String variable,
java.util.List<java.lang.String> list)
player - 目标玩家variable - 变量名list - 字符串列表public static void sendPlaceholder(org.bukkit.entity.Player player,
java.lang.String variable,
java.util.List<java.lang.String> list,
boolean autoExpire)
player - 目标玩家variable - 变量名list - 字符串列表autoExpire - 是否自动过期public static void removePlaceholder(org.bukkit.entity.Player player,
java.lang.String variable)
player - 目标玩家variable - 变量名public static void clearPlaceholder(org.bukkit.entity.Player player)
player - 目标玩家public static void removePlaceholderIfContain(org.bukkit.entity.Player player,
java.lang.String variable)
player - 目标玩家variable - 变量名,所有包含此名称的变量都会被删除public static void setBatching()
在此模式下,所有的数据包将被收集到批次中,而不是立即发送
public static void sendBatch(org.bukkit.entity.Player player)
将之前收集的所有数据包一次性发送给玩家
player - 目标玩家public static void send(org.bukkit.entity.Player p,
IPacket packet)
这是核心的数据包发送方法,会自动处理大数据包的分片发送
p - 目标玩家packet - 要发送的数据包public static void sendPacket(org.bukkit.entity.Player player,
java.lang.String channel,
io.netty.buffer.ByteBuf byteBuf)
player - 目标玩家channel - 通道名称byteBuf - 字节缓冲区