1.19: fix global position reading, GH-6

This commit is contained in:
Bixilon 2022-07-13 23:56:58 +02:00
parent f32ae22f16
commit 6ac6c8b362
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -19,11 +19,17 @@ import de.bixilon.minosoft.data.entities.GlobalPosition
import de.bixilon.minosoft.gui.rendering.util.vec.vec3.Vec3iUtil.toVec3i
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
import de.bixilon.minosoft.protocol.protocol.PlayInByteBuffer
import de.bixilon.minosoft.protocol.protocol.ProtocolVersions
object GlobalPositionEntityDataType : EntityDataType<GlobalPosition> {
override fun read(buffer: PlayInByteBuffer): GlobalPosition? {
return buffer.readNBT()?.toJsonObject()?.toGlobalPosition(buffer.connection)
if (buffer.versionId < ProtocolVersions.V_1_19_PRE2) { // ToDo: find out version
return buffer.readNBT()?.toJsonObject()?.toGlobalPosition(buffer.connection)
}
val dimension = buffer.connection.registries.dimensionRegistry[buffer.readResourceLocation()]
val position = buffer.readBlockPosition()
return GlobalPosition(dimension, position)
}