Packet Teleport
基本信息
| 属性 | 值 |
|---|---|
| 类 | com.chaosthedude.naturescompass.network.PacketTeleport |
| 通道 | naturescompass (discriminator 2) |
| 方向 | CLIENT → SERVER |
行为
GUI 点击 Teleport 按钮时由客户端发出。服务端 handler:
- 校验玩家手持
naturescompass:NaturesCompass且PlayerUtils.canTeleport(player)(OP 或单机作弊模式开启)。 - 仅在 compass 状态为
EnumCompassState.FOUND时执行:- 读取 NBT
FoundX/FoundZ。 - 若目标区块未加载,先
loadChunk(x>>4, z>>4)。 - 从
y = 256向下找第一个非空气方块的上表面y。 - 若
y >= 0,player.setPositionAndUpdate(x, y, z)(同时mountEntity(null)卸下坐骑)。
- 读取 NBT
- 若无权限:
NaturesCompass.logger.warn(...)警告玩家越权。
数值
| 数值 | 默认值 |
|---|---|
| 起始扫描 Y | 256 |
| 终止 Y | 0 |
限制
- 仅水平方向传送,Y 由地形扫描决定(不下穿基岩)。
- 不保护玩家免受摔落伤害(直接
setPosition)。 - 玩家在
INACTIVE/SEARCHING/NOT_FOUND状态下均拒绝传送。
相关条目
- PlayerUtils - 权限校验
- EnumCompassState - 状态门控
- PacketCompassSearch