mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-19 12:25:12 -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.factory.LoadPacket
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||||
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
|
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.protocol.protocol.ProtocolVersions
|
||||||
import de.bixilon.minosoft.util.logging.Log
|
import de.bixilon.minosoft.util.logging.Log
|
||||||
import de.bixilon.minosoft.util.logging.LogLevels
|
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)
|
position = Vec3(buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4)
|
||||||
}
|
}
|
||||||
volume = buffer.readFloat()
|
volume = buffer.readFloat()
|
||||||
pitch = if (buffer.versionId < ProtocolVersions.V_16W20A) {
|
pitch = buffer.readSoundPitch()
|
||||||
buffer.readByte() * ProtocolDefinition.PITCH_CALCULATION_CONSTANT / 100.0f
|
|
||||||
} else {
|
|
||||||
buffer.readFloat()
|
|
||||||
}
|
|
||||||
|
|
||||||
if (buffer.versionId >= ProtocolVersions.V_22W14A) {
|
if (buffer.versionId >= ProtocolVersions.V_22W14A) {
|
||||||
magicRandom = buffer.readLong()
|
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.factory.LoadPacket
|
||||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||||
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
|
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.protocol.protocol.ProtocolVersions
|
||||||
import de.bixilon.minosoft.util.logging.Log
|
import de.bixilon.minosoft.util.logging.Log
|
||||||
import de.bixilon.minosoft.util.logging.LogLevels
|
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)
|
position = Vec3i(buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4)
|
||||||
volume = buffer.readFloat()
|
volume = buffer.readFloat()
|
||||||
pitch = if (buffer.versionId < ProtocolVersions.V_16W20A) {
|
pitch = buffer.readSoundPitch()
|
||||||
buffer.readByte() * ProtocolDefinition.PITCH_CALCULATION_CONSTANT / 100.0f
|
|
||||||
} else {
|
|
||||||
buffer.readFloat()
|
|
||||||
}
|
|
||||||
|
|
||||||
if (buffer.versionId >= ProtocolVersions.V_22W14A) {
|
if (buffer.versionId >= ProtocolVersions.V_22W14A) {
|
||||||
seed = buffer.readLong()
|
seed = buffer.readLong()
|
||||||
|
@ -397,4 +397,12 @@ class PlayInByteBuffer : InByteBuffer {
|
|||||||
parameters[ChatParameter.SENDER] = readChatComponent()
|
parameters[ChatParameter.SENDER] = readChatComponent()
|
||||||
readOptional { readChatComponent() }?.let { parameters[ChatParameter.TARGET] = it }
|
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