pack
inline fun SynchedEntityData.pack(clean: Boolean = false, itemFilter: (SynchedEntityData.DataItem<*>) -> Boolean = { true }, crossinline valueFilter: (SynchedEntityData.DataValue<*>) -> Boolean = { true }, crossinline required: (List<Pair<SynchedEntityData.DataItem<*>, SynchedEntityData.DataValue<*>>>) -> Boolean = { it.isNotEmpty() }): List<SynchedEntityData.DataValue<*>>?