From c6cdc6c3a295b404441e54e0f65cd67bb120ef9c Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sun, 29 Jan 2023 23:02:15 +0700 Subject: [PATCH] Stop eating exceptions --- .../dbotthepony/mc/otm/network/WorldNetworkChannel.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/network/WorldNetworkChannel.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/network/WorldNetworkChannel.kt index 6eac71721..f9d56b474 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/network/WorldNetworkChannel.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/network/WorldNetworkChannel.kt @@ -5,6 +5,7 @@ import net.minecraft.core.BlockPos import net.minecraft.network.FriendlyByteBuf import net.minecraftforge.network.NetworkDirection import net.minecraftforge.network.NetworkEvent +import org.apache.logging.log4j.LogManager import ru.dbotthepony.mc.otm.android.feature.ItemEntityDataPacket import ru.dbotthepony.mc.otm.block.entity.SynchronizedBlockEntity import ru.dbotthepony.mc.otm.client.minecraft @@ -22,7 +23,13 @@ class BlockEntitySyncPacket(val position: BlockPos, val buffer: ByteArray, val v context.enqueueWork { val level = minecraft.player?.level ?: return@enqueueWork val blockEntity = level.getBlockEntity(position) as? SynchronizedBlockEntity ?: return@enqueueWork - blockEntity.synchronizer.applyNetworkPayload(FastByteArrayInputStream(buffer, 0, validBytes)) + + try { + blockEntity.synchronizer.applyNetworkPayload(FastByteArrayInputStream(buffer, 0, validBytes)) + } catch(err: Throwable) { + LOGGER.error("Exception while reading synchronized BlockEntity data!\nPosition: $position\nBlock: ${level.getBlockState(position)}\nBlock entity: $blockEntity", err) + throw err + } } } @@ -34,6 +41,8 @@ class BlockEntitySyncPacket(val position: BlockPos, val buffer: ByteArray, val v buff.readBytes(array) return BlockEntitySyncPacket(position, array, size) } + + private val LOGGER = LogManager.getLogger() } }