fix block action reading in pre flattening

This commit is contained in:
Moritz Zwerger 2023-10-08 17:29:31 +02:00
parent e4f54aa5e4
commit 3b44fa17c8
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -17,6 +17,7 @@ import de.bixilon.minosoft.data.entities.block.BlockActionEntity
import de.bixilon.minosoft.data.registries.blocks.types.Block import de.bixilon.minosoft.data.registries.blocks.types.Block
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition.FLATTENING_VERSION
import de.bixilon.minosoft.protocol.protocol.ProtocolVersions import de.bixilon.minosoft.protocol.protocol.ProtocolVersions
import de.bixilon.minosoft.protocol.protocol.buffers.play.PlayInByteBuffer import de.bixilon.minosoft.protocol.protocol.buffers.play.PlayInByteBuffer
import de.bixilon.minosoft.util.logging.Log import de.bixilon.minosoft.util.logging.Log
@ -31,7 +32,7 @@ class BlockActionS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket {
} }
val data1: Byte = buffer.readByte() val data1: Byte = buffer.readByte()
val data2: Byte = buffer.readByte() val data2: Byte = buffer.readByte()
val block: Block = buffer.readRegistryItem(buffer.connection.registries.block) val block: Block = if (buffer.versionId < FLATTENING_VERSION) buffer.readRegistryItem(buffer.connection.registries.blockState)!!.block else buffer.readRegistryItem(buffer.connection.registries.block)
override fun handle(connection: PlayConnection) { override fun handle(connection: PlayConnection) {
val blockEntity = connection.world.getOrPutBlockEntity(position) ?: return val blockEntity = connection.world.getOrPutBlockEntity(position) ?: return