InByteBuffer: uniformed position delta reading

This commit is contained in:
Bixilon 2022-12-19 18:35:10 +01:00
parent a1363c816a
commit 2aa261acae
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
3 changed files with 9 additions and 10 deletions

View File

@ -25,11 +25,7 @@ import de.bixilon.minosoft.util.logging.LogMessageType
@LoadPacket(threadSafe = false)
class MovementRotationS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket {
val entityId: Int = buffer.readEntityId()
var delta: Vec3d = if (buffer.versionId < ProtocolVersions.V_16W06A) {
Vec3d(buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte())
} else {
Vec3d(buffer.readShort() / 4096f, buffer.readShort() / 4096f, buffer.readShort() / 4096f) // / 128 / 32
}
var delta: Vec3d = buffer.readPositionDelta()
val yaw: Int = buffer.readAngle()
val pitch: Int = buffer.readAngle()
val onGround = if (buffer.versionId >= ProtocolVersions.V_14W25B) {

View File

@ -25,11 +25,7 @@ import de.bixilon.minosoft.util.logging.LogMessageType
@LoadPacket(threadSafe = false)
class RelativeMoveS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket {
val entityId: Int = buffer.readEntityId()
val delta: Vec3d = if (buffer.versionId < ProtocolVersions.V_16W06A) {
Vec3d(buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte())
} else {
Vec3d(buffer.readShort() / 4096f, buffer.readShort() / 4096f, buffer.readShort() / 4096f) // / 128 / 32
}
val delta: Vec3d = buffer.readPositionDelta()
val onGround = if (buffer.versionId >= ProtocolVersions.V_14W25B) {
buffer.readBoolean()
} else {

View File

@ -413,4 +413,11 @@ class PlayInByteBuffer : InByteBuffer {
}
return super.readVec3d()
}
fun readPositionDelta(): Vec3d {
if (versionId < ProtocolVersions.V_16W06A) {
return Vec3d(readFixedPointNumberByte(), readFixedPointNumberByte(), readFixedPointNumberByte())
}
return Vec3d(readShort() / 4096.0, readShort() / 4096.0, readShort() / 4096.0) // / 128 / 32
}
}