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
- 镜头移动类型 CameraType
transitionTime
- 在多久内从当前位置过渡到目标位置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
- 字节缓冲区