mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-17 19:35:00 -04:00
sound: generic method for reading sound pitch
Thanks @turtius for the confusing name of `SOUND_PITCH_DIVIDER`
This commit is contained in:
parent
2f0b27836b
commit
c8c316880c
@ -20,7 +20,6 @@ import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.factory.LoadPacket
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolVersions
|
||||
import de.bixilon.minosoft.util.logging.Log
|
||||
import de.bixilon.minosoft.util.logging.LogLevels
|
||||
@ -56,11 +55,7 @@ class NamedSoundS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket {
|
||||
position = Vec3(buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4)
|
||||
}
|
||||
volume = buffer.readFloat()
|
||||
pitch = if (buffer.versionId < ProtocolVersions.V_16W20A) {
|
||||
buffer.readByte() * ProtocolDefinition.PITCH_CALCULATION_CONSTANT / 100.0f
|
||||
} else {
|
||||
buffer.readFloat()
|
||||
}
|
||||
pitch = buffer.readSoundPitch()
|
||||
|
||||
if (buffer.versionId >= ProtocolVersions.V_22W14A) {
|
||||
magicRandom = buffer.readLong()
|
||||
|
@ -20,7 +20,6 @@ import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
||||
import de.bixilon.minosoft.protocol.packets.factory.LoadPacket
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolVersions
|
||||
import de.bixilon.minosoft.util.logging.Log
|
||||
import de.bixilon.minosoft.util.logging.LogLevels
|
||||
@ -64,11 +63,7 @@ class SoundEventS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket {
|
||||
}
|
||||
position = Vec3i(buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4)
|
||||
volume = buffer.readFloat()
|
||||
pitch = if (buffer.versionId < ProtocolVersions.V_16W20A) {
|
||||
buffer.readByte() * ProtocolDefinition.PITCH_CALCULATION_CONSTANT / 100.0f
|
||||
} else {
|
||||
buffer.readFloat()
|
||||
}
|
||||
pitch = buffer.readSoundPitch()
|
||||
|
||||
if (buffer.versionId >= ProtocolVersions.V_22W14A) {
|
||||
seed = buffer.readLong()
|
||||
|
@ -397,4 +397,12 @@ class PlayInByteBuffer : InByteBuffer {
|
||||
parameters[ChatParameter.SENDER] = readChatComponent()
|
||||
readOptional { readChatComponent() }?.let { parameters[ChatParameter.TARGET] = it }
|
||||
}
|
||||
|
||||
fun readSoundPitch(): Float {
|
||||
return if (versionId < ProtocolVersions.V_16W20A) {
|
||||
readByte() * ProtocolDefinition.SOUND_PITCH_DIVIDER / 100.0f
|
||||
} else {
|
||||
readFloat()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user