Stop eating exceptions
This commit is contained in:
parent
e6018bd9d7
commit
c6cdc6c3a2
@ -5,6 +5,7 @@ import net.minecraft.core.BlockPos
|
|||||||
import net.minecraft.network.FriendlyByteBuf
|
import net.minecraft.network.FriendlyByteBuf
|
||||||
import net.minecraftforge.network.NetworkDirection
|
import net.minecraftforge.network.NetworkDirection
|
||||||
import net.minecraftforge.network.NetworkEvent
|
import net.minecraftforge.network.NetworkEvent
|
||||||
|
import org.apache.logging.log4j.LogManager
|
||||||
import ru.dbotthepony.mc.otm.android.feature.ItemEntityDataPacket
|
import ru.dbotthepony.mc.otm.android.feature.ItemEntityDataPacket
|
||||||
import ru.dbotthepony.mc.otm.block.entity.SynchronizedBlockEntity
|
import ru.dbotthepony.mc.otm.block.entity.SynchronizedBlockEntity
|
||||||
import ru.dbotthepony.mc.otm.client.minecraft
|
import ru.dbotthepony.mc.otm.client.minecraft
|
||||||
@ -22,7 +23,13 @@ class BlockEntitySyncPacket(val position: BlockPos, val buffer: ByteArray, val v
|
|||||||
context.enqueueWork {
|
context.enqueueWork {
|
||||||
val level = minecraft.player?.level ?: return@enqueueWork
|
val level = minecraft.player?.level ?: return@enqueueWork
|
||||||
val blockEntity = level.getBlockEntity(position) as? SynchronizedBlockEntity ?: 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)
|
buff.readBytes(array)
|
||||||
return BlockEntitySyncPacket(position, array, size)
|
return BlockEntitySyncPacket(position, array, size)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private val LOGGER = LogManager.getLogger()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user